var $AdfFocusUtils$$ = {};
$goog$exportSymbol$$("AdfFocusUtils", $AdfFocusUtils$$);
$AdfFocusUtils$$.$containsFocus$ = function $$AdfFocusUtils$$$$containsFocus$$($element$$357$$) {
  for (var $focusElement$$7$$ = $AdfPage$$.$PAGE$.$_activeDomNode$;null != $focusElement$$7$$;) {
    if ($focusElement$$7$$ == $element$$357$$) {
      return !0;
    }
    $focusElement$$7$$ = $focusElement$$7$$.parentNode;
  }
  return !1;
};
$goog$exportSymbol$$("AdfFocusUtils.containsFocus", $AdfFocusUtils$$.$containsFocus$);
$AdfFocusUtils$$.$focusElement$ = function $$AdfFocusUtils$$$$focusElement$$($element$$358$$, $preventScroll$$, $isTabEvent$$) {
  $AdfAssert$$.$assertDomElement$($element$$358$$);
  $AdfPopupScopingUtils$$.scope($element$$358$$);
  $AdfFocusUtils$$.$_focusElementImpl$($element$$358$$, $preventScroll$$, $isTabEvent$$);
};
$AdfFocusUtils$$.focusElement = $AdfFocusUtils$$.$focusElement$;
$goog$exportSymbol$$("AdfFocusUtils.focusElement", $AdfFocusUtils$$.$focusElement$);
$AdfFocusUtils$$.$isFocusChangePending$ = function $$AdfFocusUtils$$$$isFocusChangePending$$() {
  return null != $AdfFocusUtils$$.$_delayFocusTimerId$;
};
$goog$exportSymbol$$("AdfFocusUtils.isFocusChangePending", $AdfFocusUtils$$.$isFocusChangePending$);
$AdfFocusUtils$$.$focusFirstDocumentTabStop$ = function $$AdfFocusUtils$$$$focusFirstDocumentTabStop$$() {
  var $focusElement$$8$$ = $AdfFocusUtils$$.$getFirstTabStop$($AdfPage$$.$PAGE$.$_document$.body, !0);
  null != $focusElement$$8$$ && -999 >= $focusElement$$8$$.offsetTop && ($focusElement$$8$$ = $AdfFocusUtils$$.$getNextTabStop$($focusElement$$8$$));
  null != $focusElement$$8$$ && $AdfFocusUtils$$.$focusElement$($focusElement$$8$$);
  return $focusElement$$8$$;
};
$goog$exportSymbol$$("AdfFocusUtils.focusFirstDocumentTabStop", $AdfFocusUtils$$.$focusFirstDocumentTabStop$);
$AdfFocusUtils$$.$focusFirstTabStop$ = function $$AdfFocusUtils$$$$focusFirstTabStop$$($element$$359$$, $isExclusive$$6$$) {
  $AdfAssert$$.$assertDomElement$($element$$359$$);
  var $focusElement$$9$$ = $AdfFocusUtils$$.$getFirstTabStop$($element$$359$$, $isExclusive$$6$$);
  null != $focusElement$$9$$ && $AdfFocusUtils$$.$focusElement$($focusElement$$9$$);
  return $focusElement$$9$$;
};
$AdfFocusUtils$$.focusFirstTabStop = $AdfFocusUtils$$.$focusFirstTabStop$;
$goog$exportSymbol$$("AdfFocusUtils.focusFirstTabStop", $AdfFocusUtils$$.$focusFirstTabStop$);
$AdfFocusUtils$$.$focusLastTabStop$ = function $$AdfFocusUtils$$$$focusLastTabStop$$($element$$360$$, $isExclusive$$7$$) {
  $AdfAssert$$.$assertDomElement$($element$$360$$);
  var $focusElement$$10$$ = $AdfFocusUtils$$.$getLastTabStop$($element$$360$$, $isExclusive$$7$$);
  null != $focusElement$$10$$ && $AdfFocusUtils$$.$focusElement$($focusElement$$10$$);
  return $focusElement$$10$$;
};
$goog$exportSymbol$$("AdfFocusUtils.focusLastTabStop", $AdfFocusUtils$$.$focusLastTabStop$);
$AdfFocusUtils$$.$focusNextTabStop$ = function $$AdfFocusUtils$$$$focusNextTabStop$$($element$$361$$, $contextElement$$4$$, $focusElement$$11_startOutside$$, $preventScroll$$1$$, $isTabEvent$$1$$) {
  $focusElement$$11_startOutside$$ = $AdfFocusUtils$$.$getNextTabStop$($element$$361$$, $contextElement$$4$$, $focusElement$$11_startOutside$$);
  $focusElement$$11_startOutside$$ || ($contextElement$$4$$ || ($contextElement$$4$$ = $element$$361$$.ownerDocument.documentElement), $focusElement$$11_startOutside$$ = $AdfFocusUtils$$.$getFirstTabStop$($contextElement$$4$$, !0));
  $focusElement$$11_startOutside$$ && $AdfFocusUtils$$.$focusElement$($focusElement$$11_startOutside$$, $preventScroll$$1$$, $isTabEvent$$1$$);
  return $focusElement$$11_startOutside$$;
};
$goog$exportSymbol$$("AdfFocusUtils.focusNextTabStop", $AdfFocusUtils$$.$focusNextTabStop$);
$AdfFocusUtils$$.$focusPreviousTabStop$ = function $$AdfFocusUtils$$$$focusPreviousTabStop$$($element$$362$$, $contextElement$$5$$, $focusElement$$12_startOutside$$1$$, $preventScroll$$2$$, $isTabEvent$$2$$) {
  $focusElement$$12_startOutside$$1$$ = $AdfFocusUtils$$.$getPreviousTabStop$($element$$362$$, $contextElement$$5$$);
  $focusElement$$12_startOutside$$1$$ || ($contextElement$$5$$ || ($contextElement$$5$$ = $element$$362$$.ownerDocument.documentElement), $focusElement$$12_startOutside$$1$$ = $AdfFocusUtils$$.$getLastTabStop$($contextElement$$5$$, !0));
  $focusElement$$12_startOutside$$1$$ && $AdfFocusUtils$$.$focusElement$($focusElement$$12_startOutside$$1$$, $preventScroll$$2$$, $isTabEvent$$2$$);
  return $focusElement$$12_startOutside$$1$$;
};
$goog$exportSymbol$$("AdfFocusUtils.focusPreviousTabStop", $AdfFocusUtils$$.$focusPreviousTabStop$);
$AdfFocusUtils$$.$getFirstTabStop$ = function $$AdfFocusUtils$$$$getFirstTabStop$$($element$$363$$, $isExclusive$$8$$) {
  return $AdfDomUtils$$.$getFirstElementMatch$($element$$363$$, $isExclusive$$8$$, $AdfFocusUtils$$.$isTabStop$);
};
$goog$exportSymbol$$("AdfFocusUtils.getFirstTabStop", $AdfFocusUtils$$.$getFirstTabStop$);
$AdfFocusUtils$$.$getLastTabStop$ = function $$AdfFocusUtils$$$$getLastTabStop$$($element$$364$$, $isExclusive$$9$$) {
  return $AdfDomUtils$$.$getLastElementMatch$($element$$364$$, $isExclusive$$9$$, $AdfFocusUtils$$.$isTabStop$);
};
$goog$exportSymbol$$("AdfFocusUtils.getLastTabStop", $AdfFocusUtils$$.$getLastTabStop$);
$AdfFocusUtils$$.$getNextTabStop$ = function $$AdfFocusUtils$$$$getNextTabStop$$($element$$365$$, $contextElement$$6$$, $startOutside$$2$$) {
  return $AdfDomUtils$$.$getNextElementMatch$($element$$365$$, $contextElement$$6$$, $startOutside$$2$$, $AdfFocusUtils$$.$isTabStop$);
};
$AdfFocusUtils$$.getNextTabStop = $AdfFocusUtils$$.$getNextTabStop$;
$goog$exportSymbol$$("AdfFocusUtils.getNextTabStop", $AdfFocusUtils$$.$getNextTabStop$);
$AdfFocusUtils$$.$getPreviousTabStop$ = function $$AdfFocusUtils$$$$getPreviousTabStop$$($element$$366$$, $contextElement$$7$$) {
  return $AdfDomUtils$$.$getPreviousElementMatch$($element$$366$$, $contextElement$$7$$, $AdfFocusUtils$$.$isTabStop$);
};
$goog$exportSymbol$$("AdfFocusUtils.getPreviousTabStop", $AdfFocusUtils$$.$getPreviousTabStop$);
$AdfFocusUtils$$.$isTabStop$ = function $$AdfFocusUtils$$$$isTabStop$$($el$$20$$) {
  return null != $el$$20$$ && -1 < $el$$20$$.tabIndex && $AdfFocusUtils$$.$isFocusable$($el$$20$$);
};
$goog$exportSymbol$$("AdfFocusUtils.isTabStop", $AdfFocusUtils$$.$isTabStop$);
$AdfFocusUtils$$.$isFocusable$ = function $$AdfFocusUtils$$$$isFocusable$$($el$$21$$, $context$$67$$) {
  return $AdfFocusUtils$$.$acceptFocusableNode$($el$$21$$, $context$$67$$) == $AdfDomUtils$$.FILTER_ACCEPT;
};
$goog$exportSymbol$$("AdfFocusUtils.isFocusable", $AdfFocusUtils$$.$isFocusable$);
$AdfFocusUtils$$.$acceptFocusableNode$ = function $$AdfFocusUtils$$$$acceptFocusableNode$$($el$$22$$, $context$$68$$) {
  if (null == $el$$22$$ || 1 != $el$$22$$.nodeType || $el$$22$$.disabled || -1 > $AdfDomUtils$$.$getTabIndex$($el$$22$$)) {
    return $AdfDomUtils$$.FILTER_REJECT;
  }
  if (!$AdfFocusUtils$$.$_isFocusableType$($el$$22$$)) {
    return $AdfDomUtils$$.FILTER_SKIP;
  }
  $AdfFocusUtils$$.$_setupContext$($context$$68$$);
  return $AdfFocusUtils$$.$isConnectedAndVisible$($el$$22$$, $context$$68$$) ? $AdfDomUtils$$.FILTER_ACCEPT : $AdfDomUtils$$.FILTER_REJECT;
};
$goog$exportSymbol$$("AdfFocusUtils.acceptFocusableNode", $AdfFocusUtils$$.$acceptFocusableNode$);
$AdfFocusUtils$$.$_setupContext$ = function $$AdfFocusUtils$$$$_setupContext$$($context$$69$$) {
  if ($context$$69$$ && !$context$$69$$.$positiveValue$) {
    var $timestamp$$5$$ = (new Date).getTime();
    $context$$69$$.$positiveValue$ = "y" + $timestamp$$5$$;
    $context$$69$$.$negativeValue$ = "n" + $timestamp$$5$$;
  }
};
$AdfFocusUtils$$.$calculateCachedValue$ = function $$AdfFocusUtils$$$$calculateCachedValue$$($cachedValue_el$$23$$, $context$$70$$, $expando$$1$$) {
  if ($context$$70$$ && $cachedValue_el$$23$$ && $expando$$1$$) {
    $cachedValue_el$$23$$ = $AdfAgent$$.$AGENT$.getAttribute($cachedValue_el$$23$$, $expando$$1$$);
    if ($cachedValue_el$$23$$ == $context$$70$$.$positiveValue$) {
      return !0;
    }
    if ($cachedValue_el$$23$$ == $context$$70$$.$negativeValue$) {
      return !1;
    }
  }
};
$goog$exportSymbol$$("AdfFocusUtils.calculateCachedValue", $AdfFocusUtils$$.$calculateCachedValue$);
$AdfFocusUtils$$.$setCacheValue$ = function $$AdfFocusUtils$$$$setCacheValue$$($el$$24$$, $context$$71$$, $expando$$2$$, $value$$274$$) {
  $context$$71$$ && $el$$24$$ && $expando$$2$$ && void 0 != $value$$274$$ && $AdfAgent$$.$AGENT$.$setExpandoProperty$($el$$24$$, $expando$$2$$, $value$$274$$ ? $context$$71$$.$positiveValue$ : $context$$71$$.$negativeValue$);
};
$goog$exportSymbol$$("AdfFocusUtils.setCacheValue", $AdfFocusUtils$$.$setCacheValue$);
$AdfFocusUtils$$.$isConnectedAndVisible$ = function $$AdfFocusUtils$$$$isConnectedAndVisible$$($el$$25$$, $context$$72$$) {
  $AdfAssert$$.$assertDomElement$($el$$25$$);
  var $documentElement$$13_parentValue$$ = $AdfAgent$$.$AGENT$.$getDomDocument$().documentElement, $cachedValue$$1$$ = $AdfFocusUtils$$.$calculateCachedValue$($el$$25$$, $context$$72$$, "_afrFoc");
  if (void 0 != $cachedValue$$1$$) {
    return $cachedValue$$1$$;
  }
  if (!$AdfFocusUtils$$.$_isVisible$($el$$25$$)) {
    return $AdfFocusUtils$$.$setCacheValue$($el$$25$$, $context$$72$$, "_afrFoc", !1), !1;
  }
  if ($el$$25$$ == $documentElement$$13_parentValue$$) {
    return $AdfFocusUtils$$.$setCacheValue$($el$$25$$, $context$$72$$, "_afrFoc", !0), !0;
  }
  $documentElement$$13_parentValue$$ = null == $el$$25$$.parentNode || 1 != $el$$25$$.parentNode.nodeType ? !1 : $AdfFocusUtils$$.$isConnectedAndVisible$($el$$25$$.parentNode, $context$$72$$);
  $AdfFocusUtils$$.$setCacheValue$($el$$25$$, $context$$72$$, "_afrFoc", $documentElement$$13_parentValue$$);
  return $documentElement$$13_parentValue$$;
};
$goog$exportSymbol$$("AdfFocusUtils.isConnectedAndVisible", $AdfFocusUtils$$.$isConnectedAndVisible$);
$AdfFocusUtils$$.$_isVisible$ = function $$AdfFocusUtils$$$$_isVisible$$($el$$26$$) {
  var $currentStyle$$16$$;
  $currentStyle$$16$$ || ($currentStyle$$16$$ = $AdfAgent$$.$AGENT$.getComputedStyle($el$$26$$));
  return $AdfFocusUtils$$.$_isDisplayNone$($el$$26$$, $currentStyle$$16$$) ? !1 : !$AdfFocusUtils$$.$_isVisibilityHidden$($el$$26$$, $currentStyle$$16$$);
};
$AdfFocusUtils$$.$_isVisibilityHidden$ = function $$AdfFocusUtils$$$$_isVisibilityHidden$$($el$$27$$, $currentStyle$$17$$) {
  $currentStyle$$17$$ || ($currentStyle$$17$$ = $AdfAgent$$.$AGENT$.getComputedStyle($el$$27$$));
  return $currentStyle$$17$$ && "hidden" == $currentStyle$$17$$.visibility;
};
$AdfFocusUtils$$.$_isDisplayNone$ = function $$AdfFocusUtils$$$$_isDisplayNone$$($el$$28$$, $currentStyle$$18$$) {
  $currentStyle$$18$$ || ($currentStyle$$18$$ = $AdfAgent$$.$AGENT$.getComputedStyle($el$$28$$));
  return !$currentStyle$$18$$ || "none" != $currentStyle$$18$$.display || "none" != $el$$28$$.style.display && $AdfPopupScopingUtils$$.$isScopingContainer$($el$$28$$) && $AdfPopupScopingUtils$$.$isOutOfScope$($el$$28$$) ? !1 : !0;
};
$AdfFocusUtils$$.$_isFocusableType$ = function $$AdfFocusUtils$$$$_isFocusableType$$($el$$29$$) {
  $AdfAssert$$.$assertDomElement$($el$$29$$);
  var $tabIdx$$1$$ = $AdfDomUtils$$.$getTabIndex$($el$$29$$);
  switch($el$$29$$.nodeName.toLowerCase()) {
    case "a":
      if (!$el$$29$$.href && void 0 == $tabIdx$$1$$) {
        return !1;
      }
    ;
    case "input":
      if ("hidden" == $el$$29$$.type && 1 != $el$$29$$.isContentEditable) {
        return !1;
      }
    ;
    case "area":
    ;
    case "body":
    ;
    case "button":
    ;
    case "frame":
    ;
    case "iframe":
    ;
    case "isindex":
    ;
    case "object":
    ;
    case "select":
    ;
    case "textarea":
      return !0;
    default:
      return -1 <= $tabIdx$$1$$ ? !0 : !1;
  }
};
$AdfFocusUtils$$.$focusElementDelayed$ = function $$AdfFocusUtils$$$$focusElementDelayed$$($element$$367$$, $timeout$$11$$) {
  $AdfAssert$$.$assertDomElement$($element$$367$$);
  $AdfAssert$$.$assertNumber$($timeout$$11$$);
  var $page$$224$$ = $AdfPage$$.$PAGE$, $timerId$$12$$ = $AdfFocusUtils$$.$_delayFocusTimerId$;
  $timerId$$12$$ && $page$$224$$.$cancelTimer$($timerId$$12$$);
  $AdfFocusUtils$$.$_delayFocusTimerId$ = $page$$224$$.$scheduleTimer$(null, $AdfFocusUtils$$.$_focusElementDelayedCallback$, $element$$367$$, $timeout$$11$$);
};
$goog$exportSymbol$$("AdfFocusUtils.focusElementDelayed", $AdfFocusUtils$$.$focusElementDelayed$);
$AdfFocusUtils$$.$_focusElementDelayedCallback$ = function $$AdfFocusUtils$$$$_focusElementDelayedCallback$$($element$$368$$) {
  $AdfFocusUtils$$.$_delayFocusTimerId$ = null;
  $AdfFocusUtils$$.$_focusElementImpl$($element$$368$$);
};
$AdfFocusUtils$$.$_focusElementImpl$ = function $$AdfFocusUtils$$$$_focusElementImpl$$($element$$369$$, $preventScroll$$3$$, $isTabEvent$$3$$) {
  try {
    var $agent$$775$$ = $AdfAgent$$.$AGENT$, $domWindow$$125$$ = $agent$$775$$.$getDomWindow$();
    $element$$369$$.setActive && 11 > $agent$$775$$.$getVersion$() && $element$$369$$.setActive();
    $preventScroll$$3$$ && 1 == $preventScroll$$3$$ ? $element$$369$$.focus({$preventScroll$:!0}) : ($element$$369$$.focus(), $domWindow$$125$$.$AdfSafariMobileAgent$ && $agent$$775$$ instanceof $AdfSafariMobileAgent$$ || !$isTabEvent$$3$$ || "text" == $element$$369$$.type && "INPUT" == $element$$369$$.tagName && $element$$369$$.setSelectionRange(0, $element$$369$$.value.length));
  } catch ($e$$157$$) {
    $AdfLogger$$.$LOGGER$.$logErrorAsWarning$($e$$157$$, " when calling _focusElementImpl");
  }
};
$AdfFocusUtils$$.$focusNextActiveDescendant$ = function $$AdfFocusUtils$$$$focusNextActiveDescendant$$($contextElement$$8$$, $currentActiveDescendant$$, $wrap$$3$$) {
  $AdfAssert$$.$assertDomElement$($contextElement$$8$$);
  $AdfAssert$$.$assertDomElement$($currentActiveDescendant$$);
  var $newActiveDescendant$$3$$ = $AdfFocusUtils$$.$getNextFocusableDescendant$($contextElement$$8$$, $currentActiveDescendant$$);
  if (!$newActiveDescendant$$3$$) {
    if ($wrap$$3$$) {
      $newActiveDescendant$$3$$ = $AdfFocusUtils$$.$getFirstFocusableDescendant$($contextElement$$8$$);
    } else {
      return $newActiveDescendant$$3$$;
    }
  }
  $newActiveDescendant$$3$$ && $newActiveDescendant$$3$$ != $currentActiveDescendant$$ && ($currentActiveDescendant$$.setAttribute("tabIndex", "-1"), $newActiveDescendant$$3$$.setAttribute("tabIndex", "0"), $AdfFocusUtils$$.$focusElement$($newActiveDescendant$$3$$));
  return $newActiveDescendant$$3$$;
};
$goog$exportSymbol$$("AdfFocusUtils.focusNextActiveDescendant", $AdfFocusUtils$$.$focusNextActiveDescendant$);
$AdfFocusUtils$$.$focusPreviousActiveDescendant$ = function $$AdfFocusUtils$$$$focusPreviousActiveDescendant$$($contextElement$$9$$, $currentActiveDescendant$$1$$, $wrap$$4$$) {
  $AdfAssert$$.$assertDomElement$($contextElement$$9$$);
  $AdfAssert$$.$assertDomElement$($currentActiveDescendant$$1$$);
  var $newActiveDescendant$$4$$ = $AdfFocusUtils$$.$getPreviousFocusableDescendant$($contextElement$$9$$, $currentActiveDescendant$$1$$);
  if (!$newActiveDescendant$$4$$) {
    if ($wrap$$4$$) {
      $newActiveDescendant$$4$$ = $AdfFocusUtils$$.$getLastFocusableDescendant$($contextElement$$9$$);
    } else {
      return $newActiveDescendant$$4$$;
    }
  }
  $newActiveDescendant$$4$$ && $newActiveDescendant$$4$$ != $currentActiveDescendant$$1$$ && ($currentActiveDescendant$$1$$.setAttribute("tabIndex", "-1"), $newActiveDescendant$$4$$.setAttribute("tabIndex", "0"), $AdfFocusUtils$$.$focusElement$($newActiveDescendant$$4$$));
  return $newActiveDescendant$$4$$;
};
$goog$exportSymbol$$("AdfFocusUtils.focusPreviousActiveDescendant", $AdfFocusUtils$$.$focusPreviousActiveDescendant$);
$AdfFocusUtils$$.$setFirstActiveDescendant$ = function $$AdfFocusUtils$$$$setFirstActiveDescendant$$($contextElement$$10$$, $context$$73$$) {
  $AdfAssert$$.$assertDomElement$($contextElement$$10$$);
  var $newActiveDescendant$$5$$ = $AdfFocusUtils$$.$getFirstFocusableDescendant$($contextElement$$10$$, $context$$73$$);
  $newActiveDescendant$$5$$ && $newActiveDescendant$$5$$.setAttribute("tabIndex", "0");
  return $newActiveDescendant$$5$$;
};
$goog$exportSymbol$$("AdfFocusUtils.setFirstActiveDescendant", $AdfFocusUtils$$.$setFirstActiveDescendant$);
$AdfFocusUtils$$.$setupCompositeWidget$ = function $$AdfFocusUtils$$$$setupCompositeWidget$$($contextElement$$11$$) {
  $AdfAssert$$.$assertDomElement$($contextElement$$11$$);
  for (var $context$$74$$ = {$includeVisibilityHidden$:!0, $includeDisplayNone$:!1, $includeDisabled$:!0}, $nextFocusableDescendant$$ = $AdfFocusUtils$$.$getFirstFocusableDescendant$($contextElement$$11$$, $context$$74$$);$nextFocusableDescendant$$;) {
    $nextFocusableDescendant$$.setAttribute("tabIndex", "-1"), $nextFocusableDescendant$$ = $AdfFocusUtils$$.$getNextFocusableDescendant$($contextElement$$11$$, $nextFocusableDescendant$$, $context$$74$$);
  }
  return $AdfFocusUtils$$.$setFirstActiveDescendant$($contextElement$$11$$);
};
$goog$exportSymbol$$("AdfFocusUtils.setupCompositeWidget", $AdfFocusUtils$$.$setupCompositeWidget$);
$AdfFocusUtils$$.$getFirstFocusableDescendant$ = function $$AdfFocusUtils$$$$getFirstFocusableDescendant$$($element$$370$$, $context$$75$$) {
  $AdfAssert$$.$assertDomElement$($element$$370$$);
  return $AdfDomUtils$$.$getFirstFilteredElement$($element$$370$$, !1, $AdfFocusUtils$$.$isFocusableDescendant$, $context$$75$$);
};
$goog$exportSymbol$$("AdfFocusUtils.getFirstFocusableDescendant", $AdfFocusUtils$$.$getFirstFocusableDescendant$);
$AdfFocusUtils$$.$getLastFocusableDescendant$ = function $$AdfFocusUtils$$$$getLastFocusableDescendant$$($element$$371$$, $context$$76$$) {
  $AdfAssert$$.$assertDomElement$($element$$371$$);
  return $AdfDomUtils$$.$getLastFilteredElement$($element$$371$$, !1, $AdfFocusUtils$$.$isFocusableDescendant$, $context$$76$$);
};
$goog$exportSymbol$$("AdfFocusUtils.getLastFocusableDescendant", $AdfFocusUtils$$.$getLastFocusableDescendant$);
$AdfFocusUtils$$.$getNextFocusableDescendant$ = function $$AdfFocusUtils$$$$getNextFocusableDescendant$$($contextElement$$12$$, $element$$372$$, $context$$77$$) {
  $AdfAssert$$.$assertDomElement$($contextElement$$12$$);
  $AdfAssert$$.$assertDomElement$($element$$372$$);
  return $AdfDomUtils$$.$getNextFilteredElement$($element$$372$$, $contextElement$$12$$, !0, $AdfFocusUtils$$.$isFocusableDescendant$, $context$$77$$);
};
$goog$exportSymbol$$("AdfFocusUtils.getNextFocusableDescendant", $AdfFocusUtils$$.$getNextFocusableDescendant$);
$AdfFocusUtils$$.$getPreviousFocusableDescendant$ = function $$AdfFocusUtils$$$$getPreviousFocusableDescendant$$($contextElement$$13$$, $element$$373$$, $context$$78$$) {
  $AdfAssert$$.$assertDomElement$($contextElement$$13$$);
  $AdfAssert$$.$assertDomElement$($element$$373$$);
  return $AdfDomUtils$$.$getPreviousFilteredElement$($element$$373$$, $contextElement$$13$$, $AdfFocusUtils$$.$isFocusableDescendant$, $context$$78$$);
};
$goog$exportSymbol$$("AdfFocusUtils.getPreviousFocusableDescendant", $AdfFocusUtils$$.$getPreviousFocusableDescendant$);
$AdfFocusUtils$$.$getFirstUnmarkedTabstop$ = function $$AdfFocusUtils$$$$getFirstUnmarkedTabstop$$($element$$374$$) {
  $AdfAssert$$.$assertDomElement$($element$$374$$);
  return $AdfDomUtils$$.$getFirstFilteredElement$($element$$374$$, !1, $AdfFocusUtils$$.$isUnmarkedTabstop$);
};
$goog$exportSymbol$$("AdfFocusUtils.getFirstUnmarkedTabstop", $AdfFocusUtils$$.$getFirstUnmarkedTabstop$);
$AdfFocusUtils$$.$isUnmarkedTabstop$ = function $$AdfFocusUtils$$$$isUnmarkedTabstop$$($element$$375$$) {
  var $logger$$26$$ = $AdfLogger$$.$LOGGER$;
  if (null == $element$$375$$ || 1 != $element$$375$$.nodeType) {
    return $logger$$26$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$26$$.fine("isUnmarkedTabstop: Null or not element node type"), $AdfDomUtils$$.FILTER_REJECT;
  }
  var $isDisplayNone$$ = $AdfFocusUtils$$.$_isDisplayNone$($element$$375$$);
  if ($isDisplayNone$$) {
    return $logger$$26$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$26$$.fine("isUnmarkedTabstop: Node display none: " + $isDisplayNone$$ + ", node tree: " + $element$$375$$.id + " " + $element$$375$$.nodeName), $AdfDomUtils$$.FILTER_REJECT;
  }
  if ($element$$375$$.attributes[$AdfFocusUtils$$.$DESCENDANT_FOCUSABLE$]) {
    return $logger$$26$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$26$$.fine("isUnmarkedTabstop: Node is a marked tabstop: " + $element$$375$$.id + " " + $element$$375$$.nodeName), $AdfDomUtils$$.FILTER_REJECT;
  }
  if ($AdfFocusUtils$$.$isTabStop$($element$$375$$)) {
    return $logger$$26$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$26$$.fine("isUnmarkedTabstop: Found node that is an unmarked tabstop: " + $element$$375$$.id + " " + $element$$375$$.nodeName), $AdfDomUtils$$.FILTER_ACCEPT;
  }
  $logger$$26$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$26$$.fine("isUnmarkedTabstop: Node not a tabstop: " + $element$$375$$.id + " " + $element$$375$$.nodeName);
  return $AdfDomUtils$$.FILTER_SKIP;
};
$goog$exportSymbol$$("AdfFocusUtils.isUnmarkedTabstop", $AdfFocusUtils$$.$isUnmarkedTabstop$);
$AdfFocusUtils$$.$isFocusableDescendant$ = function $$AdfFocusUtils$$$$isFocusableDescendant$$($element$$376$$, $context$$79$$) {
  var $logger$$27$$ = $AdfLogger$$.$LOGGER$;
  $context$$79$$ = null == $context$$79$$ ? {$includeVisibilityHidden$:!1, $includeDisplayNone$:!1, $includeDisabled$:!1} : $context$$79$$;
  if (null == $element$$376$$ || 1 != $element$$376$$.nodeType) {
    return $logger$$27$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$27$$.fine("isFocusableDescendant? Skip and reject tree: Null or not element node type"), $AdfDomUtils$$.FILTER_REJECT;
  }
  var $elementStyle$$8_focusableAttribute$$1$$ = $AdfAgent$$.$AGENT$.getComputedStyle($element$$376$$);
  if ($AdfFocusUtils$$.$_isVisibilityHidden$($element$$376$$, $elementStyle$$8_focusableAttribute$$1$$) && !$context$$79$$.$includeVisibilityHidden$) {
    return $logger$$27$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$27$$.fine("isFocusableDescendant? Skip and reject tree, Node is visibility hidden, node: " + $element$$376$$.id + " " + $element$$376$$.nodeName), $AdfDomUtils$$.FILTER_REJECT;
  }
  if ($AdfFocusUtils$$.$_isDisplayNone$($element$$376$$, $elementStyle$$8_focusableAttribute$$1$$) && !$context$$79$$.$includeDisplayNone$) {
    return $logger$$27$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$27$$.fine("isFocusableDescendant? Skip and reject tree, Node is display none, node: " + $element$$376$$.id + " " + $element$$376$$.nodeName), $AdfDomUtils$$.FILTER_REJECT;
  }
  $elementStyle$$8_focusableAttribute$$1$$ = $element$$376$$.attributes[$AdfFocusUtils$$.$DESCENDANT_FOCUSABLE$];
  if (!$elementStyle$$8_focusableAttribute$$1$$) {
    return $logger$$27$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$27$$.fine("isFocusableDescendant? Skip, node not focusable, node: " + $element$$376$$.id + " " + $element$$376$$.nodeName), $AdfDomUtils$$.FILTER_SKIP;
  }
  if ("true" == $elementStyle$$8_focusableAttribute$$1$$.value) {
    return $logger$$27$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$27$$.fine("isFocusableDescendant? Accept, node focusable TRUE, node: " + $element$$376$$.id + " " + $element$$376$$.nodeName), $AdfDomUtils$$.FILTER_ACCEPT;
  }
  if ("false" == $elementStyle$$8_focusableAttribute$$1$$.value) {
    return $logger$$27$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$27$$.fine("isFocusableDescendant? Node focusable FALSE, node: " + $element$$376$$.id + " " + $element$$376$$.nodeName), $context$$79$$.$includeDisabled$ ? $AdfDomUtils$$.FILTER_ACCEPT : $AdfDomUtils$$.FILTER_REJECT;
  }
  $logger$$27$$.$isLoggable$($AdfLogger$$.FINE) && $logger$$27$$.fine("isFocusableDescendant? Skip, invalid value found: " + $elementStyle$$8_focusableAttribute$$1$$.name + " " + $elementStyle$$8_focusableAttribute$$1$$.value);
  return $AdfDomUtils$$.FILTER_SKIP;
};
$goog$exportSymbol$$("AdfFocusUtils.isFocusableDescendant", $AdfFocusUtils$$.$isFocusableDescendant$);
$AdfFocusUtils$$.$DESCENDANT_FOCUSABLE$ = "data-afr-fcs";
$goog$exportSymbol$$("AdfFocusUtils.DESCENDANT_FOCUSABLE", $AdfFocusUtils$$.$DESCENDANT_FOCUSABLE$);
