<html><head></head><body>{"version":3,"file":"Diagram.SiteNavigation.8f72a57d.js","sources":["../../node_modules/smartmenus/dist/jquery.smartmenus.js","../src/current/js/modules/Diagram.ScrollLock.js","../src/current/js/modules/Diagram.SiteNavigation.js"],"sourcesContent":["/*!\n * SmartMenus jQuery Plugin - v1.2.1 - November 3, 2022\n * http://www.smartmenus.org/\n *\n * Copyright Vasil Dinkov, Vadikom Web Ltd.\n * http://vadikom.com\n *\n * Licensed MIT\n */\n\n(function(factory) {\n\tif (typeof define === 'function' &amp;&amp; define.amd) {\n\t\t// AMD\n\t\tdefine(['jquery'], factory);\n\t} else if (typeof module === 'object' &amp;&amp; typeof module.exports === 'object') {\n\t\t// CommonJS\n\t\tmodule.exports = factory(require('jquery'));\n\t} else {\n\t\t// Global jQuery\n\t\tfactory(jQuery);\n\t}\n} (function($) {\n\n\tvar menuTrees = [],\n\t\tmouse = false, // optimize for touch by default - we will detect for mouse input\n\t\ttouchEvents = 'ontouchstart' in window, // we use this just to choose between toucn and pointer events, not for touch screen detection\n\t\tmouseDetectionEnabled = false,\n\t\trequestAnimationFrame = window.requestAnimationFrame || function(callback) { return setTimeout(callback, 1000 / 60); },\n\t\tcancelAnimationFrame = window.cancelAnimationFrame || function(id) { clearTimeout(id); },\n\t\tcanAnimate = !!$.fn.animate;\n\n\t// Handle detection for mouse input (i.e. desktop browsers, tablets with a mouse, etc.)\n\tfunction initMouseDetection(disable) {\n\t\tvar eNS = '.smartmenus_mouse';\n\t\tif (!mouseDetectionEnabled &amp;&amp; !disable) {\n\t\t\t// if we get two consecutive mousemoves within 2 pixels from each other and within 300ms, we assume a real mouse/cursor is present\n\t\t\t// in practice, this seems like impossible to trick unintentianally with a real mouse and a pretty safe detection on touch devices (even with older browsers that do not support touch events)\n\t\t\tvar firstTime = true,\n\t\t\t\tlastMove = null,\n\t\t\t\tevents = {\n\t\t\t\t\t'mousemove': function(e) {\n\t\t\t\t\t\tvar thisMove = { x: e.pageX, y: e.pageY, timeStamp: new Date().getTime() };\n\t\t\t\t\t\tif (lastMove) {\n\t\t\t\t\t\t\tvar deltaX = Math.abs(lastMove.x - thisMove.x),\n\t\t\t\t\t\t\t\tdeltaY = Math.abs(lastMove.y - thisMove.y);\n\t\t \t\t\t\t\tif ((deltaX &gt; 0 || deltaY &gt; 0) &amp;&amp; deltaX &lt;= 4 &amp;&amp; deltaY &lt;= 4 &amp;&amp; thisMove.timeStamp - lastMove.timeStamp &lt;= 300) {\n\t\t\t\t\t\t\t\tmouse = true;\n\t\t\t\t\t\t\t\t// if this is the first check after page load, check if we are not over some item by chance and call the mouseenter handler if yes\n\t\t\t\t\t\t\t\tif (firstTime) {\n\t\t\t\t\t\t\t\t\tvar $a = $(e.target).closest('a');\n\t\t\t\t\t\t\t\t\tif ($a.is('a')) {\n\t\t\t\t\t\t\t\t\t\t$.each(menuTrees, function() {\n\t\t\t\t\t\t\t\t\t\t\tif ($.contains(this.$root[0], $a[0])) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.itemEnter({ currentTarget: $a[0] });\n\t\t\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t\t\t}\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\tfirstTime = false;\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\tlastMove = thisMove;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\tevents[touchEvents ? 'touchstart' : 'pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut'] = function(e) {\n\t\t\t\tif (isTouchEvent(e.originalEvent)) {\n\t\t\t\t\tmouse = false;\n\t\t\t\t}\n\t\t\t};\n\t\t\t$(document).on(getEventsNS(events, eNS));\n\t\t\tmouseDetectionEnabled = true;\n\t\t} else if (mouseDetectionEnabled &amp;&amp; disable) {\n\t\t\t$(document).off(eNS);\n\t\t\tmouseDetectionEnabled = false;\n\t\t}\n\t}\n\n\tfunction isTouchEvent(e) {\n\t\treturn !/^(4|mouse)$/.test(e.pointerType);\n\t}\n\n\t// returns a jQuery on() ready object\n\tfunction getEventsNS(events, eNS) {\n\t\tif (!eNS) {\n\t\t\teNS = '';\n\t\t}\n\t\tvar eventsNS = {};\n\t\tfor (var i in events) {\n\t\t\teventsNS[i.split(' ').join(eNS + ' ') + eNS] = events[i];\n\t\t}\n\t\treturn eventsNS;\n\t}\n\n\t$.SmartMenus = function(elm, options) {\n\t\tthis.$root = $(elm);\n\t\tthis.opts = options;\n\t\tthis.rootId = ''; // internal\n\t\tthis.accessIdPrefix = '';\n\t\tthis.$subArrow = null;\n\t\tthis.activatedItems = []; // stores last activated A's for each level\n\t\tthis.visibleSubMenus = []; // stores visible sub menus UL's (might be in no particular order)\n\t\tthis.showTimeout = 0;\n\t\tthis.hideTimeout = 0;\n\t\tthis.scrollTimeout = 0;\n\t\tthis.clickActivated = false;\n\t\tthis.focusActivated = false;\n\t\tthis.zIndexInc = 0;\n\t\tthis.idInc = 0;\n\t\tthis.$firstLink = null; // we'll use these for some tests\n\t\tthis.$firstSub = null; // at runtime so we'll cache them\n\t\tthis.disabled = false;\n\t\tthis.$disableOverlay = null;\n\t\tthis.$touchScrollingSub = null;\n\t\tthis.cssTransforms3d = 'perspective' in elm.style || 'webkitPerspective' in elm.style;\n\t\tthis.wasCollapsible = false;\n\t\tthis.init();\n\t};\n\n\t$.extend($.SmartMenus, {\n\t\thideAll: function() {\n\t\t\t$.each(menuTrees, function() {\n\t\t\t\tthis.menuHideAll();\n\t\t\t});\n\t\t},\n\t\tdestroy: function() {\n\t\t\twhile (menuTrees.length) {\n\t\t\t\tmenuTrees[0].destroy();\n\t\t\t}\n\t\t\tinitMouseDetection(true);\n\t\t},\n\t\tprototype: {\n\t\t\tinit: function(refresh) {\n\t\t\t\tvar self = this;\n\n\t\t\t\tif (!refresh) {\n\t\t\t\t\tmenuTrees.push(this);\n\n\t\t\t\t\tthis.rootId = (new Date().getTime() + Math.random() + '').replace(/\\D/g, '');\n\t\t\t\t\tthis.accessIdPrefix = 'sm-' + this.rootId + '-';\n\n\t\t\t\t\tif (this.$root.hasClass('sm-rtl')) {\n\t\t\t\t\t\tthis.opts.rightToLeftSubMenus = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t// init root (main menu)\n\t\t\t\t\tvar eNS = '.smartmenus';\n\t\t\t\t\tthis.$root\n\t\t\t\t\t\t.data('smartmenus', this)\n\t\t\t\t\t\t.attr('data-smartmenus-id', this.rootId)\n\t\t\t\t\t\t.dataSM('level', 1)\n\t\t\t\t\t\t.on(getEventsNS({\n\t\t\t\t\t\t\t'mouseover focusin': $.proxy(this.rootOver, this),\n\t\t\t\t\t\t\t'mouseout focusout': $.proxy(this.rootOut, this),\n\t\t\t\t\t\t\t'keydown': $.proxy(this.rootKeyDown, this)\n\t\t\t\t\t\t}, eNS))\n\t\t\t\t\t\t.on(getEventsNS({\n\t\t\t\t\t\t\t'mouseenter': $.proxy(this.itemEnter, this),\n\t\t\t\t\t\t\t'mouseleave': $.proxy(this.itemLeave, this),\n\t\t\t\t\t\t\t'mousedown': $.proxy(this.itemDown, this),\n\t\t\t\t\t\t\t'focus': $.proxy(this.itemFocus, this),\n\t\t\t\t\t\t\t'blur': $.proxy(this.itemBlur, this),\n\t\t\t\t\t\t\t'click': $.proxy(this.itemClick, this)\n\t\t\t\t\t\t}, eNS), 'a');\n\n\t\t\t\t\t// hide menus on tap or click outside the root UL\n\t\t\t\t\teNS += this.rootId;\n\t\t\t\t\tif (this.opts.hideOnClick) {\n\t\t\t\t\t\t$(document).on(getEventsNS({\n\t\t\t\t\t\t\t'touchstart': $.proxy(this.docTouchStart, this),\n\t\t\t\t\t\t\t'touchmove': $.proxy(this.docTouchMove, this),\n\t\t\t\t\t\t\t'touchend': $.proxy(this.docTouchEnd, this),\n\t\t\t\t\t\t\t// for Opera Mobile &lt; 11.5, webOS browser, etc. we'll check click too\n\t\t\t\t\t\t\t'click': $.proxy(this.docClick, this)\n\t\t\t\t\t\t}, eNS));\n\t\t\t\t\t}\n\t\t\t\t\t// hide sub menus on resize\n\t\t\t\t\t$(window).on(getEventsNS({ 'resize orientationchange': $.proxy(this.winResize, this) }, eNS));\n\n\t\t\t\t\tif (this.opts.subIndicators) {\n\t\t\t\t\t\tthis.$subArrow = $('<span>').addClass('sub-arrow');\n\t\t\t\t\t\tif (this.opts.subIndicatorsText) {\n\t\t\t\t\t\t\tthis.$subArrow.html(this.opts.subIndicatorsText);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// make sure mouse detection is enabled\n\t\t\t\t\tinitMouseDetection();\n\t\t\t\t}\n\n\t\t\t\t// init sub menus\n\t\t\t\tthis.$firstSub = this.$root.find('ul').each(function() { self.menuInit($(this)); }).eq(0);\n\n\t\t\t\tthis.$firstLink = this.$root.find('a').eq(0);\n\n\t\t\t\t// find current item\n\t\t\t\tif (this.opts.markCurrentItem) {\n\t\t\t\t\tvar reDefaultDoc = /(index|default)\\.[^#\\?\\/]*/i,\n\t\t\t\t\t\treHash = /#.*/,\n\t\t\t\t\t\tlocHref = window.location.href.replace(reDefaultDoc, ''),\n\t\t\t\t\t\tlocHrefNoHash = locHref.replace(reHash, '');\n\t\t\t\t\tthis.$root.find('a:not(.mega-menu a)').each(function() {\n\t\t\t\t\t\tvar href = this.href.replace(reDefaultDoc, ''),\n\t\t\t\t\t\t\t$this = $(this);\n\t\t\t\t\t\tif (href == locHref || href == locHrefNoHash) {\n\t\t\t\t\t\t\t$this.addClass('current');\n\t\t\t\t\t\t\tif (self.opts.markCurrentTree) {\n\t\t\t\t\t\t\t\t$this.parentsUntil('[data-smartmenus-id]', 'ul').each(function() {\n\t\t\t\t\t\t\t\t\t$(this).dataSM('parent-a').addClass('current');\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// save initial state\n\t\t\t\tthis.wasCollapsible = this.isCollapsible();\n\t\t\t},\n\t\t\tdestroy: function(refresh) {\n\t\t\t\tif (!refresh) {\n\t\t\t\t\tvar eNS = '.smartmenus';\n\t\t\t\t\tthis.$root\n\t\t\t\t\t\t.removeData('smartmenus')\n\t\t\t\t\t\t.removeAttr('data-smartmenus-id')\n\t\t\t\t\t\t.removeDataSM('level')\n\t\t\t\t\t\t.off(eNS);\n\t\t\t\t\teNS += this.rootId;\n\t\t\t\t\t$(document).off(eNS);\n\t\t\t\t\t$(window).off(eNS);\n\t\t\t\t\tif (this.opts.subIndicators) {\n\t\t\t\t\t\tthis.$subArrow = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.menuHideAll();\n\t\t\t\tvar self = this;\n\t\t\t\tthis.$root.find('ul').each(function() {\n\t\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\t\tif ($this.dataSM('scroll-arrows')) {\n\t\t\t\t\t\t\t$this.dataSM('scroll-arrows').remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ($this.dataSM('shown-before')) {\n\t\t\t\t\t\t\tif (self.opts.subMenusMinWidth || self.opts.subMenusMaxWidth) {\n\t\t\t\t\t\t\t\t$this.css({ width: '', minWidth: '', maxWidth: '' }).removeClass('sm-nowrap');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ($this.dataSM('scroll-arrows')) {\n\t\t\t\t\t\t\t\t$this.dataSM('scroll-arrows').remove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$this.css({ zIndex: '', top: '', left: '', marginLeft: '', marginTop: '', display: '' });\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (($this.attr('id') || '').indexOf(self.accessIdPrefix) == 0) {\n\t\t\t\t\t\t\t$this.removeAttr('id');\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.removeDataSM('in-mega')\n\t\t\t\t\t.removeDataSM('shown-before')\n\t\t\t\t\t.removeDataSM('scroll-arrows')\n\t\t\t\t\t.removeDataSM('parent-a')\n\t\t\t\t\t.removeDataSM('level')\n\t\t\t\t\t.removeDataSM('beforefirstshowfired')\n\t\t\t\t\t.removeAttr('role')\n\t\t\t\t\t.removeAttr('aria-hidden')\n\t\t\t\t\t.removeAttr('aria-labelledby')\n\t\t\t\t\t.removeAttr('aria-expanded');\n\t\t\t\tthis.$root.find('a.has-submenu').each(function() {\n\t\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\t\tif ($this.attr('id').indexOf(self.accessIdPrefix) == 0) {\n\t\t\t\t\t\t\t$this.removeAttr('id');\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.removeClass('has-submenu')\n\t\t\t\t\t.removeDataSM('sub')\n\t\t\t\t\t.removeAttr('aria-haspopup')\n\t\t\t\t\t.removeAttr('aria-controls')\n\t\t\t\t\t.removeAttr('aria-expanded')\n\t\t\t\t\t.closest('li').removeDataSM('sub');\n\t\t\t\tif (this.opts.subIndicators) {\n\t\t\t\t\tthis.$root.find('span.sub-arrow').remove();\n\t\t\t\t}\n\t\t\t\tif (this.opts.markCurrentItem) {\n\t\t\t\t\tthis.$root.find('a.current').removeClass('current');\n\t\t\t\t}\n\t\t\t\tif (!refresh) {\n\t\t\t\t\tthis.$root = null;\n\t\t\t\t\tthis.$firstLink = null;\n\t\t\t\t\tthis.$firstSub = null;\n\t\t\t\t\tif (this.$disableOverlay) {\n\t\t\t\t\t\tthis.$disableOverlay.remove();\n\t\t\t\t\t\tthis.$disableOverlay = null;\n\t\t\t\t\t}\n\t\t\t\t\tmenuTrees.splice($.inArray(this, menuTrees), 1);\n\t\t\t\t}\n\t\t\t},\n\t\t\tdisable: function(noOverlay) {\n\t\t\t\tif (!this.disabled) {\n\t\t\t\t\tthis.menuHideAll();\n\t\t\t\t\t// display overlay over the menu to prevent interaction\n\t\t\t\t\tif (!noOverlay &amp;&amp; !this.opts.isPopup &amp;&amp; this.$root.is(':visible')) {\n\t\t\t\t\t\tvar pos = this.$root.offset();\n\t\t\t\t\t\tthis.$disableOverlay = $('<div class='\"sm-jquery-disable-overlay\"/'>').css({\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\ttop: pos.top,\n\t\t\t\t\t\t\tleft: pos.left,\n\t\t\t\t\t\t\twidth: this.$root.outerWidth(),\n\t\t\t\t\t\t\theight: this.$root.outerHeight(),\n\t\t\t\t\t\t\tzIndex: this.getStartZIndex(true),\n\t\t\t\t\t\t\topacity: 0\n\t\t\t\t\t\t}).appendTo(document.body);\n\t\t\t\t\t}\n\t\t\t\t\tthis.disabled = true;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdocClick: function(e) {\n\t\t\t\tif (this.$touchScrollingSub) {\n\t\t\t\t\tthis.$touchScrollingSub = null;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// hide on any click outside the menu or on a menu link\n\t\t\t\tif (this.visibleSubMenus.length &amp;&amp; !$.contains(this.$root[0], e.target) || $(e.target).closest('a').length) {\n\t\t\t\t\tthis.menuHideAll();\n\t\t\t\t}\n\t\t\t},\n\t\t\tdocTouchEnd: function(e) {\n\t\t\t\tif (!this.lastTouch) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (this.visibleSubMenus.length &amp;&amp; (this.lastTouch.x2 === undefined || this.lastTouch.x1 == this.lastTouch.x2) &amp;&amp; (this.lastTouch.y2 === undefined || this.lastTouch.y1 == this.lastTouch.y2) &amp;&amp; (!this.lastTouch.target || !$.contains(this.$root[0], this.lastTouch.target))) {\n\t\t\t\t\tif (this.hideTimeout) {\n\t\t\t\t\t\tclearTimeout(this.hideTimeout);\n\t\t\t\t\t\tthis.hideTimeout = 0;\n\t\t\t\t\t}\n\t\t\t\t\t// hide with a delay to prevent triggering accidental unwanted click on some page element\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tthis.hideTimeout = setTimeout(function() { self.menuHideAll(); }, 350);\n\t\t\t\t}\n\t\t\t\tthis.lastTouch = null;\n\t\t\t},\n\t\t\tdocTouchMove: function(e) {\n\t\t\t\tif (!this.lastTouch) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar touchPoint = e.originalEvent.touches[0];\n\t\t\t\tthis.lastTouch.x2 = touchPoint.pageX;\n\t\t\t\tthis.lastTouch.y2 = touchPoint.pageY;\n\t\t\t},\n\t\t\tdocTouchStart: function(e) {\n\t\t\t\tvar touchPoint = e.originalEvent.touches[0];\n\t\t\t\tthis.lastTouch = { x1: touchPoint.pageX, y1: touchPoint.pageY, target: touchPoint.target };\n\t\t\t},\n\t\t\tenable: function() {\n\t\t\t\tif (this.disabled) {\n\t\t\t\t\tif (this.$disableOverlay) {\n\t\t\t\t\t\tthis.$disableOverlay.remove();\n\t\t\t\t\t\tthis.$disableOverlay = null;\n\t\t\t\t\t}\n\t\t\t\t\tthis.disabled = false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetClosestMenu: function(elm) {\n\t\t\t\tvar $closestMenu = $(elm).closest('ul');\n\t\t\t\twhile ($closestMenu.dataSM('in-mega')) {\n\t\t\t\t\t$closestMenu = $closestMenu.parent().closest('ul');\n\t\t\t\t}\n\t\t\t\treturn $closestMenu[0] || null;\n\t\t\t},\n\t\t\tgetHeight: function($elm) {\n\t\t\t\treturn this.getOffset($elm, true);\n\t\t\t},\n\t\t\t// returns precise width/height float values\n\t\t\tgetOffset: function($elm, height) {\n\t\t\t\tvar old;\n\t\t\t\tif ($elm.css('display') == 'none') {\n\t\t\t\t\told = { position: $elm[0].style.position, visibility: $elm[0].style.visibility };\n\t\t\t\t\t$elm.css({ position: 'absolute', visibility: 'hidden' }).show();\n\t\t\t\t}\n\t\t\t\tvar box = $elm[0].getBoundingClientRect &amp;&amp; $elm[0].getBoundingClientRect(),\n\t\t\t\t\tval = box &amp;&amp; (height ? box.height || box.bottom - box.top : box.width || box.right - box.left);\n\t\t\t\tif (!val &amp;&amp; val !== 0) {\n\t\t\t\t\tval = height ? $elm[0].offsetHeight : $elm[0].offsetWidth;\n\t\t\t\t}\n\t\t\t\tif (old) {\n\t\t\t\t\t$elm.hide().css(old);\n\t\t\t\t}\n\t\t\t\treturn val;\n\t\t\t},\n\t\t\tgetStartZIndex: function(root) {\n\t\t\t\tvar zIndex = parseInt(this[root ? '$root' : '$firstSub'].css('z-index'));\n\t\t\t\tif (!root &amp;&amp; isNaN(zIndex)) {\n\t\t\t\t\tzIndex = parseInt(this.$root.css('z-index'));\n\t\t\t\t}\n\t\t\t\treturn !isNaN(zIndex) ? zIndex : 1;\n\t\t\t},\n\t\t\tgetTouchPoint: function(e) {\n\t\t\t\treturn e.touches &amp;&amp; e.touches[0] || e.changedTouches &amp;&amp; e.changedTouches[0] || e;\n\t\t\t},\n\t\t\tgetViewport: function(height) {\n\t\t\t\tvar name = height ? 'Height' : 'Width',\n\t\t\t\t\tval = document.documentElement['client' + name],\n\t\t\t\t\tval2 = window['inner' + name];\n\t\t\t\tif (val2) {\n\t\t\t\t\tval = Math.min(val, val2);\n\t\t\t\t}\n\t\t\t\treturn val;\n\t\t\t},\n\t\t\tgetViewportHeight: function() {\n\t\t\t\treturn this.getViewport(true);\n\t\t\t},\n\t\t\tgetViewportWidth: function() {\n\t\t\t\treturn this.getViewport();\n\t\t\t},\n\t\t\tgetWidth: function($elm) {\n\t\t\t\treturn this.getOffset($elm);\n\t\t\t},\n\t\t\thandleEvents: function() {\n\t\t\t\treturn !this.disabled &amp;&amp; this.isCSSOn();\n\t\t\t},\n\t\t\thandleItemEvents: function($a) {\n\t\t\t\treturn this.handleEvents() &amp;&amp; !this.isLinkInMegaMenu($a);\n\t\t\t},\n\t\t\tisCollapsible: function() {\n\t\t\t\treturn this.$firstSub.css('position') == 'static';\n\t\t\t},\n\t\t\tisCSSOn: function() {\n\t\t\t\treturn this.$firstLink.css('display') != 'inline';\n\t\t\t},\n\t\t\tisFixed: function() {\n\t\t\t\tvar isFixed = this.$root.css('position') == 'fixed';\n\t\t\t\tif (!isFixed) {\n\t\t\t\t\tthis.$root.parentsUntil('body').each(function() {\n\t\t\t\t\t\tif ($(this).css('position') == 'fixed') {\n\t\t\t\t\t\t\tisFixed = true;\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn isFixed;\n\t\t\t},\n\t\t\tisLinkInMegaMenu: function($a) {\n\t\t\t\treturn $(this.getClosestMenu($a[0])).hasClass('mega-menu');\n\t\t\t},\n\t\t\tisTouchMode: function() {\n\t\t\t\treturn !mouse || this.opts.noMouseOver || this.isCollapsible();\n\t\t\t},\n\t\t\titemActivate: function($a, hideDeeperSubs) {\n\t\t\t\tvar $ul = $a.closest('ul'),\n\t\t\t\t\tlevel = $ul.dataSM('level');\n\t\t\t\t// if for some reason the parent item is not activated (e.g. this is an API call to activate the item), activate all parent items first\n\t\t\t\tif (level &gt; 1 &amp;&amp; (!this.activatedItems[level - 2] || this.activatedItems[level - 2][0] != $ul.dataSM('parent-a')[0])) {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\t$($ul.parentsUntil('[data-smartmenus-id]', 'ul').get().reverse()).add($ul).each(function() {\n\t\t\t\t\t\tself.itemActivate($(this).dataSM('parent-a'));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t// hide any visible deeper level sub menus\n\t\t\t\tif (!this.isCollapsible() || hideDeeperSubs) {\n\t\t\t\t\tthis.menuHideSubMenus(!this.activatedItems[level - 1] || this.activatedItems[level - 1][0] != $a[0] ? level - 1 : level);\n\t\t\t\t}\n\t\t\t\t// save new active item for this level\n\t\t\t\tthis.activatedItems[level - 1] = $a;\n\t\t\t\tif (this.$root.triggerHandler('activate.smapi', $a[0]) === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// show the sub menu if this item has one\n\t\t\t\tvar $sub = $a.dataSM('sub');\n\t\t\t\tif ($sub &amp;&amp; (this.isTouchMode() || (!this.opts.showOnClick || this.clickActivated))) {\n\t\t\t\t\tthis.menuShow($sub);\n\t\t\t\t}\n\t\t\t},\n\t\t\titemBlur: function(e) {\n\t\t\t\tvar $a = $(e.currentTarget);\n\t\t\t\tif (!this.handleItemEvents($a)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.$root.triggerHandler('blur.smapi', $a[0]);\n\t\t\t},\n\t\t\titemClick: function(e) {\n\t\t\t\tvar $a = $(e.currentTarget);\n\t\t\t\tif (!this.handleItemEvents($a)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (this.$touchScrollingSub &amp;&amp; this.$touchScrollingSub[0] == $a.closest('ul')[0]) {\n\t\t\t\t\tthis.$touchScrollingSub = null;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (this.$root.triggerHandler('click.smapi', $a[0]) === false) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tvar $sub = $a.dataSM('sub'),\n\t\t\t\t\tfirstLevelSub = $sub ? $sub.dataSM('level') == 2 : false;\n\t\t\t\tif ($sub) {\n\t\t\t\t\tvar subArrowClicked = $(e.target).is('.sub-arrow'),\n\t\t\t\t\t\tcollapsible = this.isCollapsible(),\n\t\t\t\t\t\tbehaviorToggle = /toggle$/.test(this.opts.collapsibleBehavior),\n\t\t\t\t\t\tbehaviorLink = /link$/.test(this.opts.collapsibleBehavior),\n\t\t\t\t\t\tbehaviorAccordion = /^accordion/.test(this.opts.collapsibleBehavior);\n\t\t\t\t\t// if the sub is hidden, try to show it\n\t\t\t\t\tif (!$sub.is(':visible')) {\n\t\t\t\t\t\tif (!behaviorLink || !collapsible || subArrowClicked) {\n\t\t\t\t\t\t\tif (!collapsible &amp;&amp; this.opts.showOnClick &amp;&amp; firstLevelSub) {\n\t\t\t\t\t\t\t\tthis.clickActivated = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// try to activate the item and show the sub\n\t\t\t\t\t\t\tthis.itemActivate($a, behaviorAccordion);\n\t\t\t\t\t\t\t// if \"itemActivate\" showed the sub, prevent the click so that the link is not loaded\n\t\t\t\t\t\t\t// if it couldn't show it, then the sub menus are disabled with an !important declaration (e.g. via mobile styles) so let the link get loaded\n\t\t\t\t\t\t\tif ($sub.is(':visible')) {\n\t\t\t\t\t\t\t\tthis.focusActivated = true;\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t// if the sub is visible and showOnClick: true, hide the sub\n\t\t\t\t\t} else if (!collapsible &amp;&amp; this.opts.showOnClick &amp;&amp; firstLevelSub) {\n\t\t\t\t\t\tthis.menuHide($sub);\n\t\t\t\t\t\tthis.clickActivated = false;\n\t\t\t\t\t\tthis.focusActivated = false;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t// if the sub is visible and we are in collapsible mode\n\t\t\t\t\t} else if (collapsible &amp;&amp; (behaviorToggle || subArrowClicked)) {\n\t\t\t\t\t\tthis.itemActivate($a, behaviorAccordion);\n\t\t\t\t\t\tthis.menuHide($sub);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!collapsible &amp;&amp; this.opts.showOnClick &amp;&amp; firstLevelSub || $a.hasClass('disabled') || this.$root.triggerHandler('select.smapi', $a[0]) === false) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\titemDown: function(e) {\n\t\t\t\tvar $a = $(e.currentTarget);\n\t\t\t\tif (!this.handleItemEvents($a)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t$a.dataSM('mousedown', true);\n\t\t\t},\n\t\t\titemEnter: function(e) {\n\t\t\t\tvar $a = $(e.currentTarget);\n\t\t\t\tif (!this.handleItemEvents($a)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!this.isTouchMode()) {\n\t\t\t\t\tif (this.showTimeout) {\n\t\t\t\t\t\tclearTimeout(this.showTimeout);\n\t\t\t\t\t\tthis.showTimeout = 0;\n\t\t\t\t\t}\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tthis.showTimeout = setTimeout(function() { self.itemActivate($a); }, this.opts.showOnClick &amp;&amp; $a.closest('ul').dataSM('level') == 1 ? 1 : this.opts.showTimeout);\n\t\t\t\t}\n\t\t\t\tthis.$root.triggerHandler('mouseenter.smapi', $a[0]);\n\t\t\t},\n\t\t\titemFocus: function(e) {\n\t\t\t\tvar $a = $(e.currentTarget);\n\t\t\t\tif (!this.handleItemEvents($a)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// fix (the mousedown check): in some browsers a tap/click produces consecutive focus + click events so we don't need to activate the item on focus\n\t\t\t\tif (this.focusActivated &amp;&amp; (!this.isTouchMode() || !$a.dataSM('mousedown')) &amp;&amp; (!this.activatedItems.length || this.activatedItems[this.activatedItems.length - 1][0] != $a[0])) {\n\t\t\t\t\tthis.itemActivate($a, true);\n\t\t\t\t}\n\t\t\t\tthis.$root.triggerHandler('focus.smapi', $a[0]);\n\t\t\t},\n\t\t\titemLeave: function(e) {\n\t\t\t\tvar $a = $(e.currentTarget);\n\t\t\t\tif (!this.handleItemEvents($a)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!this.isTouchMode()) {\n\t\t\t\t\t$a[0].blur();\n\t\t\t\t\tif (this.showTimeout) {\n\t\t\t\t\t\tclearTimeout(this.showTimeout);\n\t\t\t\t\t\tthis.showTimeout = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$a.removeDataSM('mousedown');\n\t\t\t\tthis.$root.triggerHandler('mouseleave.smapi', $a[0]);\n\t\t\t},\n\t\t\tmenuHide: function($sub) {\n\t\t\t\tif (this.$root.triggerHandler('beforehide.smapi', $sub[0]) === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (canAnimate) {\n\t\t\t\t\t$sub.stop(true, true);\n\t\t\t\t}\n\t\t\t\tif ($sub.css('display') != 'none') {\n\t\t\t\t\tvar complete = function() {\n\t\t\t\t\t\t// unset z-index\n\t\t\t\t\t\t$sub.css('z-index', '');\n\t\t\t\t\t};\n\t\t\t\t\t// if sub is collapsible (mobile view)\n\t\t\t\t\tif (this.isCollapsible()) {\n\t\t\t\t\t\tif (canAnimate &amp;&amp; this.opts.collapsibleHideFunction) {\n\t\t\t\t\t\t\tthis.opts.collapsibleHideFunction.call(this, $sub, complete);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$sub.hide(this.opts.collapsibleHideDuration, complete);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (canAnimate &amp;&amp; this.opts.hideFunction) {\n\t\t\t\t\t\t\tthis.opts.hideFunction.call(this, $sub, complete);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$sub.hide(this.opts.hideDuration, complete);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// deactivate scrolling if it is activated for this sub\n\t\t\t\t\tif ($sub.dataSM('scroll')) {\n\t\t\t\t\t\tthis.menuScrollStop($sub);\n\t\t\t\t\t\t$sub.css({ 'touch-action': '', '-ms-touch-action': '', '-webkit-transform': '', transform: '' })\n\t\t\t\t\t\t\t.off('.smartmenus_scroll').removeDataSM('scroll').dataSM('scroll-arrows').hide();\n\t\t\t\t\t}\n\t\t\t\t\t// unhighlight parent item + accessibility\n\t\t\t\t\t$sub.dataSM('parent-a').removeClass('highlighted').attr('aria-expanded', 'false');\n\t\t\t\t\t$sub.attr({\n\t\t\t\t\t\t'aria-expanded': 'false',\n\t\t\t\t\t\t'aria-hidden': 'true'\n\t\t\t\t\t});\n\t\t\t\t\tvar level = $sub.dataSM('level');\n\t\t\t\t\tthis.activatedItems.splice(level - 1, 1);\n\t\t\t\t\tthis.visibleSubMenus.splice($.inArray($sub, this.visibleSubMenus), 1);\n\t\t\t\t\tthis.$root.triggerHandler('hide.smapi', $sub[0]);\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenuHideAll: function() {\n\t\t\t\tif (this.showTimeout) {\n\t\t\t\t\tclearTimeout(this.showTimeout);\n\t\t\t\t\tthis.showTimeout = 0;\n\t\t\t\t}\n\t\t\t\t// hide all subs\n\t\t\t\t// if it's a popup, this.visibleSubMenus[0] is the root UL\n\t\t\t\tvar level = this.opts.isPopup ? 1 : 0;\n\t\t\t\tfor (var i = this.visibleSubMenus.length - 1; i &gt;= level; i--) {\n\t\t\t\t\tthis.menuHide(this.visibleSubMenus[i]);\n\t\t\t\t}\n\t\t\t\t// hide root if it's popup\n\t\t\t\tif (this.opts.isPopup) {\n\t\t\t\t\tif (canAnimate) {\n\t\t\t\t\t\tthis.$root.stop(true, true);\n\t\t\t\t\t}\n\t\t\t\t\tif (this.$root.is(':visible')) {\n\t\t\t\t\t\tif (canAnimate &amp;&amp; this.opts.hideFunction) {\n\t\t\t\t\t\t\tthis.opts.hideFunction.call(this, this.$root);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$root.hide(this.opts.hideDuration);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.activatedItems = [];\n\t\t\t\tthis.visibleSubMenus = [];\n\t\t\t\tthis.clickActivated = false;\n\t\t\t\tthis.focusActivated = false;\n\t\t\t\t// reset z-index increment\n\t\t\t\tthis.zIndexInc = 0;\n\t\t\t\tthis.$root.triggerHandler('hideAll.smapi');\n\t\t\t},\n\t\t\tmenuHideSubMenus: function(level) {\n\t\t\t\tfor (var i = this.activatedItems.length - 1; i &gt;= level; i--) {\n\t\t\t\t\tvar $sub = this.activatedItems[i].dataSM('sub');\n\t\t\t\t\tif ($sub) {\n\t\t\t\t\t\tthis.menuHide($sub);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenuInit: function($ul) {\n\t\t\t\tif (!$ul.dataSM('in-mega')) {\n\t\t\t\t\t// mark UL's in mega drop downs (if any) so we can neglect them\n\t\t\t\t\tif ($ul.hasClass('mega-menu')) {\n\t\t\t\t\t\t$ul.find('ul').dataSM('in-mega', true);\n\t\t\t\t\t}\n\t\t\t\t\t// get level (much faster than, for example, using parentsUntil)\n\t\t\t\t\tvar level = 2,\n\t\t\t\t\t\tpar = $ul[0];\n\t\t\t\t\twhile ((par = par.parentNode.parentNode) != this.$root[0]) {\n\t\t\t\t\t\tlevel++;\n\t\t\t\t\t}\n\t\t\t\t\t// cache stuff for quick access\n\t\t\t\t\tvar $a = $ul.prevAll('a').eq(-1);\n\t\t\t\t\t// if the link is nested (e.g. in a heading)\n\t\t\t\t\tif (!$a.length) {\n\t\t\t\t\t\t$a = $ul.prevAll().find('a').eq(-1);\n\t\t\t\t\t}\n\t\t\t\t\t$a.addClass('has-submenu').dataSM('sub', $ul);\n\t\t\t\t\t$ul.dataSM('parent-a', $a)\n\t\t\t\t\t\t.dataSM('level', level)\n\t\t\t\t\t\t.parent().dataSM('sub', $ul);\n\t\t\t\t\t// accessibility\n\t\t\t\t\tvar aId = $a.attr('id') || this.accessIdPrefix + (++this.idInc),\n\t\t\t\t\t\tulId = $ul.attr('id') || this.accessIdPrefix + (++this.idInc);\n\t\t\t\t\t$a.attr({\n\t\t\t\t\t\tid: aId,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\t'aria-controls': ulId,\n\t\t\t\t\t\t'aria-expanded': 'false'\n\t\t\t\t\t});\n\t\t\t\t\t$ul.attr({\n\t\t\t\t\t\tid: ulId,\n\t\t\t\t\t\t'role': 'group',\n\t\t\t\t\t\t'aria-hidden': 'true',\n\t\t\t\t\t\t'aria-labelledby': aId,\n\t\t\t\t\t\t'aria-expanded': 'false'\n\t\t\t\t\t});\n\t\t\t\t\t// add sub indicator to parent item\n\t\t\t\t\tif (this.opts.subIndicators) {\n\t\t\t\t\t\t$a[this.opts.subIndicatorsPos](this.$subArrow.clone());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenuPosition: function($sub) {\n\t\t\t\tvar $a = $sub.dataSM('parent-a'),\n\t\t\t\t\t$li = $a.closest('li'),\n\t\t\t\t\t$ul = $li.parent(),\n\t\t\t\t\tlevel = $sub.dataSM('level'),\n\t\t\t\t\tsubW = this.getWidth($sub),\n\t\t\t\t\tsubH = this.getHeight($sub),\n\t\t\t\t\titemOffset = $a.offset(),\n\t\t\t\t\titemX = itemOffset.left,\n\t\t\t\t\titemY = itemOffset.top,\n\t\t\t\t\titemW = this.getWidth($a),\n\t\t\t\t\titemH = this.getHeight($a),\n\t\t\t\t\t$win = $(window),\n\t\t\t\t\twinX = $win.scrollLeft(),\n\t\t\t\t\twinY = $win.scrollTop(),\n\t\t\t\t\twinW = this.getViewportWidth(),\n\t\t\t\t\twinH = this.getViewportHeight(),\n\t\t\t\t\thorizontalParent = $ul.parent().is('[data-sm-horizontal-sub]') || level == 2 &amp;&amp; !$ul.hasClass('sm-vertical'),\n\t\t\t\t\trightToLeft = this.opts.rightToLeftSubMenus &amp;&amp; !$li.is('[data-sm-reverse]') || !this.opts.rightToLeftSubMenus &amp;&amp; $li.is('[data-sm-reverse]'),\n\t\t\t\t\tsubOffsetX = level == 2 ? this.opts.mainMenuSubOffsetX : this.opts.subMenusSubOffsetX,\n\t\t\t\t\tsubOffsetY = level == 2 ? this.opts.mainMenuSubOffsetY : this.opts.subMenusSubOffsetY,\n\t\t\t\t\tx, y;\n\t\t\t\tif (horizontalParent) {\n\t\t\t\t\tx = rightToLeft ? itemW - subW - subOffsetX : subOffsetX;\n\t\t\t\t\ty = this.opts.bottomToTopSubMenus ? -subH - subOffsetY : itemH + subOffsetY;\n\t\t\t\t} else {\n\t\t\t\t\tx = rightToLeft ? subOffsetX - subW : itemW - subOffsetX;\n\t\t\t\t\ty = this.opts.bottomToTopSubMenus ? itemH - subOffsetY - subH : subOffsetY;\n\t\t\t\t}\n\t\t\t\tif (this.opts.keepInViewport) {\n\t\t\t\t\tvar absX = itemX + x,\n\t\t\t\t\t\tabsY = itemY + y;\n\t\t\t\t\tif (rightToLeft &amp;&amp; absX &lt; winX) {\n\t\t\t\t\t\tx = horizontalParent ? winX - absX + x : itemW - subOffsetX;\n\t\t\t\t\t} else if (!rightToLeft &amp;&amp; absX + subW &gt; winX + winW) {\n\t\t\t\t\t\tx = horizontalParent ? winX + winW - subW - absX + x : subOffsetX - subW;\n\t\t\t\t\t}\n\t\t\t\t\tif (!horizontalParent) {\n\t\t\t\t\t\tif (subH &lt; winH &amp;&amp; absY + subH &gt; winY + winH) {\n\t\t\t\t\t\t\ty += winY + winH - subH - absY;\n\t\t\t\t\t\t} else if (subH &gt;= winH || absY &lt; winY) {\n\t\t\t\t\t\t\ty += winY - absY;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// do we need scrolling?\n\t\t\t\t\t// 0.49 used for better precision when dealing with float values\n\t\t\t\t\tif (horizontalParent &amp;&amp; (absY + subH &gt; winY + winH + 0.49 || absY &lt; winY) || !horizontalParent &amp;&amp; subH &gt; winH + 0.49) {\n\t\t\t\t\t\tvar self = this;\n\t\t\t\t\t\tif (!$sub.dataSM('scroll-arrows')) {\n\t\t\t\t\t\t\t$sub.dataSM('scroll-arrows', $([$('<span class='\"scroll-up\"'><span class='\"scroll-up-arrow\"'></span></span>')[0], $('<span class='\"scroll-down\"'><span class='\"scroll-down-arrow\"'></span></span>')[0]])\n\t\t\t\t\t\t\t\t.on({\n\t\t\t\t\t\t\t\t\tmouseenter: function() {\n\t\t\t\t\t\t\t\t\t\t$sub.dataSM('scroll').up = $(this).hasClass('scroll-up');\n\t\t\t\t\t\t\t\t\t\tself.menuScroll($sub);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmouseleave: function(e) {\n\t\t\t\t\t\t\t\t\t\tself.menuScrollStop($sub);\n\t\t\t\t\t\t\t\t\t\tself.menuScrollOut($sub, e);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'mousewheel DOMMouseScroll': function(e) { e.preventDefault(); }\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.insertAfter($sub)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// bind scroll events and save scroll data for this sub\n\t\t\t\t\t\tvar eNS = '.smartmenus_scroll';\n\t\t\t\t\t\t$sub.dataSM('scroll', {\n\t\t\t\t\t\t\t\ty: this.cssTransforms3d ? 0 : y - itemH,\n\t\t\t\t\t\t\t\tstep: 1,\n\t\t\t\t\t\t\t\t// cache stuff for faster recalcs later\n\t\t\t\t\t\t\t\titemH: itemH,\n\t\t\t\t\t\t\t\tsubH: subH,\n\t\t\t\t\t\t\t\tarrowDownH: this.getHeight($sub.dataSM('scroll-arrows').eq(1))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.on(getEventsNS({\n\t\t\t\t\t\t\t\t'mouseover': function(e) { self.menuScrollOver($sub, e); },\n\t\t\t\t\t\t\t\t'mouseout': function(e) { self.menuScrollOut($sub, e); },\n\t\t\t\t\t\t\t\t'mousewheel DOMMouseScroll': function(e) { self.menuScrollMousewheel($sub, e); }\n\t\t\t\t\t\t\t}, eNS))\n\t\t\t\t\t\t\t.dataSM('scroll-arrows').css({ top: 'auto', left: '0', marginLeft: x + (parseInt($sub.css('border-left-width')) || 0), width: subW - (parseInt($sub.css('border-left-width')) || 0) - (parseInt($sub.css('border-right-width')) || 0), zIndex: $sub.css('z-index') })\n\t\t\t\t\t\t\t\t.eq(horizontalParent &amp;&amp; this.opts.bottomToTopSubMenus ? 0 : 1).show();\n\t\t\t\t\t\t// when a menu tree is fixed positioned we allow scrolling via touch too\n\t\t\t\t\t\t// since there is no other way to access such long sub menus if no mouse is present\n\t\t\t\t\t\tif (this.isFixed()) {\n\t\t\t\t\t\t\tvar events = {};\n\t\t\t\t\t\t\tevents[touchEvents ? 'touchstart touchmove touchend' : 'pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp'] = function(e) {\n\t\t\t\t\t\t\t\tself.menuScrollTouch($sub, e);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t$sub.css({ 'touch-action': 'none', '-ms-touch-action': 'none' }).on(getEventsNS(events, eNS));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$sub.css({ top: 'auto', left: '0', marginLeft: x, marginTop: y - itemH });\n\t\t\t},\n\t\t\tmenuScroll: function($sub, once, step) {\n\t\t\t\tvar data = $sub.dataSM('scroll'),\n\t\t\t\t\t$arrows = $sub.dataSM('scroll-arrows'),\n\t\t\t\t\tend = data.up ? data.upEnd : data.downEnd,\n\t\t\t\t\tdiff;\n\t\t\t\tif (!once &amp;&amp; data.momentum) {\n\t\t\t\t\tdata.momentum *= 0.92;\n\t\t\t\t\tdiff = data.momentum;\n\t\t\t\t\tif (diff &lt; 0.5) {\n\t\t\t\t\t\tthis.menuScrollStop($sub);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdiff = step || (once || !this.opts.scrollAccelerate ? this.opts.scrollStep : Math.floor(data.step));\n\t\t\t\t}\n\t\t\t\t// hide any visible deeper level sub menus\n\t\t\t\tvar level = $sub.dataSM('level');\n\t\t\t\tif (this.activatedItems[level - 1] &amp;&amp; this.activatedItems[level - 1].dataSM('sub') &amp;&amp; this.activatedItems[level - 1].dataSM('sub').is(':visible')) {\n\t\t\t\t\tthis.menuHideSubMenus(level - 1);\n\t\t\t\t}\n\t\t\t\tdata.y = data.up &amp;&amp; end &lt;= data.y || !data.up &amp;&amp; end &gt;= data.y ? data.y : (Math.abs(end - data.y) &gt; diff ? data.y + (data.up ? diff : -diff) : end);\n\t\t\t\t$sub.css(this.cssTransforms3d ? { '-webkit-transform': 'translate3d(0, ' + data.y + 'px, 0)', transform: 'translate3d(0, ' + data.y + 'px, 0)' } : { marginTop: data.y });\n\t\t\t\t// show opposite arrow if appropriate\n\t\t\t\tif (mouse &amp;&amp; (data.up &amp;&amp; data.y &gt; data.downEnd || !data.up &amp;&amp; data.y &lt; data.upEnd)) {\n\t\t\t\t\t$arrows.eq(data.up ? 1 : 0).show();\n\t\t\t\t}\n\t\t\t\t// if we've reached the end\n\t\t\t\tif (data.y == end) {\n\t\t\t\t\tif (mouse) {\n\t\t\t\t\t\t$arrows.eq(data.up ? 0 : 1).hide();\n\t\t\t\t\t}\n\t\t\t\t\tthis.menuScrollStop($sub);\n\t\t\t\t} else if (!once) {\n\t\t\t\t\tif (this.opts.scrollAccelerate &amp;&amp; data.step &lt; this.opts.scrollStep) {\n\t\t\t\t\t\tdata.step += 0.2;\n\t\t\t\t\t}\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tthis.scrollTimeout = requestAnimationFrame(function() { self.menuScroll($sub); });\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenuScrollMousewheel: function($sub, e) {\n\t\t\t\tif (this.getClosestMenu(e.target) == $sub[0]) {\n\t\t\t\t\te = e.originalEvent;\n\t\t\t\t\tvar up = (e.wheelDelta || -e.detail) &gt; 0;\n\t\t\t\t\tif ($sub.dataSM('scroll-arrows').eq(up ? 0 : 1).is(':visible')) {\n\t\t\t\t\t\t$sub.dataSM('scroll').up = up;\n\t\t\t\t\t\tthis.menuScroll($sub, true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\te.preventDefault();\n\t\t\t},\n\t\t\tmenuScrollOut: function($sub, e) {\n\t\t\t\tif (mouse) {\n\t\t\t\t\tif (!/^scroll-(up|down)/.test((e.relatedTarget || '').className) &amp;&amp; ($sub[0] != e.relatedTarget &amp;&amp; !$.contains($sub[0], e.relatedTarget) || this.getClosestMenu(e.relatedTarget) != $sub[0])) {\n\t\t\t\t\t\t$sub.dataSM('scroll-arrows').css('visibility', 'hidden');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenuScrollOver: function($sub, e) {\n\t\t\t\tif (mouse) {\n\t\t\t\t\tif (!/^scroll-(up|down)/.test(e.target.className) &amp;&amp; this.getClosestMenu(e.target) == $sub[0]) {\n\t\t\t\t\t\tthis.menuScrollRefreshData($sub);\n\t\t\t\t\t\tvar data = $sub.dataSM('scroll'),\n\t\t\t\t\t\t\tupEnd = $(window).scrollTop() - $sub.dataSM('parent-a').offset().top - data.itemH;\n\t\t\t\t\t\t$sub.dataSM('scroll-arrows').eq(0).css('margin-top', upEnd).end()\n\t\t\t\t\t\t\t.eq(1).css('margin-top', upEnd + this.getViewportHeight() - data.arrowDownH).end()\n\t\t\t\t\t\t\t.css('visibility', 'visible');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenuScrollRefreshData: function($sub) {\n\t\t\t\tvar data = $sub.dataSM('scroll'),\n\t\t\t\t\tupEnd = $(window).scrollTop() - $sub.dataSM('parent-a').offset().top - data.itemH;\n\t\t\t\tif (this.cssTransforms3d) {\n\t\t\t\t\tupEnd = -(parseFloat($sub.css('margin-top')) - upEnd);\n\t\t\t\t}\n\t\t\t\t$.extend(data, {\n\t\t\t\t\tupEnd: upEnd,\n\t\t\t\t\tdownEnd: upEnd + this.getViewportHeight() - data.subH\n\t\t\t\t});\n\t\t\t},\n\t\t\tmenuScrollStop: function($sub) {\n\t\t\t\tif (this.scrollTimeout) {\n\t\t\t\t\tcancelAnimationFrame(this.scrollTimeout);\n\t\t\t\t\tthis.scrollTimeout = 0;\n\t\t\t\t\t$sub.dataSM('scroll').step = 1;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenuScrollTouch: function($sub, e) {\n\t\t\t\te = e.originalEvent;\n\t\t\t\tif (isTouchEvent(e)) {\n\t\t\t\t\tvar touchPoint = this.getTouchPoint(e);\n\t\t\t\t\t// neglect event if we touched a visible deeper level sub menu\n\t\t\t\t\tif (this.getClosestMenu(touchPoint.target) == $sub[0]) {\n\t\t\t\t\t\tvar data = $sub.dataSM('scroll');\n\t\t\t\t\t\tif (/(start|down)$/i.test(e.type)) {\n\t\t\t\t\t\t\tif (this.menuScrollStop($sub)) {\n\t\t\t\t\t\t\t\t// if we were scrolling, just stop and don't activate any link on the first touch\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tthis.$touchScrollingSub = $sub;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.$touchScrollingSub = null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// update scroll data since the user might have zoomed, etc.\n\t\t\t\t\t\t\tthis.menuScrollRefreshData($sub);\n\t\t\t\t\t\t\t// extend it with the touch properties\n\t\t\t\t\t\t\t$.extend(data, {\n\t\t\t\t\t\t\t\ttouchStartY: touchPoint.pageY,\n\t\t\t\t\t\t\t\ttouchStartTime: e.timeStamp\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (/move$/i.test(e.type)) {\n\t\t\t\t\t\t\tvar prevY = data.touchY !== undefined ? data.touchY : data.touchStartY;\n\t\t\t\t\t\t\tif (prevY !== undefined &amp;&amp; prevY != touchPoint.pageY) {\n\t\t\t\t\t\t\t\tthis.$touchScrollingSub = $sub;\n\t\t\t\t\t\t\t\tvar up = prevY &lt; touchPoint.pageY;\n\t\t\t\t\t\t\t\t// changed direction? reset...\n\t\t\t\t\t\t\t\tif (data.up !== undefined &amp;&amp; data.up != up) {\n\t\t\t\t\t\t\t\t\t$.extend(data, {\n\t\t\t\t\t\t\t\t\t\ttouchStartY: touchPoint.pageY,\n\t\t\t\t\t\t\t\t\t\ttouchStartTime: e.timeStamp\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\t$.extend(data, {\n\t\t\t\t\t\t\t\t\tup: up,\n\t\t\t\t\t\t\t\t\ttouchY: touchPoint.pageY\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.menuScroll($sub, true, Math.abs(touchPoint.pageY - prevY));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t} else { // touchend/pointerup\n\t\t\t\t\t\t\tif (data.touchY !== undefined) {\n\t\t\t\t\t\t\t\tif (data.momentum = Math.pow(Math.abs(touchPoint.pageY - data.touchStartY) / (e.timeStamp - data.touchStartTime), 2) * 15) {\n\t\t\t\t\t\t\t\t\tthis.menuScrollStop($sub);\n\t\t\t\t\t\t\t\t\tthis.menuScroll($sub);\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdelete data.touchY;\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\tmenuShow: function($sub) {\n\t\t\t\tif (!$sub.dataSM('beforefirstshowfired')) {\n\t\t\t\t\t$sub.dataSM('beforefirstshowfired', true);\n\t\t\t\t\tif (this.$root.triggerHandler('beforefirstshow.smapi', $sub[0]) === false) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (this.$root.triggerHandler('beforeshow.smapi', $sub[0]) === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t$sub.dataSM('shown-before', true);\n\t\t\t\tif (canAnimate) {\n\t\t\t\t\t$sub.stop(true, true);\n\t\t\t\t}\n\t\t\t\tif (!$sub.is(':visible')) {\n\t\t\t\t\t// highlight parent item\n\t\t\t\t\tvar $a = $sub.dataSM('parent-a'),\n\t\t\t\t\t\tcollapsible = this.isCollapsible();\n\t\t\t\t\tif (this.opts.keepHighlighted || collapsible) {\n\t\t\t\t\t\t$a.addClass('highlighted');\n\t\t\t\t\t}\n\t\t\t\t\tif (collapsible) {\n\t\t\t\t\t\t$sub.removeClass('sm-nowrap').css({ zIndex: '', width: 'auto', minWidth: '', maxWidth: '', top: '', left: '', marginLeft: '', marginTop: '' });\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// set z-index\n\t\t\t\t\t\t$sub.css('z-index', this.zIndexInc = (this.zIndexInc || this.getStartZIndex()) + 1);\n\t\t\t\t\t\t// min/max-width fix - no way to rely purely on CSS as all UL's are nested\n\t\t\t\t\t\tif (this.opts.subMenusMinWidth || this.opts.subMenusMaxWidth) {\n\t\t\t\t\t\t\t$sub.css({ width: 'auto', minWidth: '', maxWidth: '' }).addClass('sm-nowrap');\n\t\t\t\t\t\t\tif (this.opts.subMenusMinWidth) {\n\t\t\t\t\t\t\t \t$sub.css('min-width', this.opts.subMenusMinWidth);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (this.opts.subMenusMaxWidth) {\n\t\t\t\t\t\t\t \tvar noMaxWidth = this.getWidth($sub);\n\t\t\t\t\t\t\t \t$sub.css('max-width', this.opts.subMenusMaxWidth);\n\t\t\t\t\t\t\t\tif (noMaxWidth &gt; this.getWidth($sub)) {\n\t\t\t\t\t\t\t\t\t$sub.removeClass('sm-nowrap').css('width', this.opts.subMenusMaxWidth);\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\tthis.menuPosition($sub);\n\t\t\t\t\t}\n\t\t\t\t\tvar complete = function() {\n\t\t\t\t\t\t// fix: \"overflow: hidden;\" is not reset on animation complete in jQuery &lt; 1.9.0 in Chrome when global \"box-sizing: border-box;\" is used\n\t\t\t\t\t\t$sub.css('overflow', '');\n\t\t\t\t\t};\n\t\t\t\t\t// if sub is collapsible (mobile view)\n\t\t\t\t\tif (collapsible) {\n\t\t\t\t\t\tif (canAnimate &amp;&amp; this.opts.collapsibleShowFunction) {\n\t\t\t\t\t\t\tthis.opts.collapsibleShowFunction.call(this, $sub, complete);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$sub.show(this.opts.collapsibleShowDuration, complete);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (canAnimate &amp;&amp; this.opts.showFunction) {\n\t\t\t\t\t\t\tthis.opts.showFunction.call(this, $sub, complete);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$sub.show(this.opts.showDuration, complete);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// accessibility\n\t\t\t\t\t$a.attr('aria-expanded', 'true');\n\t\t\t\t\t$sub.attr({\n\t\t\t\t\t\t'aria-expanded': 'true',\n\t\t\t\t\t\t'aria-hidden': 'false'\n\t\t\t\t\t});\n\t\t\t\t\t// store sub menu in visible array\n\t\t\t\t\tthis.visibleSubMenus.push($sub);\n\t\t\t\t\tthis.$root.triggerHandler('show.smapi', $sub[0]);\n\t\t\t\t}\n\t\t\t},\n\t\t\tpopupHide: function(noHideTimeout) {\n\t\t\t\tif (this.hideTimeout) {\n\t\t\t\t\tclearTimeout(this.hideTimeout);\n\t\t\t\t\tthis.hideTimeout = 0;\n\t\t\t\t}\n\t\t\t\tvar self = this;\n\t\t\t\tthis.hideTimeout = setTimeout(function() {\n\t\t\t\t\tself.menuHideAll();\n\t\t\t\t}, noHideTimeout ? 1 : this.opts.hideTimeout);\n\t\t\t},\n\t\t\tpopupShow: function(left, top) {\n\t\t\t\tif (!this.opts.isPopup) {\n\t\t\t\t\talert('SmartMenus jQuery Error:\\n\\nIf you want to show this menu via the \"popupShow\" method, set the isPopup:true option.');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (this.hideTimeout) {\n\t\t\t\t\tclearTimeout(this.hideTimeout);\n\t\t\t\t\tthis.hideTimeout = 0;\n\t\t\t\t}\n\t\t\t\tthis.$root.dataSM('shown-before', true);\n\t\t\t\tif (canAnimate) {\n\t\t\t\t\tthis.$root.stop(true, true);\n\t\t\t\t}\n\t\t\t\tif (!this.$root.is(':visible')) {\n\t\t\t\t\tthis.$root.css({ left: left, top: top });\n\t\t\t\t\t// show menu\n\t\t\t\t\tvar self = this,\n\t\t\t\t\t\tcomplete = function() {\n\t\t\t\t\t\t\tself.$root.css('overflow', '');\n\t\t\t\t\t\t};\n\t\t\t\t\tif (canAnimate &amp;&amp; this.opts.showFunction) {\n\t\t\t\t\t\tthis.opts.showFunction.call(this, this.$root, complete);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$root.show(this.opts.showDuration, complete);\n\t\t\t\t\t}\n\t\t\t\t\tthis.visibleSubMenus[0] = this.$root;\n\t\t\t\t}\n\t\t\t},\n\t\t\trefresh: function() {\n\t\t\t\tthis.destroy(true);\n\t\t\t\tthis.init(true);\n\t\t\t},\n\t\t\trootKeyDown: function(e) {\n\t\t\t\tif (!this.handleEvents()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tswitch (e.keyCode) {\n\t\t\t\t\tcase 27: // reset on Esc\n\t\t\t\t\t\tvar $activeTopItem = this.activatedItems[0];\n\t\t\t\t\t\tif ($activeTopItem) {\n\t\t\t\t\t\t\tthis.menuHideAll();\n\t\t\t\t\t\t\t$activeTopItem[0].focus();\n\t\t\t\t\t\t\tvar $sub = $activeTopItem.dataSM('sub');\n\t\t\t\t\t\t\tif ($sub) {\n\t\t\t\t\t\t\t\tthis.menuHide($sub);\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\tcase 32: // activate item's sub on Space\n\t\t\t\t\t\tvar $target = $(e.target);\n\t\t\t\t\t\tif ($target.is('a') &amp;&amp; this.handleItemEvents($target)) {\n\t\t\t\t\t\t\tvar $sub = $target.dataSM('sub');\n\t\t\t\t\t\t\tif ($sub &amp;&amp; !$sub.is(':visible')) {\n\t\t\t\t\t\t\t\tthis.itemClick({ currentTarget: e.target });\n\t\t\t\t\t\t\t\te.preventDefault();\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}\n\t\t\t},\n\t\t\trootOut: function(e) {\n\t\t\t\tif (!this.handleEvents() || this.isTouchMode() || e.target == this.$root[0]) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (this.hideTimeout) {\n\t\t\t\t\tclearTimeout(this.hideTimeout);\n\t\t\t\t\tthis.hideTimeout = 0;\n\t\t\t\t}\n\t\t\t\tif (!this.opts.showOnClick || !this.opts.hideOnClick) {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tthis.hideTimeout = setTimeout(function() { self.menuHideAll(); }, this.opts.hideTimeout);\n\t\t\t\t}\n\t\t\t},\n\t\t\trootOver: function(e) {\n\t\t\t\tif (!this.handleEvents() || this.isTouchMode() || e.target == this.$root[0]) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (this.hideTimeout) {\n\t\t\t\t\tclearTimeout(this.hideTimeout);\n\t\t\t\t\tthis.hideTimeout = 0;\n\t\t\t\t}\n\t\t\t},\n\t\t\twinResize: function(e) {\n\t\t\t\tif (!this.handleEvents()) {\n\t\t\t\t\t// we still need to resize the disable overlay if it's visible\n\t\t\t\t\tif (this.$disableOverlay) {\n\t\t\t\t\t\tvar pos = this.$root.offset();\n\t \t\t\t\t\tthis.$disableOverlay.css({\n\t\t\t\t\t\t\ttop: pos.top,\n\t\t\t\t\t\t\tleft: pos.left,\n\t\t\t\t\t\t\twidth: this.$root.outerWidth(),\n\t\t\t\t\t\t\theight: this.$root.outerHeight()\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// hide sub menus on resize - on mobile do it only on orientation change\n\t\t\t\tif (!('onorientationchange' in window) || e.type == 'orientationchange') {\n\t\t\t\t\tvar collapsible = this.isCollapsible();\n\t\t\t\t\t// if it was collapsible before resize and still is, don't do it\n\t\t\t\t\tif (!(this.wasCollapsible &amp;&amp; collapsible)) { \n\t\t\t\t\t\tif (this.activatedItems.length) {\n\t\t\t\t\t\t\tthis.activatedItems[this.activatedItems.length - 1][0].blur();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.menuHideAll();\n\t\t\t\t\t}\n\t\t\t\t\tthis.wasCollapsible = collapsible;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t$.fn.dataSM = function(key, val) {\n\t\tif (val) {\n\t\t\treturn this.data(key + '_smartmenus', val);\n\t\t}\n\t\treturn this.data(key + '_smartmenus');\n\t};\n\n\t$.fn.removeDataSM = function(key) {\n\t\treturn this.removeData(key + '_smartmenus');\n\t};\n\n\t$.fn.smartmenus = function(options) {\n\t\tif (typeof options == 'string') {\n\t\t\tvar args = arguments,\n\t\t\t\tmethod = options;\n\t\t\tArray.prototype.shift.call(args);\n\t\t\treturn this.each(function() {\n\t\t\t\tvar smartmenus = $(this).data('smartmenus');\n\t\t\t\tif (smartmenus &amp;&amp; smartmenus[method]) {\n\t\t\t\t\tsmartmenus[method].apply(smartmenus, args);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn this.each(function() {\n\t\t\t// [data-sm-options] attribute on the root UL\n\t\t\tvar dataOpts = $(this).data('sm-options') || null;\n\t\t\tif (dataOpts &amp;&amp; typeof dataOpts != 'object') {\n\t\t\t\tdataOpts = null;\n\t\t\t\talert('ERROR\\n\\nSmartMenus jQuery init:\\nThe value of the \"data-sm-options\" attribute must be valid JSON.');\n\t\t\t}\n\t\t\t// do not support function options\n\t\t\tif (dataOpts) {\n\t\t\t\t$.each(['showFunction', 'hideFunction', 'collapsibleShowFunction', 'collapsibleHideFunction'], function() {\n\t\t\t\t\tif (this in dataOpts) {\n\t\t\t\t\t\tdelete dataOpts[this];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tnew $.SmartMenus(this, $.extend({}, $.fn.smartmenus.defaults, options, dataOpts));\n\t\t});\n\t};\n\n\t// default settings\n\t$.fn.smartmenus.defaults = {\n\t\tisPopup:\t\tfalse,\t\t// is this a popup menu (can be shown via the popupShow/popupHide methods) or a permanent menu bar\n\t\tmainMenuSubOffsetX:\t0,\t\t// pixels offset from default position\n\t\tmainMenuSubOffsetY:\t0,\t\t// pixels offset from default position\n\t\tsubMenusSubOffsetX:\t0,\t\t// pixels offset from default position\n\t\tsubMenusSubOffsetY:\t0,\t\t// pixels offset from default position\n\t\tsubMenusMinWidth:\t'10em',\t\t// min-width for the sub menus (any CSS unit) - if set, the fixed width set in CSS will be ignored\n\t\tsubMenusMaxWidth:\t'20em',\t\t// max-width for the sub menus (any CSS unit) - if set, the fixed width set in CSS will be ignored\n\t\tsubIndicators: \t\ttrue,\t\t// create sub menu indicators - creates a SPAN and inserts it in the A\n\t\tsubIndicatorsPos: \t'append',\t// position of the SPAN relative to the menu item content ('append', 'prepend')\n\t\tsubIndicatorsText:\t'',\t\t// [optionally] add text in the SPAN (e.g. '+') (you may want to check the CSS for the sub indicators too)\n\t\tscrollStep: \t\t30,\t\t// pixels step when scrolling long sub menus that do not fit in the viewport height\n\t\tscrollAccelerate:\ttrue,\t\t// accelerate scrolling or use a fixed step\n\t\tshowTimeout:\t\t250,\t\t// timeout before showing the sub menus\n\t\thideTimeout:\t\t500,\t\t// timeout before hiding the sub menus\n\t\tshowDuration:\t\t0,\t\t// duration for show animation - set to 0 for no animation - matters only if showFunction:null\n\t\tshowFunction:\t\tnull,\t\t// custom function to use when showing a sub menu (the default is the jQuery 'show')\n\t\t\t\t\t\t\t// don't forget to call complete() at the end of whatever you do\n\t\t\t\t\t\t\t// e.g.: function($ul, complete) { $ul.fadeIn(250, complete); }\n\t\thideDuration:\t\t0,\t\t// duration for hide animation - set to 0 for no animation - matters only if hideFunction:null\n\t\thideFunction:\t\tfunction($ul, complete) { $ul.fadeOut(200, complete); },\t// custom function to use when hiding a sub menu (the default is the jQuery 'hide')\n\t\t\t\t\t\t\t// don't forget to call complete() at the end of whatever you do\n\t\t\t\t\t\t\t// e.g.: function($ul, complete) { $ul.fadeOut(250, complete); }\n\t\tcollapsibleShowDuration:0,\t\t// duration for show animation for collapsible sub menus - matters only if collapsibleShowFunction:null\n\t\tcollapsibleShowFunction:function($ul, complete) { $ul.slideDown(200, complete); },\t// custom function to use when showing a collapsible sub menu\n\t\t\t\t\t\t\t// (i.e. when mobile styles are used to make the sub menus collapsible)\n\t\tcollapsibleHideDuration:0,\t\t// duration for hide animation for collapsible sub menus - matters only if collapsibleHideFunction:null\n\t\tcollapsibleHideFunction:function($ul, complete) { $ul.slideUp(200, complete); },\t// custom function to use when hiding a collapsible sub menu\n\t\t\t\t\t\t\t// (i.e. when mobile styles are used to make the sub menus collapsible)\n\t\tshowOnClick:\t\tfalse,\t\t// show the first-level sub menus onclick instead of onmouseover (i.e. mimic desktop app menus) (matters only for mouse input)\n\t\thideOnClick:\t\ttrue,\t\t// hide the sub menus on click/tap anywhere on the page\n\t\tnoMouseOver:\t\tfalse,\t\t// disable sub menus activation onmouseover (i.e. behave like in touch mode - use just mouse clicks) (matters only for mouse input)\n\t\tkeepInViewport:\t\ttrue,\t\t// reposition the sub menus if needed to make sure they always appear inside the viewport\n\t\tkeepHighlighted:\ttrue,\t\t// keep all ancestor items of the current sub menu highlighted (adds the 'highlighted' class to the A's)\n\t\tmarkCurrentItem:\tfalse,\t\t// automatically add the 'current' class to the A element of the item linking to the current URL\n\t\tmarkCurrentTree:\ttrue,\t\t// add the 'current' class also to the A elements of all ancestor items of the current item\n\t\trightToLeftSubMenus:\tfalse,\t\t// right to left display of the sub menus (check the CSS for the sub indicators' position)\n\t\tbottomToTopSubMenus:\tfalse,\t\t// bottom to top display of the sub menus\n\t\tcollapsibleBehavior:\t'default'\t// parent items behavior in collapsible (mobile) view ('default', 'toggle', 'link', 'accordion', 'accordion-toggle', 'accordion-link')\n\t\t\t\t\t\t\t// 'default' - first tap on parent item expands sub, second tap loads its link\n\t\t\t\t\t\t\t// 'toggle' - the whole parent item acts just as a toggle button for its sub menu (expands/collapses on each tap)\n\t\t\t\t\t\t\t// 'link' - the parent item acts as a regular item (first tap loads its link), the sub menu can be expanded only via the +/- button\n\t\t\t\t\t\t\t// 'accordion' - like 'default' but on expand also resets any visible sub menus from deeper levels or other branches\n\t\t\t\t\t\t\t// 'accordion-toggle' - like 'toggle' but on expand also resets any visible sub menus from deeper levels or other branches\n\t\t\t\t\t\t\t// 'accordion-link' - like 'link' but on expand also resets any visible sub menus from deeper levels or other branches\n\t};\n\n\treturn $;\n}));\n","export function DiagramScrollLock() {\r\n    $('html').addClass('scroll-locked');\r\n};\r\n\r\nexport function DiagramScrollUnlock() {\r\n    $('html').removeClass('scroll-locked');\r\n};","import 'smartmenus';\r\nimport { DiagramToggle } from './Diagram.Toggle.js'\r\nimport { DiagramScrollLock, DiagramScrollUnlock } from './Diagram.ScrollLock.js'\r\n\r\nexport async function DiagramSiteNavigation() {\r\n    if (typeof Diagram == \"undefined\") {\r\n        var Diagram = {};\r\n    }\r\n\r\n    Diagram.MainNav = [];\r\n    Diagram.MainNav.$menu = $('.js-main-nav .sm');\r\n    Diagram.MainNav.$narrowMenuToggle = $('.js-narrow-menu-toggle');\r\n    Diagram.MainNav.$searchToggle = $('.js-search-toggle');\r\n\r\n    Diagram.MainNav.$menu.smartmenus({\r\n        hideTimeout: 600,\r\n        subMenusMinWidth: '17em',\r\n        subMenusMaxWidth: '17em',\r\n        subMenusSubOffsetX: 8,\r\n        collapsibleBehavior: 'accordion',\r\n        markCurrentItem: true\r\n    });\r\n\r\n    Diagram.MainNav.$narrowMenuToggle.on('click', function () {\r\n        DiagramToggle(Diagram.MainNav.$narrowMenuToggle, function (isActive) {\r\n            if (isActive) {\r\n                DiagramScrollLock();\r\n                $('.narrow-menu-close').focus();\r\n            } else {\r\n                DiagramScrollUnlock();\r\n            }\r\n        });\r\n    });\r\n\r\n    Diagram.MainNav.$searchToggle.on('click', function () {\r\n        DiagramToggle(Diagram.MainNav.$searchToggle, function (isActive) {\r\n            if (isActive) {\r\n                $('#header-search form').css('visibility', 'visible');\r\n                $('.js-header-search-input').focus();\r\n            } else {\r\n                $('#header-search form').css('visibility', 'hidden');\r\n                $(this).focus();\r\n            }\r\n        });\r\n    });\r\n\r\n    //keyboard navigation stuff\r\n    //close narrow menu with escape key\r\n    $(document).on('keydown', function (e) {\r\n        if (e.which == 27) {\r\n                if ($('.js-narrow-menu').hasClass('active')) {\r\n                    Diagram.MainNav.$narrowMenuToggle.first().trigger('click');\r\n                }\r\n        }\r\n    });\r\n\r\n    //Narrow menu focus trap\r\n    function narrowFocusTrap(e) {\r\n        if (e.which == 9) {\r\n            $('.site-logo').focus();\r\n            return false\r\n        }\r\n    }\r\n\r\n    //windows wider than bravo don't trap focus\r\n    $(document).on('breakpoint-match-bravo', function () {\r\n        $('.utility-nav li:last-child a').off('keydown', narrowFocusTrap);\r\n    });\r\n    \r\n    //windows narrower than bravo trap focus\r\n    $(document).on('breakpoint-unmatch-bravo', function () {\r\n        $('.utility-nav li:last-child a').on('keydown', narrowFocusTrap);\r\n    });\r\n    \r\n}"],"names":["factory","module","require$$0","$","menuTrees","mouse","touchEvents","mouseDetectionEnabled","requestAnimationFrame","callback","cancelAnimationFrame","id","canAnimate","initMouseDetection","disable","eNS","firstTime","lastMove","events","e","thisMove","deltaX","deltaY","$a","isTouchEvent","getEventsNS","eventsNS","i","elm","options","refresh","self","reDefaultDoc","reHash","locHref","locHrefNoHash","href","$this","noOverlay","pos","touchPoint","$closestMenu","$elm","height","old","box","val","root","zIndex","name","val2","isFixed","hideDeeperSubs","$ul","level","$sub","firstLevelSub","subArrowClicked","collapsible","behaviorToggle","behaviorLink","behaviorAccordion","complete","par","aId","ulId","$li","subW","subH","itemOffset","itemX","itemY","itemW","itemH","$win","winX","winY","winW","winH","horizontalParent","rightToLeft","subOffsetX","subOffsetY","x","y","absX","absY","once","step","data","$arrows","end","diff","up","upEnd","prevY","noMaxWidth","noHideTimeout","left","top","$activeTopItem","$target","key","args","method","smartmenus","dataOpts","DiagramScrollLock","DiagramScrollUnlock","DiagramSiteNavigation","Diagram","DiagramToggle","isActive","narrowFocusTrap"],"mappings":"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"}</div></span><style>
.hidden {
display: none;
}
</style>

