function $AdfIE8Agent$$($version$$31$$, $domWindow$$29$$) {
  this.Init($version$$31$$, $domWindow$$29$$);
  $AdfIEAgent$$.$assertBrowserMode$(this)
}
$goog$exportSymbol$$("AdfIE8Agent", $AdfIE8Agent$$);
$AdfObject$$.$createSubclass$($AdfIE8Agent$$, $AdfIEAgentLegacy$$);
$AdfIE8Agent$$.prototype.$getElementPosition$ = function $$AdfIE8Agent$$$$$getElementPosition$$($docElement$$9_element$$78$$) {
  $AdfAssert$$.$assertDomElement$($docElement$$9_element$$78$$);
  var $boundingRect$$9_elemLeft$$5$$ = $docElement$$9_element$$78$$.getBoundingClientRect(), $elemTop$$5$$ = $boundingRect$$9_elemLeft$$5$$.top, $boundingRect$$9_elemLeft$$5$$ = $boundingRect$$9_elemLeft$$5$$.left;
  $docElement$$9_element$$78$$ = $docElement$$9_element$$78$$.ownerDocument.documentElement;
  var $scrollLeft$$1$$ = $docElement$$9_element$$78$$.scrollLeft;
  $AdfPage$$.$PAGE$.$getLocaleContext$().$isRightToLeft$() && ($scrollLeft$$1$$ = -$scrollLeft$$1$$);
  $boundingRect$$9_elemLeft$$5$$ -= $docElement$$9_element$$78$$.clientLeft - $scrollLeft$$1$$;
  $elemTop$$5$$ -= $docElement$$9_element$$78$$.clientTop - $docElement$$9_element$$78$$.scrollTop;
  return{x:$boundingRect$$9_elemLeft$$5$$, y:$elemTop$$5$$}
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.getElementPosition", {$getElementPosition$:$AdfIE8Agent$$.prototype.$getElementPosition$});
$AdfIE8Agent$$.prototype.$getElementLeft$ = function $$AdfIE8Agent$$$$$getElementLeft$$($docElement$$10_element$$79$$) {
  $AdfAssert$$.$assertDomElement$($docElement$$10_element$$79$$);
  var $elemLeft$$6$$ = $docElement$$10_element$$79$$.getBoundingClientRect().left;
  $docElement$$10_element$$79$$ = $docElement$$10_element$$79$$.ownerDocument.documentElement;
  var $scrollLeft$$2$$ = $docElement$$10_element$$79$$.scrollLeft;
  $AdfPage$$.$PAGE$.$getLocaleContext$().$isRightToLeft$() && ($scrollLeft$$2$$ = -$scrollLeft$$2$$);
  return $elemLeft$$6$$ -= $docElement$$10_element$$79$$.clientLeft - $scrollLeft$$2$$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.getElementLeft", {$getElementLeft$:$AdfIE8Agent$$.prototype.$getElementLeft$});
$AdfIE8Agent$$.prototype.$getTableRows$ = function $$AdfIE8Agent$$$$$getTableRows$$($currTableChild_tableElement$$2$$) {
  var $rows$$ = [];
  for($currTableChild_tableElement$$2$$ = $currTableChild_tableElement$$2$$.firstChild;$currTableChild_tableElement$$2$$;) {
    if(1 == $currTableChild_tableElement$$2$$.nodeType) {
      for(var $currSectionChild$$ = $currTableChild_tableElement$$2$$.firstChild;$currSectionChild$$;) {
        1 == $currSectionChild$$.nodeType && $rows$$.push($currSectionChild$$), $currSectionChild$$ = $currSectionChild$$.nextSibling
      }
    }
    $currTableChild_tableElement$$2$$ = $currTableChild_tableElement$$2$$.nextSibling
  }
  return $rows$$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.getTableRows", {$getTableRows$:$AdfIE8Agent$$.prototype.$getTableRows$});
$AdfIE8Agent$$.prototype.$getTableRow$ = function $$AdfIE8Agent$$$$$getTableRow$$($tableElement$$3$$, $rowIndex$$1$$) {
  $rowIndex$$1$$ === $JSCompiler_alias_VOID$$ && ($rowIndex$$1$$ = 0);
  for(var $currTableChild$$1$$ = $tableElement$$3$$.firstChild;$currTableChild$$1$$ != $JSCompiler_alias_NULL$$;) {
    if(1 == $currTableChild$$1$$.nodeType) {
      for(var $currSectionChild$$1$$ = $currTableChild$$1$$.firstChild;$currSectionChild$$1$$;) {
        if(1 == $currSectionChild$$1$$.nodeType) {
          if(0 == $rowIndex$$1$$) {
            return $currSectionChild$$1$$
          }
          $rowIndex$$1$$--
        }
        $currSectionChild$$1$$ = $currSectionChild$$1$$.nextSibling
      }
    }
    $currTableChild$$1$$ = $currTableChild$$1$$.nextSibling
  }
  return $JSCompiler_alias_NULL$$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.getTableRow", {$getTableRow$:$AdfIE8Agent$$.prototype.$getTableRow$});
$AdfIE8Agent$$.prototype.$getTableRowCells$ = function $$AdfIE8Agent$$$$$getTableRowCells$$($currRowChild_tableRow$$1$$) {
  var $cells$$1$$ = [];
  for($currRowChild_tableRow$$1$$ = $currRowChild_tableRow$$1$$.firstChild;$currRowChild_tableRow$$1$$;) {
    1 == $currRowChild_tableRow$$1$$.nodeType && $cells$$1$$.push($currRowChild_tableRow$$1$$), $currRowChild_tableRow$$1$$ = $currRowChild_tableRow$$1$$.nextSibling
  }
  return $cells$$1$$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.getTableRowCells", {$getTableRowCells$:$AdfIE8Agent$$.prototype.$getTableRowCells$});
$AdfIE8Agent$$.prototype.$isSessionStorageEnabled$ = function $$AdfIE8Agent$$$$$isSessionStorageEnabled$$() {
  if(this.$_isSessionStorageEnabled$ === $JSCompiler_alias_VOID$$) {
    try {
      sessionStorage.setItem("_adfTestKey", "on"), sessionStorage.removeItem("_adfTestKey"), this.$_isSessionStorageEnabled$ = $JSCompiler_alias_TRUE$$
    }catch($e$$47$$) {
      $AdfLogger$$.$LOGGER$.$logErrorAsInfo$($e$$47$$, "userdata monitoring has been disabled because an error occurred accessing the DOM sessionStorage. Please ensure that 'DOM Storage' is enabled in your IE browser settings."), this.$_isSessionStorageEnabled$ = $JSCompiler_alias_FALSE$$
    }
  }
  return this.$_isSessionStorageEnabled$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.isSessionStorageEnabled", {$isSessionStorageEnabled$:$AdfIE8Agent$$.prototype.$isSessionStorageEnabled$});
$AdfIE8Agent$$.prototype.$getSessionStorageProperty$ = function $$AdfIE8Agent$$$$$getSessionStorageProperty$$($propKey$$6$$) {
  $AdfAssert$$.$assertString$($propKey$$6$$);
  try {
    return sessionStorage.getItem($propKey$$6$$)
  }catch($e$$48$$) {
    $AdfLogger$$.$LOGGER$.$logErrorAsInfo$($e$$48$$, "An error occurred trying to access DOM sessionStorage."), $JSCompiler_alias_THROW$$($e$$48$$)
  }
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.getSessionStorageProperty", {$getSessionStorageProperty$:$AdfIE8Agent$$.prototype.$getSessionStorageProperty$});
$AdfIE8Agent$$.prototype.$removeSessionStorageProperty$ = function $$AdfIE8Agent$$$$$removeSessionStorageProperty$$($propKey$$7$$) {
  $AdfAssert$$.$assertString$($propKey$$7$$);
  try {
    sessionStorage.removeItem($propKey$$7$$)
  }catch($e$$49$$) {
    $AdfLogger$$.$LOGGER$.$logErrorAsInfo$($e$$49$$, "An error occurred trying to access DOM sessionStorage."), $JSCompiler_alias_THROW$$($e$$49$$)
  }
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.removeSessionStorageProperty", {$removeSessionStorageProperty$:$AdfIE8Agent$$.prototype.$removeSessionStorageProperty$});
$AdfIE8Agent$$.prototype.$setSessionStorageProperty$ = function $$AdfIE8Agent$$$$$setSessionStorageProperty$$($propKey$$8$$, $propValue$$6$$) {
  $AdfAssert$$.$assertString$($propKey$$8$$);
  $AdfAssert$$.$assertString$($propValue$$6$$);
  try {
    sessionStorage.setItem($propKey$$8$$, $propValue$$6$$)
  }catch($e$$50$$) {
    $AdfLogger$$.$LOGGER$.$logErrorAsInfo$($e$$50$$, "An error occurred trying to access DOM sessionStorage."), $JSCompiler_alias_THROW$$($e$$50$$)
  }
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.setSessionStorageProperty", {$setSessionStorageProperty$:$AdfIE8Agent$$.prototype.$setSessionStorageProperty$});
$AdfIE8Agent$$.prototype.$setTableRowHeight$ = function $$AdfIE8Agent$$$$$setTableRowHeight$$($row$$4$$, $height$$17$$) {
  $row$$4$$.style.height = $height$$17$$ + "px"
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.setTableRowHeight", {$setTableRowHeight$:$AdfIE8Agent$$.prototype.$setTableRowHeight$});
$AdfIE8Agent$$.prototype.$setOpacity$ = function $$AdfIE8Agent$$$$$setOpacity$$($element$$80$$, $opacityPercent$$1$$) {
  var $filter$$5_filters$$ = $JSCompiler_alias_NULL$$;
  try {
    $filter$$5_filters$$ = $element$$80$$.filters
  }catch($problem$$1$$) {
    $filter$$5_filters$$ = $JSCompiler_alias_NULL$$
  }
  $filter$$5_filters$$ = $filter$$5_filters$$ ? $filter$$5_filters$$.alpha : $JSCompiler_alias_NULL$$;
  $filter$$5_filters$$ == $JSCompiler_alias_NULL$$ ? 100 != $opacityPercent$$1$$ && ($element$$80$$.style.filter += "alpha(opacity\x3d" + $opacityPercent$$1$$ + ")") : ($filter$$5_filters$$.opacity = $opacityPercent$$1$$, $filter$$5_filters$$.enabled = 100 > $opacityPercent$$1$$)
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.setOpacity", {$setOpacity$:$AdfIE8Agent$$.prototype.$setOpacity$});
$AdfIE8Agent$$.prototype.$elementsRemoved$ = function $$AdfIE8Agent$$$$$elementsRemoved$$($elements$$1_node$$30$$) {
  var $idToDomMap$$2$$ = this.$_ID_TO_DOM_MAP$, $elementCount_targetId$$2$$ = $elements$$1_node$$30$$.id;
  $elementCount_targetId$$2$$ != $JSCompiler_alias_NULL$$ && delete $idToDomMap$$2$$[$elementCount_targetId$$2$$];
  $elements$$1_node$$30$$ = $elements$$1_node$$30$$.all;
  for(var $elementCount_targetId$$2$$ = $elements$$1_node$$30$$.length, $i$$65$$ = 0;$i$$65$$ < $elementCount_targetId$$2$$;$i$$65$$++) {
    var $currId$$4$$ = $elements$$1_node$$30$$($i$$65$$).getAttribute("id");
    $currId$$4$$ && delete $idToDomMap$$2$$[$currId$$4$$]
  }
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.elementsRemoved", {$elementsRemoved$:$AdfIE8Agent$$.prototype.$elementsRemoved$});
$AdfIE8Agent$$.prototype.$elementsAdded$ = function $$AdfIE8Agent$$$$$elementsAdded$$($elements$$2_node$$31$$) {
  var $idToDomMap$$3$$ = this.$_ID_TO_DOM_MAP$, $elementCount$$1_targetId$$3$$ = $elements$$2_node$$31$$.id;
  $elementCount$$1_targetId$$3$$ != $JSCompiler_alias_NULL$$ && ($idToDomMap$$3$$[$elementCount$$1_targetId$$3$$] = $elements$$2_node$$31$$);
  $elements$$2_node$$31$$ = $elements$$2_node$$31$$.all;
  for(var $elementCount$$1_targetId$$3$$ = $elements$$2_node$$31$$.length, $i$$66$$ = 0;$i$$66$$ < $elementCount$$1_targetId$$3$$;$i$$66$$++) {
    var $currElement$$3$$ = $elements$$2_node$$31$$($i$$66$$), $currId$$5$$ = $currElement$$3$$.getAttribute("id");
    $currId$$5$$ && ($idToDomMap$$3$$[$currId$$5$$] = $currElement$$3$$)
  }
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.elementsAdded", {$elementsAdded$:$AdfIE8Agent$$.prototype.$elementsAdded$});
$AdfIE8Agent$$.prototype.$addEventCaptures$ = function $$AdfIE8Agent$$$$$addEventCaptures$$($node$$32$$, $listener$$59$$) {
  $AdfAssert$$.$assertDomNode$($node$$32$$);
  $AdfAssert$$.$assertFunction$($listener$$59$$);
  for(var $events$$2$$ = $AdfAgent$$.$REDISTRIBUTE_EVENTS$, $eventCount$$4$$ = $events$$2$$.length, $eventIndex$$5$$ = 0;$eventIndex$$5$$ < $eventCount$$4$$;$eventIndex$$5$$++) {
    $node$$32$$.attachEvent("on" + $events$$2$$[$eventIndex$$5$$], $listener$$59$$, $JSCompiler_alias_TRUE$$)
  }
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.addEventCaptures", {$addEventCaptures$:$AdfIE8Agent$$.prototype.$addEventCaptures$});
$AdfIE8Agent$$.prototype.$removeEventCaptures$ = function $$AdfIE8Agent$$$$$removeEventCaptures$$($node$$33$$, $listener$$60$$) {
  $AdfAssert$$.$assertDomNode$($node$$33$$);
  $AdfAssert$$.$assertFunction$($listener$$60$$);
  for(var $events$$3$$ = $AdfAgent$$.$REDISTRIBUTE_EVENTS$, $eventCount$$5$$ = $events$$3$$.length, $eventIndex$$6$$ = 0;$eventIndex$$6$$ < $eventCount$$5$$;$eventIndex$$6$$++) {
    $node$$33$$.detachEvent("on" + $events$$3$$[$eventIndex$$6$$], $listener$$60$$, $JSCompiler_alias_TRUE$$)
  }
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.removeEventCaptures", {$removeEventCaptures$:$AdfIE8Agent$$.prototype.$removeEventCaptures$});
$AdfIE8Agent$$.prototype.$getBoxSizing$ = function $$AdfIE8Agent$$$$$getBoxSizing$$($element$$81$$, $currentStyle$$10$$) {
  $currentStyle$$10$$ || ($currentStyle$$10$$ = this.getComputedStyle($element$$81$$));
  return $currentStyle$$10$$.getAttribute("-ms-box-sizing")
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.getBoxSizing", {$getBoxSizing$:$AdfIE8Agent$$.prototype.$getBoxSizing$});
$AdfIE8Agent$$.prototype.$CreateDefaultLogWriter$ = function $$AdfIE8Agent$$$$$CreateDefaultLogWriter$$($nativeLogWriter$$3$$) {
  if($AdfAssert$$.$DEBUG$) {
    var $window$$1$$ = this.$getDomWindow$(), $console$$1$$ = $window$$1$$.console;
    return $console$$1$$ && $console$$1$$.log ? $nativeLogWriter$$3$$ : new $AdfConsoleLogWriter$$($window$$1$$, $nativeLogWriter$$3$$)
  }
  return $nativeLogWriter$$3$$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.CreateDefaultLogWriter", {$CreateDefaultLogWriter$:$AdfIE8Agent$$.prototype.$CreateDefaultLogWriter$});
$AdfIE8Agent$$.prototype.cloneNode = function $$AdfIE8Agent$$$$cloneNode$($domNode$$13$$) {
  return $domNode$$13$$.cloneNode($JSCompiler_alias_TRUE$$)
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.cloneNode", {cloneNode:$AdfIE8Agent$$.prototype.cloneNode});
$AdfIE8Agent$$.prototype.hasAttribute = function $$AdfIE8Agent$$$$hasAttribute$($element$$82$$, $attribute$$2$$) {
  $AdfAssert$$.$assertDomElement$($element$$82$$);
  return $element$$82$$.hasAttribute($attribute$$2$$.name)
};
$AdfObject$$.$exportPrototypeSymbol$("AdfIE8Agent.prototype.hasAttribute", {hasAttribute:$AdfIE8Agent$$.prototype.hasAttribute});