<a href="http://cvpvlf.ozone-1.com" class="hidden">迅雷离线下载</a>
<a href="http://www.yopin365.com"  class="hidden">Crown-Sports-Betting-careers@yopin365.com</a>
<a href="http://www.chapterdesign.net"  class="hidden">沙巴官网</a>
<a href="http://web-sitemap.3lll.net" class="hidden">重庆医科大学教务处</a>
<a href="http://www.cceweb.net"  class="hidden">赌博网站</a>
<a href="http://www.rdsy.net"  class="hidden">皇冠体育博彩</a>
<a href="http://www.shushijia.net"  class="hidden">Wade-service@shushijia.net</a>
<a href="http://www.najwc.com"  class="hidden">Gaming-platform-customerservice@najwc.com</a>
<a href="http://sproutinganoldsoul.com" class="hidden">安庆教育体育网</a>
<a href="http://kbigrl.platinart.com" class="hidden">中科商务网</a>
<a href="http://www.lyhymh.net"  class="hidden">体育博彩平台</a>
<a href="http://www.ruansaen.com"  class="hidden">太阳城</a>
<a href="<a href="http://www.shushijia.net"  class="hidden">Wade-service@shushijia.net</a>" class="hidden">青岛搜房网-新房</a>
<a href="http://www.wowarmony.com"  class="hidden">Sun-City-entertainment-City-info@wowarmony.com</a>
<a href="http://www.999lsm.net"  class="hidden">沙巴体育app</a>
<a href="http://www.hc1978.com"  class="hidden">LOL-peripheral-betting-contactus@hc1978.com</a>
<a href="http://www.uc1112.com"  class="hidden">澳门威尼斯</a>
<a href="http://rsmkpw.ciecc-oc.com" class="hidden">文化长城</a>
<a href="http://www.berxwedan.net"  class="hidden">Crown-betting-help@berxwedan.net</a>
<a href="http://www.lyhymh.net"  class="hidden">Sports-betting-platform-careers@lyhymh.net</a>

<a href="https://stock.adobe.com/search/images?k=正规买球有哪些(中国)有限公司✔️网址:la666.net✔️.lpp" class="hidden">四川柔曼柔兰化妆品有限公司</a>
<a href="https://m.facebook.com/public/电子游戏靠谱首页平台介绍✔️网址:la66.net✔️电子游戏靠谱首页平台介绍✔️网址:la66.net✔️" class="hidden">海外网</a>
<a href="https://www.deep6gear.com/catalogsearch/result/?q=✔️网址:la666.net✔️竞彩app排行榜-维基百科✔️网址:la666.net✔️竞彩app排行榜-维基百科" class="hidden">奥必通</a>
<a href="https://m.facebook.com/public/靠谱的在线博彩最好的赌博网站(中国)有限公司✔️最新网址:ad22.net✔️" class="hidden">东莞地图</a>
<a href="https://stock.adobe.com/search/images?k=澳门新濠娱乐开户✔️最新网址:la55.net✔️.dgq" class="hidden">苏州兼职网</a>
<a href="https://m.facebook.com/public/✔️网址:la66.net✔️科普一下正规澳门棋牌官方游戏平台的百科.quj" class="hidden">决胜网资讯频道</a>
<a href="https://stock.adobe.com/search/images?k=十大网上赌博体育博彩网站排名✔️网址:la666.net✔️.caa" class="hidden">应届毕业生拓展训练</a>
<a href="https://acrmc.com/search/cq9武圣15个马多少倍平台介绍✔️最新网址:la55.net✔️cq9武圣15个马多少倍平台介绍✔️最新网址:la55.net✔️.gsk" class="hidden">果酷</a>
<a href="https://stock.adobe.com/search?k=bwin国际出款(关于bwin国际出款的简介)✔️网址:la666.net✔️.rlf" class="hidden">中国龟鳖商务网</a>
<a href="https://www.deep6gear.com/catalogsearch/result/?q=✔️网址:la66.net✔️科普一下cq9传奇电子游戏官网的百科✔️网址:la66.net✔️科普一下cq9传奇电子游戏官网的百科.gel" class="hidden">聆韵手机 </a>

<a href="/html/iybzti-918379" class="hidden">重庆黑马婚纱摄影</a>
<a href="/sitemap.xml" class="hidden">站点地图</a>
<a href="/news/lfiaqr-449471" class="hidden">汽车江湖网汽车报价大全</a>
<a href="/sttcs/hot-news/cyclohexanol.html" class="hidden">神州买卖车</a>
<a href="/sttcs/hot-news/gynodioeciously.html" class="hidden">中国娱乐网热门电视剧在线观看</a>


</body></html>