text: 
  
  /***
   *     /$$$$$$$ /$$                               /$$                                  /$$$$$ /$$$$$$
   *    | $$__  $| $$                              | $$                                 |__  $$/$$__  $$
   *    | $$  \ $| $$ /$$$$$$  /$$$$$$ /$$$$$$/$$$$| $$$$$$$  /$$$$$$ /$$   /$$            | $| $$  \__/
   *    | $$$$$$$| $$/$$__  $$/$$__  $| $$_  $$_  $| $$__  $$/$$__  $|  $$ /$$/            | $|  $$$$$$
   *    | $$__  $| $| $$  \ $| $$  \ $| $$ \ $$ \ $| $$  \ $| $$  \ $$\  $$$$/        /$$  | $$\____  $$
   *    | $$  \ $| $| $$  | $| $$  | $| $$ | $$ | $| $$  | $| $$  | $$ >$$  $$       | $$  | $$/$$  \ $$
   *    | $$$$$$$| $|  $$$$$$|  $$$$$$| $$ | $$ | $| $$$$$$$|  $$$$$$//$$/\  $$      |  $$$$$$|  $$$$$$/
   *    |_______/|__/\______/ \______/|__/ |__/ |__|_______/ \______/|__/  \__/       \______/ \______/
   *
   * Bloombox JS v1.0.0-beta
   *
   * Copyright (c) 2017, Momentum Ideas, Co. All rights reserved. Distributed under the Apache License, Version 2.0,
   * last revised January 2004 and enclosed in this codebase in 'LICENSE.txt'. Also, see third-party license notices
   * in 'NOTICE.txt'.
   *
   */
  (function(){'use strict';
  var $JSCompiler_prototypeAlias$$, $$jscomp$defineProperty$$ = "function" == typeof Object.defineProperties ? Object.defineProperty : function($target$jscomp$55$$, $property$jscomp$4$$, $descriptor$jscomp$1$$) {
    $target$jscomp$55$$ != Array.prototype && $target$jscomp$55$$ != Object.prototype && ($target$jscomp$55$$[$property$jscomp$4$$] = $descriptor$jscomp$1$$.value);
  }, $$jscomp$global$$ = "undefined" != typeof window && window === this ? this : "undefined" != typeof global && null != global ? global : this;
  function $$jscomp$initSymbol$$() {
    $$jscomp$initSymbol$$ = function $$$jscomp$initSymbol$$$() {
    };
    $$jscomp$global$$.Symbol || ($$jscomp$global$$.Symbol = $$jscomp$Symbol$$);
  }
  var $$jscomp$Symbol$$ = function() {
    var $counter$$ = 0;
    return function Symbol$jscomp$1($opt_description$jscomp$1$$) {
      return "jscomp_symbol_" + ($opt_description$jscomp$1$$ || "") + $counter$$++;
    };
  }();
  function $$jscomp$initSymbolIterator$$() {
    $$jscomp$initSymbol$$();
    var $symbolIterator$$ = $$jscomp$global$$.Symbol.iterator;
    $symbolIterator$$ || ($symbolIterator$$ = $$jscomp$global$$.Symbol.iterator = $$jscomp$global$$.Symbol("iterator"));
    "function" != typeof Array.prototype[$symbolIterator$$] && $$jscomp$defineProperty$$(Array.prototype, $symbolIterator$$, {configurable:!0, writable:!0, value:function() {
      return $$jscomp$arrayIterator$$(this);
    }});
    $$jscomp$initSymbolIterator$$ = function $$$jscomp$initSymbolIterator$$$() {
    };
  }
  function $$jscomp$arrayIterator$$($array$jscomp$5$$) {
    var $index$jscomp$54$$ = 0;
    return $$jscomp$iteratorPrototype$$(function() {
      return $index$jscomp$54$$ < $array$jscomp$5$$.length ? {done:!1, value:$array$jscomp$5$$[$index$jscomp$54$$++]} : {done:!0};
    });
  }
  function $$jscomp$iteratorPrototype$$($iterator$jscomp$6_next$$) {
    $$jscomp$initSymbolIterator$$();
    $iterator$jscomp$6_next$$ = {next:$iterator$jscomp$6_next$$};
    $iterator$jscomp$6_next$$[$$jscomp$global$$.Symbol.iterator] = function $$iterator$jscomp$6_next$$$$$jscomp$global$$$Symbol$iterator$() {
      return this;
    };
    return $iterator$jscomp$6_next$$;
  }
  function $$jscomp$polyfill$$($property$jscomp$5_split_target$jscomp$56$$, $impl_polyfill$$) {
    if ($impl_polyfill$$) {
      var $obj$jscomp$25$$ = $$jscomp$global$$;
      $property$jscomp$5_split_target$jscomp$56$$ = $property$jscomp$5_split_target$jscomp$56$$.split(".");
      for (var $i$jscomp$3_orig$$ = 0; $i$jscomp$3_orig$$ < $property$jscomp$5_split_target$jscomp$56$$.length - 1; $i$jscomp$3_orig$$++) {
        var $key$jscomp$35$$ = $property$jscomp$5_split_target$jscomp$56$$[$i$jscomp$3_orig$$];
        $key$jscomp$35$$ in $obj$jscomp$25$$ || ($obj$jscomp$25$$[$key$jscomp$35$$] = {});
        $obj$jscomp$25$$ = $obj$jscomp$25$$[$key$jscomp$35$$];
      }
      $property$jscomp$5_split_target$jscomp$56$$ = $property$jscomp$5_split_target$jscomp$56$$[$property$jscomp$5_split_target$jscomp$56$$.length - 1];
      $i$jscomp$3_orig$$ = $obj$jscomp$25$$[$property$jscomp$5_split_target$jscomp$56$$];
      $impl_polyfill$$ = $impl_polyfill$$($i$jscomp$3_orig$$);
      $impl_polyfill$$ != $i$jscomp$3_orig$$ && null != $impl_polyfill$$ && $$jscomp$defineProperty$$($obj$jscomp$25$$, $property$jscomp$5_split_target$jscomp$56$$, {configurable:!0, writable:!0, value:$impl_polyfill$$});
    }
  }
  $$jscomp$polyfill$$("Array.from", function($orig$jscomp$1$$) {
    return $orig$jscomp$1$$ ? $orig$jscomp$1$$ : function($arrayLike$jscomp$1$$, $opt_mapFn$jscomp$10$$, $opt_thisArg$jscomp$9$$) {
      $$jscomp$initSymbolIterator$$();
      $opt_mapFn$jscomp$10$$ = null != $opt_mapFn$jscomp$10$$ ? $opt_mapFn$jscomp$10$$ : function($x$jscomp$74$$) {
        return $x$jscomp$74$$;
      };
      var $result$$ = [], $iteratorFunction_len_next$jscomp$1$$ = $arrayLike$jscomp$1$$[Symbol.iterator];
      if ("function" == typeof $iteratorFunction_len_next$jscomp$1$$) {
        for ($arrayLike$jscomp$1$$ = $iteratorFunction_len_next$jscomp$1$$.call($arrayLike$jscomp$1$$); !($iteratorFunction_len_next$jscomp$1$$ = $arrayLike$jscomp$1$$.next()).done;) {
          $result$$.push($opt_mapFn$jscomp$10$$.call($opt_thisArg$jscomp$9$$, $iteratorFunction_len_next$jscomp$1$$.value));
        }
      } else {
        $iteratorFunction_len_next$jscomp$1$$ = $arrayLike$jscomp$1$$.length;
        for (var $i$jscomp$4$$ = 0; $i$jscomp$4$$ < $iteratorFunction_len_next$jscomp$1$$; $i$jscomp$4$$++) {
          $result$$.push($opt_mapFn$jscomp$10$$.call($opt_thisArg$jscomp$9$$, $arrayLike$jscomp$1$$[$i$jscomp$4$$]));
        }
      }
      return $result$$;
    };
  });
  function $$jscomp$makeIterator$$($iterable$jscomp$2$$) {
    $$jscomp$initSymbolIterator$$();
    var $iteratorFunction$jscomp$1$$ = $iterable$jscomp$2$$[Symbol.iterator];
    return $iteratorFunction$jscomp$1$$ ? $iteratorFunction$jscomp$1$$.call($iterable$jscomp$2$$) : $$jscomp$arrayIterator$$($iterable$jscomp$2$$);
  }
  function $$jscomp$owns$$($obj$jscomp$26$$, $prop$jscomp$4$$) {
    return Object.prototype.hasOwnProperty.call($obj$jscomp$26$$, $prop$jscomp$4$$);
  }
  $$jscomp$polyfill$$("WeakMap", function($NativeWeakMap$$) {
    function $PolyfillWeakMap$$($iter_opt_iterable$jscomp$4$$) {
      this.$a$ = ($index$jscomp$55$$ += Math.random() + 1).toString();
      if ($iter_opt_iterable$jscomp$4$$) {
        $$jscomp$initSymbol$$();
        $$jscomp$initSymbolIterator$$();
        $iter_opt_iterable$jscomp$4$$ = $$jscomp$makeIterator$$($iter_opt_iterable$jscomp$4$$);
        for (var $entry_item$$; !($entry_item$$ = $iter_opt_iterable$jscomp$4$$.next()).done;) {
          $entry_item$$ = $entry_item$$.value, this.set($entry_item$$[0], $entry_item$$[1]);
        }
      }
    }
    function $insert$$($target$jscomp$57$$) {
      $$jscomp$owns$$($target$jscomp$57$$, $prop$jscomp$5$$) || $$jscomp$defineProperty$$($target$jscomp$57$$, $prop$jscomp$5$$, {value:{}});
    }
    function $patch$$($name$jscomp$64$$) {
      var $prev$$ = Object[$name$jscomp$64$$];
      $prev$$ && (Object[$name$jscomp$64$$] = function $Object$$name$jscomp$64$$$($target$jscomp$58$$) {
        $insert$$($target$jscomp$58$$);
        return $prev$$($target$jscomp$58$$);
      });
    }
    if (function isConformant() {
      if (!$NativeWeakMap$$ || !Object.seal) {
        return !1;
      }
      try {
        var $x$jscomp$75$$ = Object.seal({}), $y$jscomp$59$$ = Object.seal({}), $map$$ = new $NativeWeakMap$$([[$x$jscomp$75$$, 2], [$y$jscomp$59$$, 3]]);
        if (2 != $map$$.get($x$jscomp$75$$) || 3 != $map$$.get($y$jscomp$59$$)) {
          return !1;
        }
        $map$$.delete($x$jscomp$75$$);
        $map$$.set($y$jscomp$59$$, 4);
        return !$map$$.has($x$jscomp$75$$) && 4 == $map$$.get($y$jscomp$59$$);
      } catch ($err$jscomp$3$$) {
        return !1;
      }
    }()) {
      return $NativeWeakMap$$;
    }
    var $prop$jscomp$5$$ = "$jscomp_hidden_" + Math.random().toString().substring(2);
    $patch$$("freeze");
    $patch$$("preventExtensions");
    $patch$$("seal");
    var $index$jscomp$55$$ = 0;
    $PolyfillWeakMap$$.prototype.set = function $$PolyfillWeakMap$$$$set$($key$jscomp$36$$, $value$jscomp$85$$) {
      $insert$$($key$jscomp$36$$);
      if (!$$jscomp$owns$$($key$jscomp$36$$, $prop$jscomp$5$$)) {
        throw Error("WeakMap key fail: " + $key$jscomp$36$$);
      }
      $key$jscomp$36$$[$prop$jscomp$5$$][this.$a$] = $value$jscomp$85$$;
      return this;
    };
    $PolyfillWeakMap$$.prototype.get = function $$PolyfillWeakMap$$$$get$($key$jscomp$37$$) {
      return $$jscomp$owns$$($key$jscomp$37$$, $prop$jscomp$5$$) ? $key$jscomp$37$$[$prop$jscomp$5$$][this.$a$] : void 0;
    };
    $PolyfillWeakMap$$.prototype.has = function $$PolyfillWeakMap$$$$has$($key$jscomp$38$$) {
      return $$jscomp$owns$$($key$jscomp$38$$, $prop$jscomp$5$$) && $$jscomp$owns$$($key$jscomp$38$$[$prop$jscomp$5$$], this.$a$);
    };
    $PolyfillWeakMap$$.prototype.delete = function $$PolyfillWeakMap$$$$delete$($key$jscomp$39$$) {
      return $$jscomp$owns$$($key$jscomp$39$$, $prop$jscomp$5$$) && $$jscomp$owns$$($key$jscomp$39$$[$prop$jscomp$5$$], this.$a$) ? delete $key$jscomp$39$$[$prop$jscomp$5$$][this.$a$] : !1;
    };
    return $PolyfillWeakMap$$;
  });
  $$jscomp$polyfill$$("Map", function($NativeMap$$) {
    function $createHead$$() {
      var $head$$ = {};
      return $head$$.$previous$ = $head$$.next = $head$$.head = $head$$;
    }
    function $makeIterator$$($map$jscomp$3$$, $func$jscomp$4$$) {
      var $entry$jscomp$8$$ = $map$jscomp$3$$.$a$;
      return $$jscomp$iteratorPrototype$$(function() {
        if ($entry$jscomp$8$$) {
          for (; $entry$jscomp$8$$.head != $map$jscomp$3$$.$a$;) {
            $entry$jscomp$8$$ = $entry$jscomp$8$$.$previous$;
          }
          for (; $entry$jscomp$8$$.next != $entry$jscomp$8$$.head;) {
            return $entry$jscomp$8$$ = $entry$jscomp$8$$.next, {done:!1, value:$func$jscomp$4$$($entry$jscomp$8$$)};
          }
          $entry$jscomp$8$$ = null;
        }
        return {done:!0, value:void 0};
      });
    }
    function $maybeGetEntry$$($index$jscomp$56_map$jscomp$2$$, $key$jscomp$45$$) {
      var $id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$ = $key$jscomp$45$$ && typeof $key$jscomp$45$$;
      "object" == $id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$ || "function" == $id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$ ? $idMap$$.has($key$jscomp$45$$) ? $id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$ = $idMap$$.get($key$jscomp$45$$) : ($id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$ = "" + ++$mapIndex$$, $idMap$$.set($key$jscomp$45$$, $id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$)) : $id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$ = 
      "p_" + $key$jscomp$45$$;
      var $list$$ = $index$jscomp$56_map$jscomp$2$$.$b$[$id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$];
      if ($list$$ && $$jscomp$owns$$($index$jscomp$56_map$jscomp$2$$.$b$, $id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$)) {
        for ($index$jscomp$56_map$jscomp$2$$ = 0; $index$jscomp$56_map$jscomp$2$$ < $list$$.length; $index$jscomp$56_map$jscomp$2$$++) {
          var $entry$jscomp$7$$ = $list$$[$index$jscomp$56_map$jscomp$2$$];
          if ($key$jscomp$45$$ !== $key$jscomp$45$$ && $entry$jscomp$7$$.key !== $entry$jscomp$7$$.key || $key$jscomp$45$$ === $entry$jscomp$7$$.key) {
            return {id:$id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$, list:$list$$, index:$index$jscomp$56_map$jscomp$2$$, $entry$:$entry$jscomp$7$$};
          }
        }
      }
      return {id:$id$jscomp$5_id$jscomp$inline_62_type$jscomp$inline_61$$, list:$list$$, index:-1, $entry$:void 0};
    }
    function $PolyfillMap$$($iter$jscomp$2_opt_iterable$jscomp$5$$) {
      this.$b$ = {};
      this.$a$ = $createHead$$();
      this.size = 0;
      if ($iter$jscomp$2_opt_iterable$jscomp$5$$) {
        $iter$jscomp$2_opt_iterable$jscomp$5$$ = $$jscomp$makeIterator$$($iter$jscomp$2_opt_iterable$jscomp$5$$);
        for (var $entry$jscomp$1_item$jscomp$2$$; !($entry$jscomp$1_item$jscomp$2$$ = $iter$jscomp$2_opt_iterable$jscomp$5$$.next()).done;) {
          $entry$jscomp$1_item$jscomp$2$$ = $entry$jscomp$1_item$jscomp$2$$.value, this.set($entry$jscomp$1_item$jscomp$2$$[0], $entry$jscomp$1_item$jscomp$2$$[1]);
        }
      }
    }
    if (function() {
      if (!$NativeMap$$ || !$NativeMap$$.prototype.entries || "function" != typeof Object.seal) {
        return !1;
      }
      try {
        var $key$jscomp$40$$ = Object.seal({x:4}), $map$jscomp$1$$ = new $NativeMap$$($$jscomp$makeIterator$$([[$key$jscomp$40$$, "s"]]));
        if ("s" != $map$jscomp$1$$.get($key$jscomp$40$$) || 1 != $map$jscomp$1$$.size || $map$jscomp$1$$.get({x:4}) || $map$jscomp$1$$.set({x:4}, "t") != $map$jscomp$1$$ || 2 != $map$jscomp$1$$.size) {
          return !1;
        }
        var $iter$jscomp$1$$ = $map$jscomp$1$$.entries(), $item$jscomp$1$$ = $iter$jscomp$1$$.next();
        if ($item$jscomp$1$$.done || $item$jscomp$1$$.value[0] != $key$jscomp$40$$ || "s" != $item$jscomp$1$$.value[1]) {
          return !1;
        }
        $item$jscomp$1$$ = $iter$jscomp$1$$.next();
        return $item$jscomp$1$$.done || 4 != $item$jscomp$1$$.value[0].x || "t" != $item$jscomp$1$$.value[1] || !$iter$jscomp$1$$.next().done ? !1 : !0;
      } catch ($err$jscomp$4$$) {
        return !1;
      }
    }()) {
      return $NativeMap$$;
    }
    $$jscomp$initSymbol$$();
    $$jscomp$initSymbolIterator$$();
    var $idMap$$ = new WeakMap;
    $PolyfillMap$$.prototype.set = function $$PolyfillMap$$$$set$($key$jscomp$41$$, $value$jscomp$86$$) {
      var $r$jscomp$1$$ = $maybeGetEntry$$(this, $key$jscomp$41$$);
      $r$jscomp$1$$.list || ($r$jscomp$1$$.list = this.$b$[$r$jscomp$1$$.id] = []);
      $r$jscomp$1$$.$entry$ ? $r$jscomp$1$$.$entry$.value = $value$jscomp$86$$ : ($r$jscomp$1$$.$entry$ = {next:this.$a$, $previous$:this.$a$.$previous$, head:this.$a$, key:$key$jscomp$41$$, value:$value$jscomp$86$$}, $r$jscomp$1$$.list.push($r$jscomp$1$$.$entry$), this.$a$.$previous$.next = $r$jscomp$1$$.$entry$, this.$a$.$previous$ = $r$jscomp$1$$.$entry$, this.size++);
      return this;
    };
    $PolyfillMap$$.prototype.delete = function $$PolyfillMap$$$$delete$($key$jscomp$42_r$jscomp$2$$) {
      $key$jscomp$42_r$jscomp$2$$ = $maybeGetEntry$$(this, $key$jscomp$42_r$jscomp$2$$);
      return $key$jscomp$42_r$jscomp$2$$.$entry$ && $key$jscomp$42_r$jscomp$2$$.list ? ($key$jscomp$42_r$jscomp$2$$.list.splice($key$jscomp$42_r$jscomp$2$$.index, 1), $key$jscomp$42_r$jscomp$2$$.list.length || delete this.$b$[$key$jscomp$42_r$jscomp$2$$.id], $key$jscomp$42_r$jscomp$2$$.$entry$.$previous$.next = $key$jscomp$42_r$jscomp$2$$.$entry$.next, $key$jscomp$42_r$jscomp$2$$.$entry$.next.$previous$ = $key$jscomp$42_r$jscomp$2$$.$entry$.$previous$, $key$jscomp$42_r$jscomp$2$$.$entry$.head = null, 
      this.size--, !0) : !1;
    };
    $PolyfillMap$$.prototype.clear = function $$PolyfillMap$$$$clear$() {
      this.$b$ = {};
      this.$a$ = this.$a$.$previous$ = $createHead$$();
      this.size = 0;
    };
    $PolyfillMap$$.prototype.has = function $$PolyfillMap$$$$has$($key$jscomp$43$$) {
      return !!$maybeGetEntry$$(this, $key$jscomp$43$$).$entry$;
    };
    $PolyfillMap$$.prototype.get = function $$PolyfillMap$$$$get$($entry$jscomp$2_key$jscomp$44$$) {
      return ($entry$jscomp$2_key$jscomp$44$$ = $maybeGetEntry$$(this, $entry$jscomp$2_key$jscomp$44$$).$entry$) && $entry$jscomp$2_key$jscomp$44$$.value;
    };
    $PolyfillMap$$.prototype.entries = function $$PolyfillMap$$$$entries$() {
      return $makeIterator$$(this, function($entry$jscomp$3$$) {
        return [$entry$jscomp$3$$.key, $entry$jscomp$3$$.value];
      });
    };
    $PolyfillMap$$.prototype.keys = function $$PolyfillMap$$$$keys$() {
      return $makeIterator$$(this, function($entry$jscomp$4$$) {
        return $entry$jscomp$4$$.key;
      });
    };
    $PolyfillMap$$.prototype.values = function $$PolyfillMap$$$$values$() {
      return $makeIterator$$(this, function($entry$jscomp$5$$) {
        return $entry$jscomp$5$$.value;
      });
    };
    $PolyfillMap$$.prototype.forEach = function $$PolyfillMap$$$$forEach$($callback$jscomp$47$$, $opt_thisArg$jscomp$12$$) {
      for (var $iter$jscomp$3$$ = this.entries(), $entry$jscomp$6_item$jscomp$3$$; !($entry$jscomp$6_item$jscomp$3$$ = $iter$jscomp$3$$.next()).done;) {
        $entry$jscomp$6_item$jscomp$3$$ = $entry$jscomp$6_item$jscomp$3$$.value, $callback$jscomp$47$$.call($opt_thisArg$jscomp$12$$, $entry$jscomp$6_item$jscomp$3$$[1], $entry$jscomp$6_item$jscomp$3$$[0], this);
      }
    };
    $PolyfillMap$$.prototype[Symbol.iterator] = $PolyfillMap$$.prototype.entries;
    var $mapIndex$$ = 0;
    return $PolyfillMap$$;
  });
  $$jscomp$polyfill$$("Set", function($NativeSet$$) {
    function $PolyfillSet$$($iter$jscomp$5_opt_iterable$jscomp$6$$) {
      this.$a$ = new Map;
      if ($iter$jscomp$5_opt_iterable$jscomp$6$$) {
        $iter$jscomp$5_opt_iterable$jscomp$6$$ = $$jscomp$makeIterator$$($iter$jscomp$5_opt_iterable$jscomp$6$$);
        for (var $entry$jscomp$9$$; !($entry$jscomp$9$$ = $iter$jscomp$5_opt_iterable$jscomp$6$$.next()).done;) {
          this.add($entry$jscomp$9$$.value);
        }
      }
      this.size = this.$a$.size;
    }
    if (function() {
      if (!$NativeSet$$ || !$NativeSet$$.prototype.entries || "function" != typeof Object.seal) {
        return !1;
      }
      try {
        var $value$jscomp$87$$ = Object.seal({x:4}), $set$$ = new $NativeSet$$($$jscomp$makeIterator$$([$value$jscomp$87$$]));
        if (!$set$$.has($value$jscomp$87$$) || 1 != $set$$.size || $set$$.add($value$jscomp$87$$) != $set$$ || 1 != $set$$.size || $set$$.add({x:4}) != $set$$ || 2 != $set$$.size) {
          return !1;
        }
        var $iter$jscomp$4$$ = $set$$.entries(), $item$jscomp$4$$ = $iter$jscomp$4$$.next();
        if ($item$jscomp$4$$.done || $item$jscomp$4$$.value[0] != $value$jscomp$87$$ || $item$jscomp$4$$.value[1] != $value$jscomp$87$$) {
          return !1;
        }
        $item$jscomp$4$$ = $iter$jscomp$4$$.next();
        return $item$jscomp$4$$.done || $item$jscomp$4$$.value[0] == $value$jscomp$87$$ || 4 != $item$jscomp$4$$.value[0].x || $item$jscomp$4$$.value[1] != $item$jscomp$4$$.value[0] ? !1 : $iter$jscomp$4$$.next().done;
      } catch ($err$jscomp$5$$) {
        return !1;
      }
    }()) {
      return $NativeSet$$;
    }
    $$jscomp$initSymbol$$();
    $$jscomp$initSymbolIterator$$();
    $PolyfillSet$$.prototype.add = function $$PolyfillSet$$$$add$($value$jscomp$88$$) {
      this.$a$.set($value$jscomp$88$$, $value$jscomp$88$$);
      this.size = this.$a$.size;
      return this;
    };
    $PolyfillSet$$.prototype.delete = function $$PolyfillSet$$$$delete$($result$jscomp$2_value$jscomp$89$$) {
      $result$jscomp$2_value$jscomp$89$$ = this.$a$.delete($result$jscomp$2_value$jscomp$89$$);
      this.size = this.$a$.size;
      return $result$jscomp$2_value$jscomp$89$$;
    };
    $PolyfillSet$$.prototype.clear = function $$PolyfillSet$$$$clear$() {
      this.$a$.clear();
      this.size = 0;
    };
    $PolyfillSet$$.prototype.has = function $$PolyfillSet$$$$has$($value$jscomp$90$$) {
      return this.$a$.has($value$jscomp$90$$);
    };
    $PolyfillSet$$.prototype.entries = function $$PolyfillSet$$$$entries$() {
      return this.$a$.entries();
    };
    $PolyfillSet$$.prototype.values = function $$PolyfillSet$$$$values$() {
      return this.$a$.values();
    };
    $PolyfillSet$$.prototype.keys = $PolyfillSet$$.prototype.values;
    $PolyfillSet$$.prototype[Symbol.iterator] = $PolyfillSet$$.prototype.values;
    $PolyfillSet$$.prototype.forEach = function $$PolyfillSet$$$$forEach$($callback$jscomp$48$$, $opt_thisArg$jscomp$13$$) {
      var $set$jscomp$1$$ = this;
      this.$a$.forEach(function($value$jscomp$91$$) {
        return $callback$jscomp$48$$.call($opt_thisArg$jscomp$13$$, $value$jscomp$91$$, $value$jscomp$91$$, $set$jscomp$1$$);
      });
    };
    return $PolyfillSet$$;
  });
  $$jscomp$polyfill$$("String.prototype.startsWith", function($orig$jscomp$6$$) {
    return $orig$jscomp$6$$ ? $orig$jscomp$6$$ : function($searchString$jscomp$4$$, $i$jscomp$7_opt_position$jscomp$4$$) {
      if (null == this) {
        throw new TypeError("The 'this' value for String.prototype.startsWith must not be null or undefined");
      }
      if ($searchString$jscomp$4$$ instanceof RegExp) {
        throw new TypeError("First argument to String.prototype.startsWith must not be a regular expression");
      }
      var $string$jscomp$5$$ = this + "";
      $searchString$jscomp$4$$ += "";
      var $strLen$$ = $string$jscomp$5$$.length, $searchLen$$ = $searchString$jscomp$4$$.length;
      $i$jscomp$7_opt_position$jscomp$4$$ = Math.max(0, Math.min($i$jscomp$7_opt_position$jscomp$4$$ | 0, $string$jscomp$5$$.length));
      for (var $j$jscomp$1$$ = 0; $j$jscomp$1$$ < $searchLen$$ && $i$jscomp$7_opt_position$jscomp$4$$ < $strLen$$;) {
        if ($string$jscomp$5$$[$i$jscomp$7_opt_position$jscomp$4$$++] != $searchString$jscomp$4$$[$j$jscomp$1$$++]) {
          return !1;
        }
      }
      return $j$jscomp$1$$ >= $searchLen$$;
    };
  });
  $$jscomp$polyfill$$("Object.assign", function($orig$jscomp$7$$) {
    return $orig$jscomp$7$$ ? $orig$jscomp$7$$ : function($target$jscomp$59$$, $var_args$jscomp$47$$) {
      for (var $i$jscomp$8$$ = 1; $i$jscomp$8$$ < arguments.length; $i$jscomp$8$$++) {
        var $source$jscomp$12$$ = arguments[$i$jscomp$8$$];
        if ($source$jscomp$12$$) {
          for (var $key$jscomp$46$$ in $source$jscomp$12$$) {
            $$jscomp$owns$$($source$jscomp$12$$, $key$jscomp$46$$) && ($target$jscomp$59$$[$key$jscomp$46$$] = $source$jscomp$12$$[$key$jscomp$46$$]);
          }
        }
      }
      return $target$jscomp$59$$;
    };
  });
  var $goog$$ = $goog$$ || {}, $goog$global$$ = this;
  function $goog$isDef$$($val$$) {
    return void 0 !== $val$$;
  }
  function $goog$isString$$($val$jscomp$1$$) {
    return "string" == typeof $val$jscomp$1$$;
  }
  function $goog$isNumber$$($val$jscomp$3$$) {
    return "number" == typeof $val$jscomp$3$$;
  }
  function $goog$nullFunction$$() {
  }
  function $goog$typeOf$$($value$jscomp$93$$) {
    var $s$jscomp$2$$ = typeof $value$jscomp$93$$;
    if ("object" == $s$jscomp$2$$) {
      if ($value$jscomp$93$$) {
        if ($value$jscomp$93$$ instanceof Array) {
          return "array";
        }
        if ($value$jscomp$93$$ instanceof Object) {
          return $s$jscomp$2$$;
        }
        var $className$jscomp$1$$ = Object.prototype.toString.call($value$jscomp$93$$);
        if ("[object Window]" == $className$jscomp$1$$) {
          return "object";
        }
        if ("[object Array]" == $className$jscomp$1$$ || "number" == typeof $value$jscomp$93$$.length && "undefined" != typeof $value$jscomp$93$$.splice && "undefined" != typeof $value$jscomp$93$$.propertyIsEnumerable && !$value$jscomp$93$$.propertyIsEnumerable("splice")) {
          return "array";
        }
        if ("[object Function]" == $className$jscomp$1$$ || "undefined" != typeof $value$jscomp$93$$.call && "undefined" != typeof $value$jscomp$93$$.propertyIsEnumerable && !$value$jscomp$93$$.propertyIsEnumerable("call")) {
          return "function";
        }
      } else {
        return "null";
      }
    } else {
      if ("function" == $s$jscomp$2$$ && "undefined" == typeof $value$jscomp$93$$.call) {
        return "object";
      }
    }
    return $s$jscomp$2$$;
  }
  function $goog$isArray$$($val$jscomp$6$$) {
    return "array" == $goog$typeOf$$($val$jscomp$6$$);
  }
  function $goog$isArrayLike$$($val$jscomp$7$$) {
    var $type$jscomp$116$$ = $goog$typeOf$$($val$jscomp$7$$);
    return "array" == $type$jscomp$116$$ || "object" == $type$jscomp$116$$ && "number" == typeof $val$jscomp$7$$.length;
  }
  function $goog$isObject$$($val$jscomp$10$$) {
    var $type$jscomp$117$$ = typeof $val$jscomp$10$$;
    return "object" == $type$jscomp$117$$ && null != $val$jscomp$10$$ || "function" == $type$jscomp$117$$;
  }
  var $goog$UID_PROPERTY_$$ = "closure_uid_" + (1e9 * Math.random() >>> 0), $goog$uidCounter_$$ = 0;
  function $goog$bindNative_$$($fn$$, $selfObj$jscomp$1$$, $var_args$jscomp$48$$) {
    return $fn$$.call.apply($fn$$.bind, arguments);
  }
  function $goog$bindJs_$$($fn$jscomp$1$$, $selfObj$jscomp$2$$, $var_args$jscomp$49$$) {
    if (!$fn$jscomp$1$$) {
      throw Error();
    }
    if (2 < arguments.length) {
      var $boundArgs$$ = Array.prototype.slice.call(arguments, 2);
      return function() {
        var $newArgs$$ = Array.prototype.slice.call(arguments);
        Array.prototype.unshift.apply($newArgs$$, $boundArgs$$);
        return $fn$jscomp$1$$.apply($selfObj$jscomp$2$$, $newArgs$$);
      };
    }
    return function() {
      return $fn$jscomp$1$$.apply($selfObj$jscomp$2$$, arguments);
    };
  }
  function $goog$bind$$($fn$jscomp$2$$, $selfObj$jscomp$3$$, $var_args$jscomp$50$$) {
    Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? $goog$bind$$ = $goog$bindNative_$$ : $goog$bind$$ = $goog$bindJs_$$;
    return $goog$bind$$.apply(null, arguments);
  }
  function $goog$partial$$($fn$jscomp$3$$, $var_args$jscomp$51$$) {
    var $args$$ = Array.prototype.slice.call(arguments, 1);
    return function() {
      var $newArgs$jscomp$1$$ = $args$$.slice();
      $newArgs$jscomp$1$$.push.apply($newArgs$jscomp$1$$, arguments);
      return $fn$jscomp$3$$.apply(this, $newArgs$jscomp$1$$);
    };
  }
  var $goog$now$$ = Date.now || function() {
    return +new Date;
  };
  function $goog$exportSymbol$$($parts$jscomp$inline_71_publicPath$$, $object$$) {
    $parts$jscomp$inline_71_publicPath$$ = $parts$jscomp$inline_71_publicPath$$.split(".");
    var $cur$jscomp$inline_72$$ = $goog$global$$;
    $parts$jscomp$inline_71_publicPath$$[0] in $cur$jscomp$inline_72$$ || !$cur$jscomp$inline_72$$.execScript || $cur$jscomp$inline_72$$.execScript("var " + $parts$jscomp$inline_71_publicPath$$[0]);
    for (var $part$jscomp$inline_73$$; $parts$jscomp$inline_71_publicPath$$.length && ($part$jscomp$inline_73$$ = $parts$jscomp$inline_71_publicPath$$.shift());) {
      !$parts$jscomp$inline_71_publicPath$$.length && $goog$isDef$$($object$$) ? $cur$jscomp$inline_72$$[$part$jscomp$inline_73$$] = $object$$ : $cur$jscomp$inline_72$$[$part$jscomp$inline_73$$] && $cur$jscomp$inline_72$$[$part$jscomp$inline_73$$] !== Object.prototype[$part$jscomp$inline_73$$] ? $cur$jscomp$inline_72$$ = $cur$jscomp$inline_72$$[$part$jscomp$inline_73$$] : $cur$jscomp$inline_72$$ = $cur$jscomp$inline_72$$[$part$jscomp$inline_73$$] = {};
    }
  }
  function $goog$inherits$$($childCtor$$, $parentCtor$$) {
    function $tempCtor$$() {
    }
    $tempCtor$$.prototype = $parentCtor$$.prototype;
    $childCtor$$.$superClass_$ = $parentCtor$$.prototype;
    $childCtor$$.prototype = new $tempCtor$$;
    $childCtor$$.prototype.constructor = $childCtor$$;
    $childCtor$$.$base$ = function $$childCtor$$$$base$$($me$$, $methodName$$, $var_args$jscomp$52$$) {
      for (var $args$jscomp$1$$ = Array(arguments.length - 2), $i$jscomp$16$$ = 2; $i$jscomp$16$$ < arguments.length; $i$jscomp$16$$++) {
        $args$jscomp$1$$[$i$jscomp$16$$ - 2] = arguments[$i$jscomp$16$$];
      }
      return $parentCtor$$.prototype[$methodName$$].apply($me$$, $args$jscomp$1$$);
    };
  }
  ;$goog$exportSymbol$$("bloombox.VERSION", "v1.0.0-beta");
  function $bloombox$logging$log$$($var_args$jscomp$54$$) {
    console.log.apply(console, ["[Bloombox]"].concat(Array.from(arguments)));
  }
  function $bloombox$logging$info$$($var_args$jscomp$55$$) {
    console.info.apply(console, ["[Bloombox]"].concat(Array.from(arguments)));
  }
  function $bloombox$logging$warn$$($var_args$jscomp$56$$) {
    console.warn.apply(console, ["[Bloombox]"].concat(Array.from(arguments)));
  }
  function $bloombox$logging$error$$($var_args$jscomp$57$$) {
    console.error.apply(console, ["[Bloombox]"].concat(Array.from(arguments)));
  }
  ;var $bloombox$config$$ = {$integration$:{}};
  $bloombox$config$$.$_ACTIVE_CONFIG_$ = {key:null, $partner$:null, location:null, channel:null, $endpoints$:{$shop$:null, $telemetry$:null}, $integrations$:{google:{$analytics$:{enabled:!1, $trackingId$:null}}, $segment$:{$writeKey$:null}, $keen$:{$projectId$:null, $writeKey$:null}}};
  $bloombox$config$$.$buildDefault$ = function $$bloombox$config$$$$buildDefault$$() {
    return {key:null, $partner$:null, location:null, channel:null, $endpoints$:{$shop$:null, $telemetry$:null}, $integrations$:{google:{$analytics$:{enabled:!1, $trackingId$:null}}, $segment$:{$writeKey$:null}, $keen$:{$projectId$:null, $writeKey$:null}}};
  };
  $bloombox$config$$.$configure$ = function $$bloombox$config$$$$configure$$($config$jscomp$2$$) {
    Object.isFrozen && !Object.isFrozen($config$jscomp$2$$) && Object.freeze($config$jscomp$2$$);
    $bloombox$config$$.$_ACTIVE_CONFIG_$ = $config$jscomp$2$$;
  };
  $bloombox$config$$.active = function $$bloombox$config$$$active$() {
    return $bloombox$config$$.$_ACTIVE_CONFIG_$;
  };
  $goog$exportSymbol$$("bloombox.shop.VERSION", "v1r1");
  function $goog$debug$Error$$($opt_msg$$) {
    if (Error.captureStackTrace) {
      Error.captureStackTrace(this, $goog$debug$Error$$);
    } else {
      var $stack$$ = Error().stack;
      $stack$$ && (this.stack = $stack$$);
    }
    $opt_msg$$ && (this.message = String($opt_msg$$));
  }
  $goog$inherits$$($goog$debug$Error$$, Error);
  $goog$debug$Error$$.prototype.name = "CustomError";
  function $goog$string$subs$$($str$jscomp$12$$, $var_args$jscomp$58$$) {
    for (var $splitParts$$ = $str$jscomp$12$$.split("%s"), $returnString$$ = "", $subsArguments$$ = Array.prototype.slice.call(arguments, 1); $subsArguments$$.length && 1 < $splitParts$$.length;) {
      $returnString$$ += $splitParts$$.shift() + $subsArguments$$.shift();
    }
    return $returnString$$ + $splitParts$$.join("%s");
  }
  var $goog$string$trim$$ = String.prototype.trim ? function($str$jscomp$26$$) {
    return $str$jscomp$26$$.trim();
  } : function($str$jscomp$27$$) {
    return $str$jscomp$27$$.replace(/^[\s\xa0]+|[\s\xa0]+$/g, "");
  };
  function $goog$string$compareElements_$$($left$jscomp$2$$, $right$jscomp$2$$) {
    return $left$jscomp$2$$ < $right$jscomp$2$$ ? -1 : $left$jscomp$2$$ > $right$jscomp$2$$ ? 1 : 0;
  }
  ;function $goog$asserts$AssertionError$$($messagePattern$$, $messageArgs$$) {
    $messageArgs$$.unshift($messagePattern$$);
    $goog$debug$Error$$.call(this, $goog$string$subs$$.apply(null, $messageArgs$$));
    $messageArgs$$.shift();
  }
  $goog$inherits$$($goog$asserts$AssertionError$$, $goog$debug$Error$$);
  $goog$asserts$AssertionError$$.prototype.name = "AssertionError";
  function $goog$asserts$doAssertFailure_$$($defaultMessage$$, $defaultArgs$$, $givenMessage$$, $givenArgs$$) {
    var $message$jscomp$23$$ = "Assertion failed";
    if ($givenMessage$$) {
      $message$jscomp$23$$ += ": " + $givenMessage$$;
      var $args$jscomp$3$$ = $givenArgs$$;
    } else {
      $defaultMessage$$ && ($message$jscomp$23$$ += ": " + $defaultMessage$$, $args$jscomp$3$$ = $defaultArgs$$);
    }
    throw new $goog$asserts$AssertionError$$("" + $message$jscomp$23$$, $args$jscomp$3$$ || []);
  }
  function $goog$asserts$assert$$($condition$jscomp$1$$, $opt_message$jscomp$8$$, $var_args$jscomp$60$$) {
    $condition$jscomp$1$$ || $goog$asserts$doAssertFailure_$$("", null, $opt_message$jscomp$8$$, Array.prototype.slice.call(arguments, 2));
  }
  function $goog$asserts$fail$$($opt_message$jscomp$9$$, $var_args$jscomp$61$$) {
    throw new $goog$asserts$AssertionError$$("Failure" + ($opt_message$jscomp$9$$ ? ": " + $opt_message$jscomp$9$$ : ""), Array.prototype.slice.call(arguments, 1));
  }
  function $goog$asserts$assertInstanceof$$($value$jscomp$103$$, $type$jscomp$119$$, $opt_message$jscomp$17$$, $var_args$jscomp$69$$) {
    $value$jscomp$103$$ instanceof $type$jscomp$119$$ || $goog$asserts$doAssertFailure_$$("Expected instanceof %s but got %s.", [$goog$asserts$getType_$$($type$jscomp$119$$), $goog$asserts$getType_$$($value$jscomp$103$$)], $opt_message$jscomp$17$$, Array.prototype.slice.call(arguments, 3));
  }
  function $goog$asserts$getType_$$($value$jscomp$104$$) {
    return $value$jscomp$104$$ instanceof Function ? $value$jscomp$104$$.displayName || $value$jscomp$104$$.name || "unknown type name" : $value$jscomp$104$$ instanceof Object ? $value$jscomp$104$$.constructor.displayName || $value$jscomp$104$$.constructor.name || Object.prototype.toString.call($value$jscomp$104$$) : null === $value$jscomp$104$$ ? "null" : typeof $value$jscomp$104$$;
  }
  ;var $goog$array$indexOf$$ = Array.prototype.indexOf ? function($arr$jscomp$8$$, $obj$jscomp$35$$) {
    $goog$asserts$assert$$(null != $arr$jscomp$8$$.length);
    return Array.prototype.indexOf.call($arr$jscomp$8$$, $obj$jscomp$35$$, void 0);
  } : function($arr$jscomp$9$$, $obj$jscomp$36$$) {
    if ($goog$isString$$($arr$jscomp$9$$)) {
      return $goog$isString$$($obj$jscomp$36$$) && 1 == $obj$jscomp$36$$.length ? $arr$jscomp$9$$.indexOf($obj$jscomp$36$$, 0) : -1;
    }
    for (var $i$jscomp$26$$ = 0; $i$jscomp$26$$ < $arr$jscomp$9$$.length; $i$jscomp$26$$++) {
      if ($i$jscomp$26$$ in $arr$jscomp$9$$ && $arr$jscomp$9$$[$i$jscomp$26$$] === $obj$jscomp$36$$) {
        return $i$jscomp$26$$;
      }
    }
    return -1;
  }, $goog$array$forEach$$ = Array.prototype.forEach ? function($arr$jscomp$12$$, $f$jscomp$1$$, $opt_obj$jscomp$2$$) {
    $goog$asserts$assert$$(null != $arr$jscomp$12$$.length);
    Array.prototype.forEach.call($arr$jscomp$12$$, $f$jscomp$1$$, $opt_obj$jscomp$2$$);
  } : function($arr$jscomp$13$$, $f$jscomp$2$$, $opt_obj$jscomp$3$$) {
    for (var $l$jscomp$2$$ = $arr$jscomp$13$$.length, $arr2$$ = $goog$isString$$($arr$jscomp$13$$) ? $arr$jscomp$13$$.split("") : $arr$jscomp$13$$, $i$jscomp$28$$ = 0; $i$jscomp$28$$ < $l$jscomp$2$$; $i$jscomp$28$$++) {
      $i$jscomp$28$$ in $arr2$$ && $f$jscomp$2$$.call($opt_obj$jscomp$3$$, $arr2$$[$i$jscomp$28$$], $i$jscomp$28$$, $arr$jscomp$13$$);
    }
  };
  function $goog$array$find$$($arr$jscomp$29$$) {
    a: {
      var $f$jscomp$inline_80_i$jscomp$34$$ = $goog$net$XhrIo$isContentTypeHeader_$$;
      for (var $l$jscomp$inline_82$$ = $arr$jscomp$29$$.length, $arr2$jscomp$inline_83$$ = $goog$isString$$($arr$jscomp$29$$) ? $arr$jscomp$29$$.split("") : $arr$jscomp$29$$, $i$jscomp$inline_84$$ = 0; $i$jscomp$inline_84$$ < $l$jscomp$inline_82$$; $i$jscomp$inline_84$$++) {
        if ($i$jscomp$inline_84$$ in $arr2$jscomp$inline_83$$ && $f$jscomp$inline_80_i$jscomp$34$$.call(void 0, $arr2$jscomp$inline_83$$[$i$jscomp$inline_84$$], $i$jscomp$inline_84$$, $arr$jscomp$29$$)) {
          $f$jscomp$inline_80_i$jscomp$34$$ = $i$jscomp$inline_84$$;
          break a;
        }
      }
      $f$jscomp$inline_80_i$jscomp$34$$ = -1;
    }
    return 0 > $f$jscomp$inline_80_i$jscomp$34$$ ? null : $goog$isString$$($arr$jscomp$29$$) ? $arr$jscomp$29$$.charAt($f$jscomp$inline_80_i$jscomp$34$$) : $arr$jscomp$29$$[$f$jscomp$inline_80_i$jscomp$34$$];
  }
  function $goog$array$clear$$($arr$jscomp$35$$) {
    if (!$goog$isArray$$($arr$jscomp$35$$)) {
      for (var $i$jscomp$38$$ = $arr$jscomp$35$$.length - 1; 0 <= $i$jscomp$38$$; $i$jscomp$38$$--) {
        delete $arr$jscomp$35$$[$i$jscomp$38$$];
      }
    }
    $arr$jscomp$35$$.length = 0;
  }
  ;var $goog$labs$userAgent$util$userAgent_$$;
  a: {
    var $navigator$jscomp$inline_86$$ = $goog$global$$.navigator;
    if ($navigator$jscomp$inline_86$$) {
      var $userAgent$jscomp$inline_87$$ = $navigator$jscomp$inline_86$$.userAgent;
      if ($userAgent$jscomp$inline_87$$) {
        $goog$labs$userAgent$util$userAgent_$$ = $userAgent$jscomp$inline_87$$;
        break a;
      }
    }
    $goog$labs$userAgent$util$userAgent_$$ = "";
  }
  function $goog$labs$userAgent$util$matchUserAgent$$($str$jscomp$60$$) {
    return -1 != $goog$labs$userAgent$util$userAgent_$$.indexOf($str$jscomp$60$$);
  }
  ;function $goog$object$forEach$$($obj$jscomp$46$$, $f$jscomp$24$$, $opt_obj$jscomp$28$$) {
    for (var $key$jscomp$54$$ in $obj$jscomp$46$$) {
      $f$jscomp$24$$.call($opt_obj$jscomp$28$$, $obj$jscomp$46$$[$key$jscomp$54$$], $key$jscomp$54$$, $obj$jscomp$46$$);
    }
  }
  function $goog$object$getValues$$($obj$jscomp$55$$) {
    var $res$jscomp$4$$ = [], $i$jscomp$61$$ = 0, $key$jscomp$62$$;
    for ($key$jscomp$62$$ in $obj$jscomp$55$$) {
      $res$jscomp$4$$[$i$jscomp$61$$++] = $obj$jscomp$55$$[$key$jscomp$62$$];
    }
    return $res$jscomp$4$$;
  }
  function $goog$object$getKeys$$($obj$jscomp$56$$) {
    var $res$jscomp$5$$ = [], $i$jscomp$62$$ = 0, $key$jscomp$63$$;
    for ($key$jscomp$63$$ in $obj$jscomp$56$$) {
      $res$jscomp$5$$[$i$jscomp$62$$++] = $key$jscomp$63$$;
    }
    return $res$jscomp$5$$;
  }
  var $goog$object$PROTOTYPE_FIELDS_$$ = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
  function $goog$object$extend$$($target$jscomp$63$$, $var_args$jscomp$77$$) {
    for (var $key$jscomp$78$$, $source$jscomp$15$$, $i$jscomp$65$$ = 1; $i$jscomp$65$$ < arguments.length; $i$jscomp$65$$++) {
      $source$jscomp$15$$ = arguments[$i$jscomp$65$$];
      for ($key$jscomp$78$$ in $source$jscomp$15$$) {
        $target$jscomp$63$$[$key$jscomp$78$$] = $source$jscomp$15$$[$key$jscomp$78$$];
      }
      for (var $j$jscomp$7$$ = 0; $j$jscomp$7$$ < $goog$object$PROTOTYPE_FIELDS_$$.length; $j$jscomp$7$$++) {
        $key$jscomp$78$$ = $goog$object$PROTOTYPE_FIELDS_$$[$j$jscomp$7$$], Object.prototype.hasOwnProperty.call($source$jscomp$15$$, $key$jscomp$78$$) && ($target$jscomp$63$$[$key$jscomp$78$$] = $source$jscomp$15$$[$key$jscomp$78$$]);
      }
    }
  }
  ;function $goog$labs$userAgent$browser$matchChrome_$$() {
    return ($goog$labs$userAgent$util$matchUserAgent$$("Chrome") || $goog$labs$userAgent$util$matchUserAgent$$("CriOS")) && !$goog$labs$userAgent$util$matchUserAgent$$("Edge");
  }
  ;function $goog$labs$userAgent$platform$isIphone$$() {
    return $goog$labs$userAgent$util$matchUserAgent$$("iPhone") && !$goog$labs$userAgent$util$matchUserAgent$$("iPod") && !$goog$labs$userAgent$util$matchUserAgent$$("iPad");
  }
  ;function $goog$reflect$sinkValue$$($x$jscomp$79$$) {
    $goog$reflect$sinkValue$$[" "]($x$jscomp$79$$);
    return $x$jscomp$79$$;
  }
  $goog$reflect$sinkValue$$[" "] = $goog$nullFunction$$;
  function $goog$reflect$cache$$($key$jscomp$82$$, $valueFn$$) {
    var $cacheObj$$ = $goog$userAgent$isVersionOrHigherCache_$$;
    return Object.prototype.hasOwnProperty.call($cacheObj$$, $key$jscomp$82$$) ? $cacheObj$$[$key$jscomp$82$$] : $cacheObj$$[$key$jscomp$82$$] = $valueFn$$($key$jscomp$82$$);
  }
  ;var $goog$userAgent$OPERA$$ = $goog$labs$userAgent$util$matchUserAgent$$("Opera"), $goog$userAgent$IE$$ = $goog$labs$userAgent$util$matchUserAgent$$("Trident") || $goog$labs$userAgent$util$matchUserAgent$$("MSIE"), $goog$userAgent$EDGE$$ = $goog$labs$userAgent$util$matchUserAgent$$("Edge"), $goog$userAgent$EDGE_OR_IE$$ = $goog$userAgent$EDGE$$ || $goog$userAgent$IE$$, $goog$userAgent$GECKO$$ = $goog$labs$userAgent$util$matchUserAgent$$("Gecko") && !(-1 != $goog$labs$userAgent$util$userAgent_$$.toLowerCase().indexOf("webkit") && 
  !$goog$labs$userAgent$util$matchUserAgent$$("Edge")) && !($goog$labs$userAgent$util$matchUserAgent$$("Trident") || $goog$labs$userAgent$util$matchUserAgent$$("MSIE")) && !$goog$labs$userAgent$util$matchUserAgent$$("Edge"), $goog$userAgent$WEBKIT$$ = -1 != $goog$labs$userAgent$util$userAgent_$$.toLowerCase().indexOf("webkit") && !$goog$labs$userAgent$util$matchUserAgent$$("Edge"), $goog$userAgent$MOBILE$$ = $goog$userAgent$WEBKIT$$ && $goog$labs$userAgent$util$matchUserAgent$$("Mobile"), $goog$userAgent$MAC$$ = 
  $goog$labs$userAgent$util$matchUserAgent$$("Macintosh"), $goog$userAgent$WINDOWS$$ = $goog$labs$userAgent$util$matchUserAgent$$("Windows"), $goog$userAgent$LINUX$$ = $goog$labs$userAgent$util$matchUserAgent$$("Linux") || $goog$labs$userAgent$util$matchUserAgent$$("CrOS"), $goog$userAgent$ANDROID$$ = $goog$labs$userAgent$util$matchUserAgent$$("Android"), $goog$userAgent$IPHONE$$ = $goog$labs$userAgent$platform$isIphone$$(), $goog$userAgent$IPAD$$ = $goog$labs$userAgent$util$matchUserAgent$$("iPad"), 
  $goog$userAgent$IPOD$$ = $goog$labs$userAgent$util$matchUserAgent$$("iPod"), $goog$userAgent$IOS$$ = $goog$labs$userAgent$platform$isIphone$$() || $goog$labs$userAgent$util$matchUserAgent$$("iPad") || $goog$labs$userAgent$util$matchUserAgent$$("iPod");
  function $goog$userAgent$getDocumentMode_$$() {
    var $doc$jscomp$5$$ = $goog$global$$.document;
    return $doc$jscomp$5$$ ? $doc$jscomp$5$$.documentMode : void 0;
  }
  var $goog$userAgent$VERSION$$;
  a: {
    var $version$jscomp$inline_89$$ = "", $arr$jscomp$inline_90$$ = function() {
      var $userAgent$jscomp$6$$ = $goog$labs$userAgent$util$userAgent_$$;
      if ($goog$userAgent$GECKO$$) {
        return /rv:([^\);]+)(\)|;)/.exec($userAgent$jscomp$6$$);
      }
      if ($goog$userAgent$EDGE$$) {
        return /Edge\/([\d\.]+)/.exec($userAgent$jscomp$6$$);
      }
      if ($goog$userAgent$IE$$) {
        return /\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec($userAgent$jscomp$6$$);
      }
      if ($goog$userAgent$WEBKIT$$) {
        return /WebKit\/(\S+)/.exec($userAgent$jscomp$6$$);
      }
      if ($goog$userAgent$OPERA$$) {
        return /(?:Version)[ \/]?(\S+)/.exec($userAgent$jscomp$6$$);
      }
    }();
    $arr$jscomp$inline_90$$ && ($version$jscomp$inline_89$$ = $arr$jscomp$inline_90$$ ? $arr$jscomp$inline_90$$[1] : "");
    if ($goog$userAgent$IE$$) {
      var $docMode$jscomp$inline_91$$ = $goog$userAgent$getDocumentMode_$$();
      if (null != $docMode$jscomp$inline_91$$ && $docMode$jscomp$inline_91$$ > parseFloat($version$jscomp$inline_89$$)) {
        $goog$userAgent$VERSION$$ = String($docMode$jscomp$inline_91$$);
        break a;
      }
    }
    $goog$userAgent$VERSION$$ = $version$jscomp$inline_89$$;
  }
  var $goog$userAgent$isVersionOrHigherCache_$$ = {};
  function $goog$userAgent$isVersionOrHigher$$($version$jscomp$12$$) {
    return $goog$reflect$cache$$($version$jscomp$12$$, function() {
      for (var $order$jscomp$inline_95$$ = 0, $v1Subs$jscomp$inline_96$$ = $goog$string$trim$$(String($goog$userAgent$VERSION$$)).split("."), $v2Subs$jscomp$inline_97$$ = $goog$string$trim$$(String($version$jscomp$12$$)).split("."), $subCount$jscomp$inline_98$$ = Math.max($v1Subs$jscomp$inline_96$$.length, $v2Subs$jscomp$inline_97$$.length), $subIdx$jscomp$inline_99$$ = 0; 0 == $order$jscomp$inline_95$$ && $subIdx$jscomp$inline_99$$ < $subCount$jscomp$inline_98$$; $subIdx$jscomp$inline_99$$++) {
        var $v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$ = $v1Subs$jscomp$inline_96$$[$subIdx$jscomp$inline_99$$] || "", $v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$ = $v2Subs$jscomp$inline_97$$[$subIdx$jscomp$inline_99$$] || "";
        do {
          $v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$ = /(\d*)(\D*)(.*)/.exec($v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$) || ["", "", "", ""];
          $v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$ = /(\d*)(\D*)(.*)/.exec($v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$) || ["", "", "", ""];
          if (0 == $v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$[0].length && 0 == $v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$[0].length) {
            break;
          }
          $order$jscomp$inline_95$$ = $goog$string$compareElements_$$(0 == $v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$[1].length ? 0 : parseInt($v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$[1], 10), 0 == $v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$[1].length ? 0 : parseInt($v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$[1], 10)) || $goog$string$compareElements_$$(0 == $v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$[2].length, 0 == $v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$[2].length) || 
          $goog$string$compareElements_$$($v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$[2], $v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$[2]);
          $v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$ = $v1Comp$jscomp$inline_102_v1Sub$jscomp$inline_100$$[3];
          $v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$ = $v2Comp$jscomp$inline_103_v2Sub$jscomp$inline_101$$[3];
        } while (0 == $order$jscomp$inline_95$$);
      }
      return 0 <= $order$jscomp$inline_95$$;
    });
  }
  var $JSCompiler_inline_result$jscomp$13$$;
  var $doc$jscomp$inline_105$$ = $goog$global$$.document;
  $JSCompiler_inline_result$jscomp$13$$ = $doc$jscomp$inline_105$$ && $goog$userAgent$IE$$ ? $goog$userAgent$getDocumentMode_$$() || ("CSS1Compat" == $doc$jscomp$inline_105$$.compatMode ? parseInt($goog$userAgent$VERSION$$, 10) : 5) : void 0;
  var $goog$userAgent$product$FIREFOX$$ = $goog$labs$userAgent$util$matchUserAgent$$("Firefox"), $goog$userAgent$product$ANDROID$$ = $goog$labs$userAgent$util$matchUserAgent$$("Android") && !($goog$labs$userAgent$browser$matchChrome_$$() || $goog$labs$userAgent$util$matchUserAgent$$("Firefox") || $goog$labs$userAgent$util$matchUserAgent$$("Opera") || $goog$labs$userAgent$util$matchUserAgent$$("Silk")), $goog$userAgent$product$CHROME$$ = $goog$labs$userAgent$browser$matchChrome_$$(), $goog$userAgent$product$SAFARI$$ = 
  $goog$labs$userAgent$util$matchUserAgent$$("Safari") && !($goog$labs$userAgent$browser$matchChrome_$$() || $goog$labs$userAgent$util$matchUserAgent$$("Coast") || $goog$labs$userAgent$util$matchUserAgent$$("Opera") || $goog$labs$userAgent$util$matchUserAgent$$("Edge") || $goog$labs$userAgent$util$matchUserAgent$$("Silk") || $goog$labs$userAgent$util$matchUserAgent$$("Android")) && !($goog$labs$userAgent$platform$isIphone$$() || $goog$labs$userAgent$util$matchUserAgent$$("iPad") || $goog$labs$userAgent$util$matchUserAgent$$("iPod"));
  var $goog$crypt$base64$byteToCharMap_$$ = null, $goog$crypt$base64$HAS_NATIVE_ENCODE_$$ = $goog$userAgent$GECKO$$ || $goog$userAgent$WEBKIT$$ && !$goog$userAgent$product$SAFARI$$ || $goog$userAgent$OPERA$$ || "function" == typeof $goog$global$$.btoa;
  function $jspb$BinaryEncoder$$() {
    this.$a$ = [];
  }
  $jspb$BinaryEncoder$$.prototype.length = function $$jspb$BinaryEncoder$$$$length$() {
    return this.$a$.length;
  };
  function $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$end$$($JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$end$self$$) {
    var $buffer$jscomp$15$$ = $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$end$self$$.$a$;
    $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$end$self$$.$a$ = [];
    return $buffer$jscomp$15$$;
  }
  function $JSCompiler_StaticMethods_writeUnsignedVarint32$$($JSCompiler_StaticMethods_writeUnsignedVarint32$self$$, $value$jscomp$124$$) {
    $goog$asserts$assert$$($value$jscomp$124$$ == Math.floor($value$jscomp$124$$));
    for ($goog$asserts$assert$$(0 <= $value$jscomp$124$$ && 4294967296 > $value$jscomp$124$$); 127 < $value$jscomp$124$$;) {
      $JSCompiler_StaticMethods_writeUnsignedVarint32$self$$.$a$.push($value$jscomp$124$$ & 127 | 128), $value$jscomp$124$$ >>>= 7;
    }
    $JSCompiler_StaticMethods_writeUnsignedVarint32$self$$.$a$.push($value$jscomp$124$$);
  }
  ;function $jspb$BinaryWriter$$() {
    this.$c$ = [];
    this.$b$ = 0;
    this.$a$ = new $jspb$BinaryEncoder$$;
    this.$f$ = [];
  }
  function $JSCompiler_StaticMethods_beginDelimited_$$($JSCompiler_StaticMethods_beginDelimited_$self$$, $bookmark_field$jscomp$6$$) {
    $JSCompiler_StaticMethods_writeFieldHeader_$$($JSCompiler_StaticMethods_beginDelimited_$self$$, $bookmark_field$jscomp$6$$, 2);
    $bookmark_field$jscomp$6$$ = $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$end$$($JSCompiler_StaticMethods_beginDelimited_$self$$.$a$);
    $JSCompiler_StaticMethods_beginDelimited_$self$$.$c$.push($bookmark_field$jscomp$6$$);
    $JSCompiler_StaticMethods_beginDelimited_$self$$.$b$ += $bookmark_field$jscomp$6$$.length;
    $bookmark_field$jscomp$6$$.push($JSCompiler_StaticMethods_beginDelimited_$self$$.$b$);
    return $bookmark_field$jscomp$6$$;
  }
  function $JSCompiler_StaticMethods_endDelimited_$$($JSCompiler_StaticMethods_endDelimited_$self$$, $bookmark$jscomp$1$$) {
    var $messageLength_oldLength$jscomp$1$$ = $bookmark$jscomp$1$$.pop();
    $messageLength_oldLength$jscomp$1$$ = $JSCompiler_StaticMethods_endDelimited_$self$$.$b$ + $JSCompiler_StaticMethods_endDelimited_$self$$.$a$.length() - $messageLength_oldLength$jscomp$1$$;
    for ($goog$asserts$assert$$(0 <= $messageLength_oldLength$jscomp$1$$); 127 < $messageLength_oldLength$jscomp$1$$;) {
      $bookmark$jscomp$1$$.push($messageLength_oldLength$jscomp$1$$ & 127 | 128), $messageLength_oldLength$jscomp$1$$ >>>= 7, $JSCompiler_StaticMethods_endDelimited_$self$$.$b$++;
    }
    $bookmark$jscomp$1$$.push($messageLength_oldLength$jscomp$1$$);
    $JSCompiler_StaticMethods_endDelimited_$self$$.$b$++;
  }
  $jspb$BinaryWriter$$.prototype.reset = function $$jspb$BinaryWriter$$$$reset$() {
    this.$c$ = [];
    $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$end$$(this.$a$);
    this.$b$ = 0;
    this.$f$ = [];
  };
  function $JSCompiler_StaticMethods_writeFieldHeader_$$($JSCompiler_StaticMethods_writeFieldHeader_$self$$, $field$jscomp$8$$, $wireType$$) {
    $goog$asserts$assert$$(1 <= $field$jscomp$8$$ && $field$jscomp$8$$ == Math.floor($field$jscomp$8$$));
    $JSCompiler_StaticMethods_writeUnsignedVarint32$$($JSCompiler_StaticMethods_writeFieldHeader_$self$$.$a$, 8 * $field$jscomp$8$$ + $wireType$$);
  }
  function $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$$($JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$self_JSCompiler_StaticMethods_writeSignedVarint32$self$jscomp$inline_107$$, $field$jscomp$37_i$jscomp$inline_109$$, $value$jscomp$173_value$jscomp$inline_108$$) {
    if (null != $value$jscomp$173_value$jscomp$inline_108$$) {
      if ($goog$asserts$assert$$(-2147483648 <= $value$jscomp$173_value$jscomp$inline_108$$ && 2147483648 > $value$jscomp$173_value$jscomp$inline_108$$), $JSCompiler_StaticMethods_writeFieldHeader_$$($JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$self_JSCompiler_StaticMethods_writeSignedVarint32$self$jscomp$inline_107$$, $field$jscomp$37_i$jscomp$inline_109$$, 0), $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$self_JSCompiler_StaticMethods_writeSignedVarint32$self$jscomp$inline_107$$ = 
      $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$self_JSCompiler_StaticMethods_writeSignedVarint32$self$jscomp$inline_107$$.$a$, $goog$asserts$assert$$($value$jscomp$173_value$jscomp$inline_108$$ == Math.floor($value$jscomp$173_value$jscomp$inline_108$$)), $goog$asserts$assert$$(-2147483648 <= $value$jscomp$173_value$jscomp$inline_108$$ && 2147483648 > $value$jscomp$173_value$jscomp$inline_108$$), 0 <= $value$jscomp$173_value$jscomp$inline_108$$) {
        $JSCompiler_StaticMethods_writeUnsignedVarint32$$($JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$self_JSCompiler_StaticMethods_writeSignedVarint32$self$jscomp$inline_107$$, $value$jscomp$173_value$jscomp$inline_108$$);
      } else {
        for ($field$jscomp$37_i$jscomp$inline_109$$ = 0; 9 > $field$jscomp$37_i$jscomp$inline_109$$; $field$jscomp$37_i$jscomp$inline_109$$++) {
          $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$self_JSCompiler_StaticMethods_writeSignedVarint32$self$jscomp$inline_107$$.$a$.push($value$jscomp$173_value$jscomp$inline_108$$ & 127 | 128), $value$jscomp$173_value$jscomp$inline_108$$ >>= 7;
        }
        $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$self_JSCompiler_StaticMethods_writeSignedVarint32$self$jscomp$inline_107$$.$a$.push(1);
      }
    }
  }
  function $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$self$$, $bookmark$jscomp$2_field$jscomp$38$$, $value$jscomp$174$$) {
    if (null != $value$jscomp$174$$) {
      $bookmark$jscomp$2_field$jscomp$38$$ = $JSCompiler_StaticMethods_beginDelimited_$$($JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$self$$, $bookmark$jscomp$2_field$jscomp$38$$);
      for (var $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$ = $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$self$$.$a$, $i$jscomp$inline_114$$ = 0; $i$jscomp$inline_114$$ < $value$jscomp$174$$.length; $i$jscomp$inline_114$$++) {
        var $c$jscomp$inline_115$$ = $value$jscomp$174$$.charCodeAt($i$jscomp$inline_114$$);
        if (128 > $c$jscomp$inline_115$$) {
          $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$);
        } else {
          if (2048 > $c$jscomp$inline_115$$) {
            $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$ >> 6 | 192), $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$ & 63 | 128);
          } else {
            if (65536 > $c$jscomp$inline_115$$) {
              if (55296 <= $c$jscomp$inline_115$$ && 56319 >= $c$jscomp$inline_115$$ && $i$jscomp$inline_114$$ + 1 < $value$jscomp$174$$.length) {
                var $second$jscomp$inline_116$$ = $value$jscomp$174$$.charCodeAt($i$jscomp$inline_114$$ + 1);
                56320 <= $second$jscomp$inline_116$$ && 57343 >= $second$jscomp$inline_116$$ && ($c$jscomp$inline_115$$ = 1024 * ($c$jscomp$inline_115$$ - 55296) + $second$jscomp$inline_116$$ - 56320 + 65536, $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$ >> 18 | 240), $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$ >> 12 & 63 | 128), $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$ >> 
                6 & 63 | 128), $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$ & 63 | 128), $i$jscomp$inline_114$$++);
              } else {
                $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$ >> 12 | 224), $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$ >> 6 & 63 | 128), $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeString$self$jscomp$inline_111$$.$a$.push($c$jscomp$inline_115$$ & 63 | 128);
              }
            }
          }
        }
      }
      $JSCompiler_StaticMethods_endDelimited_$$($JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$self$$, $bookmark$jscomp$2_field$jscomp$38$$);
    }
  }
  function $JSCompiler_StaticMethods_writeMessage$$($JSCompiler_StaticMethods_writeMessage$self$$, $bookmark$jscomp$3_field$jscomp$40$$, $value$jscomp$176$$, $writerCallback$$) {
    null != $value$jscomp$176$$ && ($bookmark$jscomp$3_field$jscomp$40$$ = $JSCompiler_StaticMethods_beginDelimited_$$($JSCompiler_StaticMethods_writeMessage$self$$, $bookmark$jscomp$3_field$jscomp$40$$), $writerCallback$$($value$jscomp$176$$, $JSCompiler_StaticMethods_writeMessage$self$$), $JSCompiler_StaticMethods_endDelimited_$$($JSCompiler_StaticMethods_writeMessage$self$$, $bookmark$jscomp$3_field$jscomp$40$$));
  }
  ;function $jspb$Map$$($arr$jscomp$65_i$jscomp$inline_119$$) {
    var $opt_valueCtor_record$jscomp$inline_120$$ = $proto$google$protobuf$Value$$;
    this.$b$ = $arr$jscomp$65_i$jscomp$inline_119$$;
    this.$f$ = $opt_valueCtor_record$jscomp$inline_120$$;
    this.$a$ = {};
    this.$c$ = !0;
    if (0 < this.$b$.length) {
      for ($arr$jscomp$65_i$jscomp$inline_119$$ = 0; $arr$jscomp$65_i$jscomp$inline_119$$ < this.$b$.length; $arr$jscomp$65_i$jscomp$inline_119$$++) {
        $opt_valueCtor_record$jscomp$inline_120$$ = this.$b$[$arr$jscomp$65_i$jscomp$inline_119$$];
        var $key$jscomp$inline_121$$ = $opt_valueCtor_record$jscomp$inline_120$$[0];
        this.$a$[$key$jscomp$inline_121$$.toString()] = new $jspb$Map$Entry_$$($key$jscomp$inline_121$$, $opt_valueCtor_record$jscomp$inline_120$$[1]);
      }
      this.$c$ = !0;
    }
  }
  $jspb$Map$$.prototype.$toArray$ = function $$jspb$Map$$$$$toArray$$() {
    if (this.$c$) {
      if (this.$f$) {
        var $m$jscomp$1_strKeys$$ = this.$a$, $i$jscomp$138_p$jscomp$2$$;
        for ($i$jscomp$138_p$jscomp$2$$ in $m$jscomp$1_strKeys$$) {
          if (Object.prototype.hasOwnProperty.call($m$jscomp$1_strKeys$$, $i$jscomp$138_p$jscomp$2$$)) {
            var $valueWrapper$$ = $m$jscomp$1_strKeys$$[$i$jscomp$138_p$jscomp$2$$].$a$;
            $valueWrapper$$ && $valueWrapper$$.$toArray$();
          }
        }
      }
    } else {
      this.$b$.length = 0;
      $m$jscomp$1_strKeys$$ = $JSCompiler_StaticMethods_stringKeys_$$(this);
      $m$jscomp$1_strKeys$$.sort();
      for ($i$jscomp$138_p$jscomp$2$$ = 0; $i$jscomp$138_p$jscomp$2$$ < $m$jscomp$1_strKeys$$.length; $i$jscomp$138_p$jscomp$2$$++) {
        var $entry$jscomp$10$$ = this.$a$[$m$jscomp$1_strKeys$$[$i$jscomp$138_p$jscomp$2$$]];
        ($valueWrapper$$ = $entry$jscomp$10$$.$a$) && $valueWrapper$$.$toArray$();
        this.$b$.push([$entry$jscomp$10$$.key, $entry$jscomp$10$$.value]);
      }
      this.$c$ = !0;
    }
    return this.$b$;
  };
  function $jspb$Map$ArrayIteratorIterable_$$($arr$jscomp$66$$) {
    this.$a$ = 0;
    this.$b$ = $arr$jscomp$66$$;
  }
  $jspb$Map$ArrayIteratorIterable_$$.prototype.next = function $$jspb$Map$ArrayIteratorIterable_$$$$next$() {
    return this.$a$ < this.$b$.length ? {done:!1, value:this.$b$[this.$a$++]} : {done:!0, value:void 0};
  };
  "undefined" != typeof Symbol && ($jspb$Map$ArrayIteratorIterable_$$.prototype[Symbol.iterator] = function $$jspb$Map$ArrayIteratorIterable_$$$$Symbol$iterator$() {
    return this;
  });
  $JSCompiler_prototypeAlias$$ = $jspb$Map$$.prototype;
  $JSCompiler_prototypeAlias$$.entries = function $$JSCompiler_prototypeAlias$$$entries$() {
    var $entries$jscomp$3$$ = [], $strKeys$jscomp$2$$ = $JSCompiler_StaticMethods_stringKeys_$$(this);
    $strKeys$jscomp$2$$.sort();
    for (var $i$jscomp$142$$ = 0; $i$jscomp$142$$ < $strKeys$jscomp$2$$.length; $i$jscomp$142$$++) {
      var $entry$jscomp$13$$ = this.$a$[$strKeys$jscomp$2$$[$i$jscomp$142$$]];
      $entries$jscomp$3$$.push([$entry$jscomp$13$$.key, $JSCompiler_StaticMethods_wrapEntry_$$(this, $entry$jscomp$13$$)]);
    }
    return new $jspb$Map$ArrayIteratorIterable_$$($entries$jscomp$3$$);
  };
  $JSCompiler_prototypeAlias$$.keys = function $$JSCompiler_prototypeAlias$$$keys$() {
    var $keys$jscomp$2$$ = [], $strKeys$jscomp$3$$ = $JSCompiler_StaticMethods_stringKeys_$$(this);
    $strKeys$jscomp$3$$.sort();
    for (var $i$jscomp$143$$ = 0; $i$jscomp$143$$ < $strKeys$jscomp$3$$.length; $i$jscomp$143$$++) {
      $keys$jscomp$2$$.push(this.$a$[$strKeys$jscomp$3$$[$i$jscomp$143$$]].key);
    }
    return new $jspb$Map$ArrayIteratorIterable_$$($keys$jscomp$2$$);
  };
  $JSCompiler_prototypeAlias$$.values = function $$JSCompiler_prototypeAlias$$$values$() {
    var $values$jscomp$5$$ = [], $strKeys$jscomp$4$$ = $JSCompiler_StaticMethods_stringKeys_$$(this);
    $strKeys$jscomp$4$$.sort();
    for (var $i$jscomp$144$$ = 0; $i$jscomp$144$$ < $strKeys$jscomp$4$$.length; $i$jscomp$144$$++) {
      $values$jscomp$5$$.push($JSCompiler_StaticMethods_wrapEntry_$$(this, this.$a$[$strKeys$jscomp$4$$[$i$jscomp$144$$]]));
    }
    return new $jspb$Map$ArrayIteratorIterable_$$($values$jscomp$5$$);
  };
  $JSCompiler_prototypeAlias$$.forEach = function $$JSCompiler_prototypeAlias$$$forEach$($cb$$, $opt_thisArg$jscomp$14$$) {
    var $strKeys$jscomp$5$$ = $JSCompiler_StaticMethods_stringKeys_$$(this);
    $strKeys$jscomp$5$$.sort();
    for (var $i$jscomp$145$$ = 0; $i$jscomp$145$$ < $strKeys$jscomp$5$$.length; $i$jscomp$145$$++) {
      var $entry$jscomp$16$$ = this.$a$[$strKeys$jscomp$5$$[$i$jscomp$145$$]];
      $cb$$.call($opt_thisArg$jscomp$14$$, $JSCompiler_StaticMethods_wrapEntry_$$(this, $entry$jscomp$16$$), $entry$jscomp$16$$.key, this);
    }
  };
  $JSCompiler_prototypeAlias$$.set = function $$JSCompiler_prototypeAlias$$$set$($key$jscomp$86$$, $value$jscomp$232$$) {
    var $entry$jscomp$17$$ = new $jspb$Map$Entry_$$($key$jscomp$86$$);
    this.$f$ ? ($entry$jscomp$17$$.$a$ = $value$jscomp$232$$, $entry$jscomp$17$$.value = $value$jscomp$232$$.$toArray$()) : $entry$jscomp$17$$.value = $value$jscomp$232$$;
    this.$a$[$key$jscomp$86$$.toString()] = $entry$jscomp$17$$;
    this.$c$ = !1;
    return this;
  };
  function $JSCompiler_StaticMethods_wrapEntry_$$($JSCompiler_StaticMethods_wrapEntry_$self$$, $entry$jscomp$18$$) {
    return $JSCompiler_StaticMethods_wrapEntry_$self$$.$f$ ? ($entry$jscomp$18$$.$a$ || ($entry$jscomp$18$$.$a$ = new $JSCompiler_StaticMethods_wrapEntry_$self$$.$f$($entry$jscomp$18$$.value)), $entry$jscomp$18$$.$a$) : $entry$jscomp$18$$.value;
  }
  $JSCompiler_prototypeAlias$$.get = function $$JSCompiler_prototypeAlias$$$get$($entry$jscomp$19_key$jscomp$87$$) {
    if ($entry$jscomp$19_key$jscomp$87$$ = this.$a$[$entry$jscomp$19_key$jscomp$87$$.toString()]) {
      return $JSCompiler_StaticMethods_wrapEntry_$$(this, $entry$jscomp$19_key$jscomp$87$$);
    }
  };
  $JSCompiler_prototypeAlias$$.has = function $$JSCompiler_prototypeAlias$$$has$($key$jscomp$88$$) {
    return $key$jscomp$88$$.toString() in this.$a$;
  };
  function $JSCompiler_StaticMethods_stringKeys_$$($JSCompiler_StaticMethods_stringKeys_$self_m$jscomp$2$$) {
    $JSCompiler_StaticMethods_stringKeys_$self_m$jscomp$2$$ = $JSCompiler_StaticMethods_stringKeys_$self_m$jscomp$2$$.$a$;
    var $ret$jscomp$1$$ = [], $p$jscomp$3$$;
    for ($p$jscomp$3$$ in $JSCompiler_StaticMethods_stringKeys_$self_m$jscomp$2$$) {
      Object.prototype.hasOwnProperty.call($JSCompiler_StaticMethods_stringKeys_$self_m$jscomp$2$$, $p$jscomp$3$$) && $ret$jscomp$1$$.push($p$jscomp$3$$);
    }
    return $ret$jscomp$1$$;
  }
  function $jspb$Map$Entry_$$($key$jscomp$90$$, $opt_value$jscomp$8$$) {
    this.key = $key$jscomp$90$$;
    this.value = $opt_value$jscomp$8$$;
    this.$a$ = void 0;
  }
  ;function $jspb$Message$$() {
  }
  var $jspb$Message$SUPPORTS_UINT8ARRAY_$$ = "function" == typeof Uint8Array;
  function $jspb$Message$initialize$$($msg$jscomp$2$$, $data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$, $repeatedFields$$, $opt_oneofFields$$) {
    $msg$jscomp$2$$.$a$ = null;
    $data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$ || ($data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$ = []);
    $msg$jscomp$2$$.$i$ = void 0;
    $msg$jscomp$2$$.$f$ = -1;
    $msg$jscomp$2$$.$b$ = $data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$;
    a: {
      if ($msg$jscomp$2$$.$b$.length) {
        $data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$ = $msg$jscomp$2$$.$b$.length - 1;
        var $fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$ = $msg$jscomp$2$$.$b$[$data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$];
        if ($fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$ && "object" == typeof $fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$ && !$goog$isArray$$($fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$) && !($jspb$Message$SUPPORTS_UINT8ARRAY_$$ && $fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$ instanceof Uint8Array)) {
          $msg$jscomp$2$$.$g$ = $data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$ - $msg$jscomp$2$$.$f$;
          $msg$jscomp$2$$.$c$ = $fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$;
          break a;
        }
      }
      $msg$jscomp$2$$.$g$ = Number.MAX_VALUE;
    }
    $msg$jscomp$2$$.$h$ = {};
    if ($repeatedFields$$) {
      for ($data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$ = 0; $data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$ < $repeatedFields$$.length; $data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$++) {
        $fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$ = $repeatedFields$$[$data$jscomp$35_foundIndex$jscomp$inline_125_i$jscomp$147$$], $fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$ < $msg$jscomp$2$$.$g$ ? ($fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$ += $msg$jscomp$2$$.$f$, $msg$jscomp$2$$.$b$[$fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$] = $msg$jscomp$2$$.$b$[$fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$] || $jspb$Message$EMPTY_LIST_SENTINEL_$$) : 
        ($jspb$Message$maybeInitEmptyExtensionObject_$$($msg$jscomp$2$$), $msg$jscomp$2$$.$c$[$fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$] = $msg$jscomp$2$$.$c$[$fieldNumber$jscomp$3_index$jscomp$68_obj$jscomp$inline_126$$] || $jspb$Message$EMPTY_LIST_SENTINEL_$$);
      }
    }
    $opt_oneofFields$$ && $opt_oneofFields$$.length && $goog$array$forEach$$($opt_oneofFields$$, $goog$partial$$($jspb$Message$computeOneofCase$$, $msg$jscomp$2$$));
  }
  var $jspb$Message$EMPTY_LIST_SENTINEL_$$ = Object.freeze ? Object.freeze([]) : [];
  function $jspb$Message$maybeInitEmptyExtensionObject_$$($msg$jscomp$4$$) {
    var $pivotIndex$$ = $msg$jscomp$4$$.$g$ + $msg$jscomp$4$$.$f$;
    $msg$jscomp$4$$.$b$[$pivotIndex$$] || ($msg$jscomp$4$$.$c$ = $msg$jscomp$4$$.$b$[$pivotIndex$$] = {});
  }
  function $jspb$Message$getField$$($msg$jscomp$6$$, $fieldNumber$jscomp$6_index$jscomp$69$$) {
    if ($fieldNumber$jscomp$6_index$jscomp$69$$ < $msg$jscomp$6$$.$g$) {
      $fieldNumber$jscomp$6_index$jscomp$69$$ += $msg$jscomp$6$$.$f$;
      var $val$jscomp$23$$ = $msg$jscomp$6$$.$b$[$fieldNumber$jscomp$6_index$jscomp$69$$];
      return $val$jscomp$23$$ === $jspb$Message$EMPTY_LIST_SENTINEL_$$ ? $msg$jscomp$6$$.$b$[$fieldNumber$jscomp$6_index$jscomp$69$$] = [] : $val$jscomp$23$$;
    }
    if ($msg$jscomp$6$$.$c$) {
      return $val$jscomp$23$$ = $msg$jscomp$6$$.$c$[$fieldNumber$jscomp$6_index$jscomp$69$$], $val$jscomp$23$$ === $jspb$Message$EMPTY_LIST_SENTINEL_$$ ? $msg$jscomp$6$$.$c$[$fieldNumber$jscomp$6_index$jscomp$69$$] = [] : $val$jscomp$23$$;
    }
  }
  function $jspb$Message$getRepeatedField$$($msg$jscomp$7$$, $fieldNumber$jscomp$7_index$jscomp$70$$) {
    if ($fieldNumber$jscomp$7_index$jscomp$70$$ < $msg$jscomp$7$$.$g$) {
      $fieldNumber$jscomp$7_index$jscomp$70$$ += $msg$jscomp$7$$.$f$;
      var $val$jscomp$24$$ = $msg$jscomp$7$$.$b$[$fieldNumber$jscomp$7_index$jscomp$70$$];
      return $val$jscomp$24$$ === $jspb$Message$EMPTY_LIST_SENTINEL_$$ ? $msg$jscomp$7$$.$b$[$fieldNumber$jscomp$7_index$jscomp$70$$] = [] : $val$jscomp$24$$;
    }
    $val$jscomp$24$$ = $msg$jscomp$7$$.$c$[$fieldNumber$jscomp$7_index$jscomp$70$$];
    return $val$jscomp$24$$ === $jspb$Message$EMPTY_LIST_SENTINEL_$$ ? $msg$jscomp$7$$.$c$[$fieldNumber$jscomp$7_index$jscomp$70$$] = [] : $val$jscomp$24$$;
  }
  function $jspb$Message$getFieldWithDefault$$($msg$jscomp$10_value$jscomp$242$$, $fieldNumber$jscomp$10$$, $defaultValue$jscomp$3$$) {
    $msg$jscomp$10_value$jscomp$242$$ = $jspb$Message$getField$$($msg$jscomp$10_value$jscomp$242$$, $fieldNumber$jscomp$10$$);
    return null == $msg$jscomp$10_value$jscomp$242$$ ? $defaultValue$jscomp$3$$ : $msg$jscomp$10_value$jscomp$242$$;
  }
  function $jspb$Message$setField$$($msg$jscomp$12$$, $fieldNumber$jscomp$12$$, $value$jscomp$243$$) {
    $fieldNumber$jscomp$12$$ < $msg$jscomp$12$$.$g$ ? $msg$jscomp$12$$.$b$[$fieldNumber$jscomp$12$$ + $msg$jscomp$12$$.$f$] = $value$jscomp$243$$ : ($jspb$Message$maybeInitEmptyExtensionObject_$$($msg$jscomp$12$$), $msg$jscomp$12$$.$c$[$fieldNumber$jscomp$12$$] = $value$jscomp$243$$);
  }
  function $jspb$Message$setOneofField$$($msg$jscomp$21$$, $fieldNumber$jscomp$21$$, $currentCase_oneof$$, $value$jscomp$252$$) {
    ($currentCase_oneof$$ = $jspb$Message$computeOneofCase$$($msg$jscomp$21$$, $currentCase_oneof$$)) && $currentCase_oneof$$ !== $fieldNumber$jscomp$21$$ && void 0 !== $value$jscomp$252$$ && ($msg$jscomp$21$$.$a$ && $currentCase_oneof$$ in $msg$jscomp$21$$.$a$ && ($msg$jscomp$21$$.$a$[$currentCase_oneof$$] = void 0), $jspb$Message$setField$$($msg$jscomp$21$$, $currentCase_oneof$$, void 0));
    $jspb$Message$setField$$($msg$jscomp$21$$, $fieldNumber$jscomp$21$$, $value$jscomp$252$$);
  }
  function $jspb$Message$computeOneofCase$$($msg$jscomp$22$$, $oneof$jscomp$1$$) {
    var $oneofField$$, $oneofValue$$;
    $goog$array$forEach$$($oneof$jscomp$1$$, function($fieldNumber$jscomp$22$$) {
      var $value$jscomp$253$$ = $jspb$Message$getField$$($msg$jscomp$22$$, $fieldNumber$jscomp$22$$);
      null != $value$jscomp$253$$ && ($oneofField$$ = $fieldNumber$jscomp$22$$, $oneofValue$$ = $value$jscomp$253$$, $jspb$Message$setField$$($msg$jscomp$22$$, $fieldNumber$jscomp$22$$, void 0));
    });
    return $oneofField$$ ? ($jspb$Message$setField$$($msg$jscomp$22$$, $oneofField$$, $oneofValue$$), $oneofField$$) : 0;
  }
  function $jspb$Message$getWrapperField$$($msg$jscomp$23$$, $ctor$jscomp$3$$, $fieldNumber$jscomp$23$$) {
    $msg$jscomp$23$$.$a$ || ($msg$jscomp$23$$.$a$ = {});
    if (!$msg$jscomp$23$$.$a$[$fieldNumber$jscomp$23$$]) {
      var $data$jscomp$36$$ = $jspb$Message$getField$$($msg$jscomp$23$$, $fieldNumber$jscomp$23$$);
      $data$jscomp$36$$ && ($msg$jscomp$23$$.$a$[$fieldNumber$jscomp$23$$] = new $ctor$jscomp$3$$($data$jscomp$36$$));
    }
    return $msg$jscomp$23$$.$a$[$fieldNumber$jscomp$23$$];
  }
  function $jspb$Message$setWrapperField$$($msg$jscomp$26$$, $fieldNumber$jscomp$26$$, $value$jscomp$254$$) {
    $msg$jscomp$26$$.$a$ || ($msg$jscomp$26$$.$a$ = {});
    var $data$jscomp$38$$ = $value$jscomp$254$$ ? $value$jscomp$254$$.$toArray$() : $value$jscomp$254$$;
    $msg$jscomp$26$$.$a$[$fieldNumber$jscomp$26$$] = $value$jscomp$254$$;
    $jspb$Message$setField$$($msg$jscomp$26$$, $fieldNumber$jscomp$26$$, $data$jscomp$38$$);
  }
  function $jspb$Message$setOneofWrapperField$$($msg$jscomp$27$$, $fieldNumber$jscomp$27$$, $oneof$jscomp$2$$, $value$jscomp$255$$) {
    $msg$jscomp$27$$.$a$ || ($msg$jscomp$27$$.$a$ = {});
    var $data$jscomp$39$$ = $value$jscomp$255$$ ? $value$jscomp$255$$.$toArray$() : $value$jscomp$255$$;
    $msg$jscomp$27$$.$a$[$fieldNumber$jscomp$27$$] = $value$jscomp$255$$;
    $jspb$Message$setOneofField$$($msg$jscomp$27$$, $fieldNumber$jscomp$27$$, $oneof$jscomp$2$$, $data$jscomp$39$$);
  }
  function $jspb$Message$addToRepeatedWrapperField$$($array$jscomp$16_msg$jscomp$29$$, $fieldNumber$jscomp$29$$, $insertedValue_value$jscomp$257$$, $ctor$jscomp$6$$, $index$jscomp$71$$) {
    $array$jscomp$16_msg$jscomp$29$$.$a$ || ($array$jscomp$16_msg$jscomp$29$$.$a$ = {});
    if (!$array$jscomp$16_msg$jscomp$29$$.$a$[$fieldNumber$jscomp$29$$]) {
      for (var $data$jscomp$inline_131_wrapperArray$$ = $jspb$Message$getRepeatedField$$($array$jscomp$16_msg$jscomp$29$$, $fieldNumber$jscomp$29$$), $wrappers$jscomp$inline_132$$ = [], $i$jscomp$inline_133$$ = 0; $i$jscomp$inline_133$$ < $data$jscomp$inline_131_wrapperArray$$.length; $i$jscomp$inline_133$$++) {
        $wrappers$jscomp$inline_132$$[$i$jscomp$inline_133$$] = new $ctor$jscomp$6$$($data$jscomp$inline_131_wrapperArray$$[$i$jscomp$inline_133$$]);
      }
      $array$jscomp$16_msg$jscomp$29$$.$a$[$fieldNumber$jscomp$29$$] = $wrappers$jscomp$inline_132$$;
    }
    ($data$jscomp$inline_131_wrapperArray$$ = $array$jscomp$16_msg$jscomp$29$$.$a$[$fieldNumber$jscomp$29$$]) || ($data$jscomp$inline_131_wrapperArray$$ = $array$jscomp$16_msg$jscomp$29$$.$a$[$fieldNumber$jscomp$29$$] = []);
    $insertedValue_value$jscomp$257$$ = $insertedValue_value$jscomp$257$$ ? $insertedValue_value$jscomp$257$$ : new $ctor$jscomp$6$$;
    $array$jscomp$16_msg$jscomp$29$$ = $jspb$Message$getRepeatedField$$($array$jscomp$16_msg$jscomp$29$$, $fieldNumber$jscomp$29$$);
    void 0 != $index$jscomp$71$$ ? ($data$jscomp$inline_131_wrapperArray$$.splice($index$jscomp$71$$, 0, $insertedValue_value$jscomp$257$$), $array$jscomp$16_msg$jscomp$29$$.splice($index$jscomp$71$$, 0, $insertedValue_value$jscomp$257$$.$toArray$())) : ($data$jscomp$inline_131_wrapperArray$$.push($insertedValue_value$jscomp$257$$), $array$jscomp$16_msg$jscomp$29$$.push($insertedValue_value$jscomp$257$$.$toArray$()));
    return $insertedValue_value$jscomp$257$$;
  }
  function $JSCompiler_StaticMethods_syncMapFields_$$($JSCompiler_StaticMethods_syncMapFields_$self$$) {
    if ($JSCompiler_StaticMethods_syncMapFields_$self$$.$a$) {
      for (var $fieldNumber$jscomp$30$$ in $JSCompiler_StaticMethods_syncMapFields_$self$$.$a$) {
        var $val$jscomp$26$$ = $JSCompiler_StaticMethods_syncMapFields_$self$$.$a$[$fieldNumber$jscomp$30$$];
        if ($goog$isArray$$($val$jscomp$26$$)) {
          for (var $i$jscomp$153$$ = 0; $i$jscomp$153$$ < $val$jscomp$26$$.length; $i$jscomp$153$$++) {
            $val$jscomp$26$$[$i$jscomp$153$$] && $val$jscomp$26$$[$i$jscomp$153$$].$toArray$();
          }
        } else {
          $val$jscomp$26$$ && $val$jscomp$26$$.$toArray$();
        }
      }
    }
  }
  $jspb$Message$$.prototype.$toArray$ = function $$jspb$Message$$$$$toArray$$() {
    $JSCompiler_StaticMethods_syncMapFields_$$(this);
    return this.$b$;
  };
  $jspb$Message$$.prototype.toString = function $$jspb$Message$$$$toString$() {
    $JSCompiler_StaticMethods_syncMapFields_$$(this);
    return this.$b$.toString();
  };
  function $jspb$Message$clone_$$($obj$jscomp$79$$) {
    var $o$jscomp$1$$;
    if ($goog$isArray$$($obj$jscomp$79$$)) {
      for (var $clone$jscomp$2_clonedArray$$ = Array($obj$jscomp$79$$.length), $i$jscomp$157_key$jscomp$91$$ = 0; $i$jscomp$157_key$jscomp$91$$ < $obj$jscomp$79$$.length; $i$jscomp$157_key$jscomp$91$$++) {
        null != ($o$jscomp$1$$ = $obj$jscomp$79$$[$i$jscomp$157_key$jscomp$91$$]) && ($clone$jscomp$2_clonedArray$$[$i$jscomp$157_key$jscomp$91$$] = "object" == typeof $o$jscomp$1$$ ? $jspb$Message$clone_$$($o$jscomp$1$$) : $o$jscomp$1$$);
      }
      return $clone$jscomp$2_clonedArray$$;
    }
    if ($jspb$Message$SUPPORTS_UINT8ARRAY_$$ && $obj$jscomp$79$$ instanceof Uint8Array) {
      return new Uint8Array($obj$jscomp$79$$);
    }
    $clone$jscomp$2_clonedArray$$ = {};
    for ($i$jscomp$157_key$jscomp$91$$ in $obj$jscomp$79$$) {
      null != ($o$jscomp$1$$ = $obj$jscomp$79$$[$i$jscomp$157_key$jscomp$91$$]) && ($clone$jscomp$2_clonedArray$$[$i$jscomp$157_key$jscomp$91$$] = "object" == typeof $o$jscomp$1$$ ? $jspb$Message$clone_$$($o$jscomp$1$$) : $o$jscomp$1$$);
    }
    return $clone$jscomp$2_clonedArray$$;
  }
  ;function $proto$google$protobuf$Struct$$($opt_data$jscomp$3$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$3$$, null, null);
  }
  $goog$inherits$$($proto$google$protobuf$Struct$$, $jspb$Message$$);
  function $proto$google$protobuf$Value$$($opt_data$jscomp$4$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$4$$, null, $proto$google$protobuf$Value$oneofGroups_$$);
  }
  $goog$inherits$$($proto$google$protobuf$Value$$, $jspb$Message$$);
  var $proto$google$protobuf$Value$oneofGroups_$$ = [[1, 2, 3, 4, 5, 6]];
  function $proto$google$protobuf$ListValue$$($opt_data$jscomp$5$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$5$$, $proto$google$protobuf$ListValue$repeatedFields_$$, null);
  }
  $goog$inherits$$($proto$google$protobuf$ListValue$$, $jspb$Message$$);
  var $proto$google$protobuf$ListValue$repeatedFields_$$ = [1];
  function $proto$google$protobuf$Value$fromJavaScript$$($value$jscomp$269_value$jscomp$inline_155$$) {
    var $ret$jscomp$2$$ = new $proto$google$protobuf$Value$$;
    switch($goog$typeOf$$($value$jscomp$269_value$jscomp$inline_155$$)) {
      case "string":
        $jspb$Message$setOneofField$$($ret$jscomp$2$$, 3, $proto$google$protobuf$Value$oneofGroups_$$[0], $value$jscomp$269_value$jscomp$inline_155$$);
        break;
      case "number":
        $jspb$Message$setOneofField$$($ret$jscomp$2$$, 2, $proto$google$protobuf$Value$oneofGroups_$$[0], $value$jscomp$269_value$jscomp$inline_155$$);
        break;
      case "boolean":
        $jspb$Message$setOneofField$$($ret$jscomp$2$$, 4, $proto$google$protobuf$Value$oneofGroups_$$[0], $value$jscomp$269_value$jscomp$inline_155$$);
        break;
      case "null":
        $jspb$Message$setOneofField$$($ret$jscomp$2$$, 1, $proto$google$protobuf$Value$oneofGroups_$$[0], 0);
        break;
      case "array":
        for (var $ret$jscomp$inline_148$$ = new $proto$google$protobuf$ListValue$$, $i$jscomp$inline_149$$ = 0; $i$jscomp$inline_149$$ < $value$jscomp$269_value$jscomp$inline_155$$.length; $i$jscomp$inline_149$$++) {
          var $opt_value$jscomp$inline_828$$ = $proto$google$protobuf$Value$fromJavaScript$$($value$jscomp$269_value$jscomp$inline_155$$[$i$jscomp$inline_149$$]);
          $jspb$Message$addToRepeatedWrapperField$$($ret$jscomp$inline_148$$, 1, $opt_value$jscomp$inline_828$$, $proto$google$protobuf$Value$$, void 0);
        }
        $jspb$Message$setOneofWrapperField$$($ret$jscomp$2$$, 6, $proto$google$protobuf$Value$oneofGroups_$$[0], $ret$jscomp$inline_148$$);
        break;
      case "object":
        $value$jscomp$269_value$jscomp$inline_155$$ = $proto$google$protobuf$Struct$fromJavaScript$$($value$jscomp$269_value$jscomp$inline_155$$);
        $jspb$Message$setOneofWrapperField$$($ret$jscomp$2$$, 5, $proto$google$protobuf$Value$oneofGroups_$$[0], $value$jscomp$269_value$jscomp$inline_155$$);
        break;
      default:
        throw Error("Unexpected struct type.");
    }
    return $ret$jscomp$2$$;
  }
  function $proto$google$protobuf$Struct$fromJavaScript$$($obj$jscomp$83$$) {
    var $ret$jscomp$6$$ = new $proto$google$protobuf$Struct$$;
    $ret$jscomp$6$$.$a$ || ($ret$jscomp$6$$.$a$ = {});
    if (1 in $ret$jscomp$6$$.$a$) {
      var $arr$jscomp$inline_833_map$jscomp$5$$ = $ret$jscomp$6$$.$a$[1];
    } else {
      $arr$jscomp$inline_833_map$jscomp$5$$ = $jspb$Message$getField$$($ret$jscomp$6$$, 1), $arr$jscomp$inline_833_map$jscomp$5$$ || ($arr$jscomp$inline_833_map$jscomp$5$$ = [], $jspb$Message$setField$$($ret$jscomp$6$$, 1, $arr$jscomp$inline_833_map$jscomp$5$$)), $arr$jscomp$inline_833_map$jscomp$5$$ = $ret$jscomp$6$$.$a$[1] = new $jspb$Map$$($arr$jscomp$inline_833_map$jscomp$5$$);
    }
    for (var $property$jscomp$6$$ in $obj$jscomp$83$$) {
      $arr$jscomp$inline_833_map$jscomp$5$$.set($property$jscomp$6$$, $proto$google$protobuf$Value$fromJavaScript$$($obj$jscomp$83$$[$property$jscomp$6$$]));
    }
    return $ret$jscomp$6$$;
  }
  ;function $proto$temporal$Date$$($opt_data$jscomp$7$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$7$$, null, $proto$temporal$Date$oneofGroups_$$);
  }
  $goog$inherits$$($proto$temporal$Date$$, $jspb$Message$$);
  var $proto$temporal$Date$oneofGroups_$$ = [[1]];
  function $proto$temporal$Instant$$($opt_data$jscomp$19$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$19$$, null, $proto$temporal$Instant$oneofGroups_$$);
  }
  $goog$inherits$$($proto$temporal$Instant$$, $jspb$Message$$);
  var $proto$temporal$Instant$oneofGroups_$$ = [[1, 2, 3]];
  function $proto$geo$Address$$($opt_data$jscomp$21$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$21$$, null, null);
  }
  $goog$inherits$$($proto$geo$Address$$, $jspb$Message$$);
  function $proto$content$Name$$($opt_data$jscomp$22$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$22$$, null, null);
  }
  $goog$inherits$$($proto$content$Name$$, $jspb$Message$$);
  function $proto$geo$Location$$($opt_data$jscomp$23$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$23$$, null, null);
  }
  $goog$inherits$$($proto$geo$Location$$, $jspb$Message$$);
  $proto$geo$Location$$.prototype.getName = function $$proto$geo$Location$$$$getName$() {
    return $jspb$Message$getWrapperField$$(this, $proto$content$Name$$, 1);
  };
  function $proto$contact$PhoneNumber$$($opt_data$jscomp$24$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$24$$, null, null);
  }
  $goog$inherits$$($proto$contact$PhoneNumber$$, $jspb$Message$$);
  function $proto$contact$EmailAddress$$($opt_data$jscomp$25$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$25$$, null, null);
  }
  $goog$inherits$$($proto$contact$EmailAddress$$, $jspb$Message$$);
  function $proto$contact$ContactInfo$$($opt_data$jscomp$27$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$27$$, null, null);
  }
  $goog$inherits$$($proto$contact$ContactInfo$$, $jspb$Message$$);
  $proto$contact$ContactInfo$$.prototype.$setLocation$ = function $$proto$contact$ContactInfo$$$$$setLocation$$($value$jscomp$357$$) {
    $jspb$Message$setWrapperField$$(this, 1, $value$jscomp$357$$);
  };
  function $proto$person$Name$$($opt_data$jscomp$28$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$28$$, null, null);
  }
  $goog$inherits$$($proto$person$Name$$, $jspb$Message$$);
  function $proto$identity$UserKey$$($opt_data$jscomp$49$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$49$$, null, null);
  }
  $goog$inherits$$($proto$identity$UserKey$$, $jspb$Message$$);
  function $proto$identity$UserKey$serializeBinaryToWriter$$($f$jscomp$128_message$jscomp$74$$, $writer$jscomp$95$$) {
    $f$jscomp$128_message$jscomp$74$$ = $jspb$Message$getFieldWithDefault$$($f$jscomp$128_message$jscomp$74$$, 1, "");
    0 < $f$jscomp$128_message$jscomp$74$$.length && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($writer$jscomp$95$$, 1, $f$jscomp$128_message$jscomp$74$$);
  }
  function $proto$partner$PartnerKey$$($opt_data$jscomp$60$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$60$$, null, null);
  }
  $goog$inherits$$($proto$partner$PartnerKey$$, $jspb$Message$$);
  function $proto$partner$PartnerLocationKey$$($opt_data$jscomp$67$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$67$$, null, null);
  }
  $goog$inherits$$($proto$partner$PartnerLocationKey$$, $jspb$Message$$);
  function $proto$partner$PartnerDeviceKey$$($opt_data$jscomp$69$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$69$$, null, null);
  }
  $goog$inherits$$($proto$partner$PartnerDeviceKey$$, $jspb$Message$$);
  $proto$partner$PartnerDeviceKey$$.prototype.$setLocation$ = function $$proto$partner$PartnerDeviceKey$$$$$setLocation$$($value$jscomp$574$$) {
    $jspb$Message$setWrapperField$$(this, 1, $value$jscomp$574$$);
  };
  function $proto$base$ProductType$$($opt_data$jscomp$79$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$79$$, null, null);
  }
  $goog$inherits$$($proto$base$ProductType$$, $jspb$Message$$);
  $proto$base$ProductType$$.prototype.$getKind$ = function $$proto$base$ProductType$$$$$getKind$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, 0);
  };
  function $proto$base$ProductKey$$($opt_data$jscomp$80$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$80$$, null, null);
  }
  $goog$inherits$$($proto$base$ProductKey$$, $jspb$Message$$);
  $proto$base$ProductKey$$.prototype.$getId$ = function $$proto$base$ProductKey$$$$$getId$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, "");
  };
  $proto$base$ProductKey$$.prototype.$getType$ = function $$proto$base$ProductKey$$$$$getType$$() {
    return $jspb$Message$getWrapperField$$(this, $proto$base$ProductType$$, 2);
  };
  $proto$base$ProductKey$$.prototype.$setType$ = function $$proto$base$ProductKey$$$$$setType$$($value$jscomp$610$$) {
    $jspb$Message$setWrapperField$$(this, 2, $value$jscomp$610$$);
  };
  function $proto$commerce$VariantSpec$$($opt_data$jscomp$81$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$81$$, null, $proto$commerce$VariantSpec$oneofGroups_$$);
  }
  $goog$inherits$$($proto$commerce$VariantSpec$$, $jspb$Message$$);
  var $proto$commerce$VariantSpec$oneofGroups_$$ = [[2, 3, 4]];
  $proto$commerce$VariantSpec$$.prototype.$getVariant$ = function $$proto$commerce$VariantSpec$$$$$getVariant$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, 0);
  };
  function $proto$commerce$Item$$($opt_data$jscomp$82$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$82$$, $proto$commerce$Item$repeatedFields_$$, null);
  }
  $goog$inherits$$($proto$commerce$Item$$, $jspb$Message$$);
  var $proto$commerce$Item$repeatedFields_$$ = [2];
  $proto$commerce$Item$$.prototype.$getCount$ = function $$proto$commerce$Item$$$$$getCount$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 3, 0);
  };
  function $proto$commerce$DeliveryDestination$$($opt_data$jscomp$83$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$83$$, null, null);
  }
  $goog$inherits$$($proto$commerce$DeliveryDestination$$, $jspb$Message$$);
  $proto$commerce$DeliveryDestination$$.prototype.$setInstructions$ = function $$proto$commerce$DeliveryDestination$$$$$setInstructions$$($value$jscomp$622$$) {
    $jspb$Message$setField$$(this, 2, $value$jscomp$622$$);
  };
  function $proto$commerce$Customer$$($opt_data$jscomp$84$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$84$$, null, null);
  }
  $goog$inherits$$($proto$commerce$Customer$$, $jspb$Message$$);
  function $proto$commerce$OrderScheduling$$($opt_data$jscomp$85$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$85$$, null, null);
  }
  $goog$inherits$$($proto$commerce$OrderScheduling$$, $jspb$Message$$);
  $proto$commerce$OrderScheduling$$.prototype.$getScheduling$ = function $$proto$commerce$OrderScheduling$$$$$getScheduling$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, 0);
  };
  $proto$commerce$OrderScheduling$$.prototype.$getDesiredTime$ = function $$proto$commerce$OrderScheduling$$$$$getDesiredTime$$() {
    return $jspb$Message$getWrapperField$$(this, $proto$temporal$Instant$$, 2);
  };
  function $proto$commerce$OrderKey$$($opt_data$jscomp$87$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$87$$, null, null);
  }
  $goog$inherits$$($proto$commerce$OrderKey$$, $jspb$Message$$);
  $proto$commerce$OrderKey$$.prototype.$getId$ = function $$proto$commerce$OrderKey$$$$$getId$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, "");
  };
  function $proto$commerce$Order$$($opt_data$jscomp$88$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$88$$, $proto$commerce$Order$repeatedFields_$$, null);
  }
  $goog$inherits$$($proto$commerce$Order$$, $jspb$Message$$);
  var $proto$commerce$Order$repeatedFields_$$ = [8, 9];
  $JSCompiler_prototypeAlias$$ = $proto$commerce$Order$$.prototype;
  $JSCompiler_prototypeAlias$$.$getId$ = function $$JSCompiler_prototypeAlias$$$$getId$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, "");
  };
  $JSCompiler_prototypeAlias$$.$getType$ = function $$JSCompiler_prototypeAlias$$$$getType$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 2, 0);
  };
  $JSCompiler_prototypeAlias$$.$setType$ = function $$JSCompiler_prototypeAlias$$$$setType$$($value$jscomp$638$$) {
    $jspb$Message$setField$$(this, 2, $value$jscomp$638$$);
  };
  $JSCompiler_prototypeAlias$$.$getStatus$ = function $$JSCompiler_prototypeAlias$$$$getStatus$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 3, 0);
  };
  $JSCompiler_prototypeAlias$$.$getCustomer$ = function $$JSCompiler_prototypeAlias$$$$getCustomer$$() {
    return $jspb$Message$getWrapperField$$(this, $proto$commerce$Customer$$, 4);
  };
  $JSCompiler_prototypeAlias$$.$setCustomer$ = function $$JSCompiler_prototypeAlias$$$$setCustomer$$($value$jscomp$640$$) {
    $jspb$Message$setWrapperField$$(this, 4, $value$jscomp$640$$);
  };
  $JSCompiler_prototypeAlias$$.$getScheduling$ = function $$JSCompiler_prototypeAlias$$$$getScheduling$$() {
    return $jspb$Message$getWrapperField$$(this, $proto$commerce$OrderScheduling$$, 5);
  };
  function $JSCompiler_StaticMethods_getDestination$$($JSCompiler_StaticMethods_getDestination$self$$) {
    return $jspb$Message$getWrapperField$$($JSCompiler_StaticMethods_getDestination$self$$, $proto$commerce$DeliveryDestination$$, 6);
  }
  $JSCompiler_prototypeAlias$$.$getNotes$ = function $$JSCompiler_prototypeAlias$$$$getNotes$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 7, "");
  };
  $JSCompiler_prototypeAlias$$.$setNotes$ = function $$JSCompiler_prototypeAlias$$$$setNotes$$($value$jscomp$643$$) {
    $jspb$Message$setField$$(this, 7, $value$jscomp$643$$);
  };
  $JSCompiler_prototypeAlias$$.$addItem$ = function $$JSCompiler_prototypeAlias$$$$addItem$$($opt_value$jscomp$18$$, $opt_index$jscomp$26$$) {
    return $jspb$Message$addToRepeatedWrapperField$$(this, 8, $opt_value$jscomp$18$$, $proto$commerce$Item$$, $opt_index$jscomp$26$$);
  };
  function $proto$services$shop$v1$EnrollMember$Response$$($opt_data$jscomp$99$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$99$$, null, $proto$services$shop$v1$EnrollMember$Response$oneofGroups_$$);
  }
  $goog$inherits$$($proto$services$shop$v1$EnrollMember$Response$$, $jspb$Message$$);
  var $proto$services$shop$v1$EnrollMember$Response$oneofGroups_$$ = [[2, 3]];
  $proto$services$shop$v1$EnrollMember$Response$$.prototype.$getId$ = function $$proto$services$shop$v1$EnrollMember$Response$$$$$getId$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, "");
  };
  function $proto$services$shop$v1$VerifyMember$Response$$($opt_data$jscomp$103$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$103$$, null, $proto$services$shop$v1$VerifyMember$Response$oneofGroups_$$);
  }
  $goog$inherits$$($proto$services$shop$v1$VerifyMember$Response$$, $jspb$Message$$);
  var $proto$services$shop$v1$VerifyMember$Response$oneofGroups_$$ = [[2, 3]];
  $proto$services$shop$v1$VerifyMember$Response$$.prototype.$getCustomer$ = function $$proto$services$shop$v1$VerifyMember$Response$$$$$getCustomer$$() {
    return $jspb$Message$getWrapperField$$(this, $proto$commerce$Customer$$, 2);
  };
  $proto$services$shop$v1$VerifyMember$Response$$.prototype.$setCustomer$ = function $$proto$services$shop$v1$VerifyMember$Response$$$$$setCustomer$$($value$jscomp$681$$) {
    $jspb$Message$setOneofWrapperField$$(this, 2, $proto$services$shop$v1$VerifyMember$Response$oneofGroups_$$[0], $value$jscomp$681$$);
  };
  function $proto$services$shop$v1$SubmitOrder$Response$$($opt_data$jscomp$111$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$111$$, null, null);
  }
  $goog$inherits$$($proto$services$shop$v1$SubmitOrder$Response$$, $jspb$Message$$);
  function $proto$structs$VersionSpec$$($opt_data$jscomp$117$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$117$$, null, $proto$structs$VersionSpec$oneofGroups_$$);
  }
  $goog$inherits$$($proto$structs$VersionSpec$$, $jspb$Message$$);
  var $proto$structs$VersionSpec$oneofGroups_$$ = [[1]];
  function $proto$structs$VersionSpec$serializeBinaryToWriter$$($f$jscomp$264_message$jscomp$145$$, $writer$jscomp$231$$) {
    $f$jscomp$264_message$jscomp$145$$ = $jspb$Message$getField$$($f$jscomp$264_message$jscomp$145$$, 1);
    null != $f$jscomp$264_message$jscomp$145$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($writer$jscomp$231$$, 1, $f$jscomp$264_message$jscomp$145$$);
  }
  $proto$structs$VersionSpec$$.prototype.getName = function $$proto$structs$VersionSpec$$$$getName$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, "");
  };
  function $proto$analytics$Scope$$($opt_data$jscomp$118$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$118$$, null, null);
  }
  $goog$inherits$$($proto$analytics$Scope$$, $jspb$Message$$);
  function $proto$analytics$Scope$serializeBinaryToWriter$$($message$jscomp$146$$, $writer$jscomp$233$$) {
    var $f$jscomp$266$$ = $jspb$Message$getFieldWithDefault$$($message$jscomp$146$$, 1, "");
    0 < $f$jscomp$266$$.length && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($writer$jscomp$233$$, 1, $f$jscomp$266$$);
    $f$jscomp$266$$ = $jspb$Message$getFieldWithDefault$$($message$jscomp$146$$, 2, "");
    0 < $f$jscomp$266$$.length && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($writer$jscomp$233$$, 2, $f$jscomp$266$$);
  }
  function $proto$analytics$context$Collection$$($opt_data$jscomp$119$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$119$$, null, null);
  }
  $goog$inherits$$($proto$analytics$context$Collection$$, $jspb$Message$$);
  function $proto$analytics$context$Collection$serializeBinaryToWriter$$($message$jscomp$147_value$jscomp$inline_161$$, $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeBool$self$jscomp$inline_835_writer$jscomp$235$$) {
    var $f$jscomp$268$$ = $message$jscomp$147_value$jscomp$inline_161$$.getName();
    0 < $f$jscomp$268$$.length && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeBool$self$jscomp$inline_835_writer$jscomp$235$$, 1, $f$jscomp$268$$);
    if ($f$jscomp$268$$ = $jspb$Message$getFieldWithDefault$$($message$jscomp$147_value$jscomp$inline_161$$, 2, !1)) {
      $message$jscomp$147_value$jscomp$inline_161$$ = $f$jscomp$268$$, null != $message$jscomp$147_value$jscomp$inline_161$$ && ($goog$asserts$assert$$("boolean" == typeof $message$jscomp$147_value$jscomp$inline_161$$ || $goog$isNumber$$($message$jscomp$147_value$jscomp$inline_161$$)), $JSCompiler_StaticMethods_writeFieldHeader_$$($JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeBool$self$jscomp$inline_835_writer$jscomp$235$$, 2, 0), $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeBool$self$jscomp$inline_835_writer$jscomp$235$$ = 
      $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeBool$self$jscomp$inline_835_writer$jscomp$235$$.$a$, $goog$asserts$assert$$("boolean" == typeof $message$jscomp$147_value$jscomp$inline_161$$ || $goog$isNumber$$($message$jscomp$147_value$jscomp$inline_161$$)), $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$writeBool$self$jscomp$inline_835_writer$jscomp$235$$.$a$.push($message$jscomp$147_value$jscomp$inline_161$$ ? 1 : 0));
    }
  }
  $proto$analytics$context$Collection$$.prototype.getName = function $$proto$analytics$context$Collection$$$$getName$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, "");
  };
  function $proto$analytics$context$DeviceOS$$($opt_data$jscomp$120$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$120$$, null, null);
  }
  $goog$inherits$$($proto$analytics$context$DeviceOS$$, $jspb$Message$$);
  function $proto$analytics$context$DeviceOS$serializeBinaryToWriter$$($message$jscomp$148$$, $writer$jscomp$237$$) {
    var $f$jscomp$270$$ = $message$jscomp$148$$.$getType$();
    0.0 !== $f$jscomp$270$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$$($writer$jscomp$237$$, 1, $f$jscomp$270$$);
    $f$jscomp$270$$ = $jspb$Message$getWrapperField$$($message$jscomp$148$$, $proto$structs$VersionSpec$$, 2);
    null != $f$jscomp$270$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$237$$, 2, $f$jscomp$270$$, $proto$structs$VersionSpec$serializeBinaryToWriter$$);
  }
  $proto$analytics$context$DeviceOS$$.prototype.$getType$ = function $$proto$analytics$context$DeviceOS$$$$$getType$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, 0);
  };
  $proto$analytics$context$DeviceOS$$.prototype.$setType$ = function $$proto$analytics$context$DeviceOS$$$$$setType$$($value$jscomp$722$$) {
    $jspb$Message$setField$$(this, 1, $value$jscomp$722$$);
  };
  function $proto$analytics$context$DeviceLibrary$$($opt_data$jscomp$121$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$121$$, null, null);
  }
  $goog$inherits$$($proto$analytics$context$DeviceLibrary$$, $jspb$Message$$);
  function $proto$analytics$context$DeviceLibrary$serializeBinaryToWriter$$($message$jscomp$149$$, $writer$jscomp$239$$) {
    var $f$jscomp$272$$ = $message$jscomp$149$$.$getVariant$();
    0 < $f$jscomp$272$$.length && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($writer$jscomp$239$$, 1, $f$jscomp$272$$);
    $f$jscomp$272$$ = $jspb$Message$getWrapperField$$($message$jscomp$149$$, $proto$structs$VersionSpec$$, 2);
    null != $f$jscomp$272$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$239$$, 2, $f$jscomp$272$$, $proto$structs$VersionSpec$serializeBinaryToWriter$$);
    $f$jscomp$272$$ = $jspb$Message$getFieldWithDefault$$($message$jscomp$149$$, 3, 0);
    0.0 !== $f$jscomp$272$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$$($writer$jscomp$239$$, 3, $f$jscomp$272$$);
  }
  $proto$analytics$context$DeviceLibrary$$.prototype.$getVariant$ = function $$proto$analytics$context$DeviceLibrary$$$$$getVariant$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, "");
  };
  function $proto$analytics$context$DeviceApplication$$($opt_data$jscomp$122$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$122$$, null, $proto$analytics$context$DeviceApplication$oneofGroups_$$);
  }
  $goog$inherits$$($proto$analytics$context$DeviceApplication$$, $jspb$Message$$);
  var $proto$analytics$context$DeviceApplication$oneofGroups_$$ = [[10, 20, 30]];
  function $proto$analytics$context$DeviceApplication$serializeBinaryToWriter$$($message$jscomp$150$$, $writer$jscomp$241$$) {
    var $f$jscomp$274$$ = $message$jscomp$150$$.$getType$();
    0.0 !== $f$jscomp$274$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$$($writer$jscomp$241$$, 1, $f$jscomp$274$$);
    $f$jscomp$274$$ = $jspb$Message$getWrapperField$$($message$jscomp$150$$, $proto$structs$VersionSpec$$, 2);
    null != $f$jscomp$274$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$241$$, 2, $f$jscomp$274$$, $proto$structs$VersionSpec$serializeBinaryToWriter$$);
    $f$jscomp$274$$ = $jspb$Message$getField$$($message$jscomp$150$$, 10);
    null != $f$jscomp$274$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($writer$jscomp$241$$, 10, $f$jscomp$274$$);
    $f$jscomp$274$$ = $jspb$Message$getField$$($message$jscomp$150$$, 20);
    null != $f$jscomp$274$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($writer$jscomp$241$$, 20, $f$jscomp$274$$);
    $f$jscomp$274$$ = $jspb$Message$getField$$($message$jscomp$150$$, 30);
    null != $f$jscomp$274$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($writer$jscomp$241$$, 30, $f$jscomp$274$$);
  }
  $proto$analytics$context$DeviceApplication$$.prototype.$getType$ = function $$proto$analytics$context$DeviceApplication$$$$$getType$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, 0);
  };
  $proto$analytics$context$DeviceApplication$$.prototype.$setType$ = function $$proto$analytics$context$DeviceApplication$$$$$setType$$($value$jscomp$729$$) {
    $jspb$Message$setField$$(this, 1, $value$jscomp$729$$);
  };
  function $proto$analytics$context$NativeDeviceContext$$($opt_data$jscomp$123$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$123$$, null, null);
  }
  $goog$inherits$$($proto$analytics$context$NativeDeviceContext$$, $jspb$Message$$);
  function $proto$analytics$context$NativeDeviceContext$serializeBinaryToWriter$$($message$jscomp$151$$, $writer$jscomp$243$$) {
    var $f$jscomp$276$$ = $message$jscomp$151$$.$getType$();
    0.0 !== $f$jscomp$276$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$$($writer$jscomp$243$$, 1, $f$jscomp$276$$);
    $f$jscomp$276$$ = $jspb$Message$getFieldWithDefault$$($message$jscomp$151$$, 2, 0);
    0.0 !== $f$jscomp$276$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$$($writer$jscomp$243$$, 2, $f$jscomp$276$$);
    $f$jscomp$276$$ = $jspb$Message$getWrapperField$$($message$jscomp$151$$, $proto$analytics$context$DeviceOS$$, 3);
    null != $f$jscomp$276$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$243$$, 3, $f$jscomp$276$$, $proto$analytics$context$DeviceOS$serializeBinaryToWriter$$);
    $f$jscomp$276$$ = $jspb$Message$getWrapperField$$($message$jscomp$151$$, $proto$analytics$context$DeviceApplication$$, 4);
    null != $f$jscomp$276$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$243$$, 4, $f$jscomp$276$$, $proto$analytics$context$DeviceApplication$serializeBinaryToWriter$$);
    $f$jscomp$276$$ = $jspb$Message$getWrapperField$$($message$jscomp$151$$, $proto$analytics$context$DeviceLibrary$$, 5);
    null != $f$jscomp$276$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$243$$, 5, $f$jscomp$276$$, $proto$analytics$context$DeviceLibrary$serializeBinaryToWriter$$);
  }
  $proto$analytics$context$NativeDeviceContext$$.prototype.$getType$ = function $$proto$analytics$context$NativeDeviceContext$$$$$getType$$() {
    return $jspb$Message$getFieldWithDefault$$(this, 1, 0);
  };
  $proto$analytics$context$NativeDeviceContext$$.prototype.$setType$ = function $$proto$analytics$context$NativeDeviceContext$$$$$setType$$($value$jscomp$735$$) {
    $jspb$Message$setField$$(this, 1, $value$jscomp$735$$);
  };
  function $proto$analytics$context$BrowserDeviceContext$$($opt_data$jscomp$124$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$124$$, null, null);
  }
  $goog$inherits$$($proto$analytics$context$BrowserDeviceContext$$, $jspb$Message$$);
  function $proto$analytics$context$BrowserDeviceContext$serializeBinaryToWriter$$($message$jscomp$152$$, $writer$jscomp$245$$) {
    var $f$jscomp$278$$ = $jspb$Message$getFieldWithDefault$$($message$jscomp$152$$, 1, 0);
    0.0 !== $f$jscomp$278$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$$($writer$jscomp$245$$, 1, $f$jscomp$278$$);
    $f$jscomp$278$$ = $jspb$Message$getFieldWithDefault$$($message$jscomp$152$$, 2, 0);
    0.0 !== $f$jscomp$278$$ && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeEnum$$($writer$jscomp$245$$, 2, $f$jscomp$278$$);
    $f$jscomp$278$$ = $jspb$Message$getWrapperField$$($message$jscomp$152$$, $proto$analytics$context$DeviceLibrary$$, 3);
    null != $f$jscomp$278$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$245$$, 3, $f$jscomp$278$$, $proto$analytics$context$DeviceLibrary$serializeBinaryToWriter$$);
    $f$jscomp$278$$ = $jspb$Message$getWrapperField$$($message$jscomp$152$$, $proto$structs$VersionSpec$$, 4);
    null != $f$jscomp$278$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$245$$, 4, $f$jscomp$278$$, $proto$structs$VersionSpec$serializeBinaryToWriter$$);
    $f$jscomp$278$$ = $jspb$Message$getWrapperField$$($message$jscomp$152$$, $proto$analytics$context$DeviceOS$$, 5);
    null != $f$jscomp$278$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$245$$, 5, $f$jscomp$278$$, $proto$analytics$context$DeviceOS$serializeBinaryToWriter$$);
    $f$jscomp$278$$ = $jspb$Message$getWrapperField$$($message$jscomp$152$$, $proto$analytics$context$DeviceApplication$$, 6);
    null != $f$jscomp$278$$ && $JSCompiler_StaticMethods_writeMessage$$($writer$jscomp$245$$, 6, $f$jscomp$278$$, $proto$analytics$context$DeviceApplication$serializeBinaryToWriter$$);
  }
  function $proto$analytics$Context$$($opt_data$jscomp$125$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$125$$, null, $proto$analytics$Context$oneofGroups_$$);
  }
  $goog$inherits$$($proto$analytics$Context$$, $jspb$Message$$);
  var $proto$analytics$Context$oneofGroups_$$ = [[60, 61]];
  function $proto$analytics$generic$Event$$($opt_data$jscomp$126$$) {
    $jspb$Message$initialize$$(this, $opt_data$jscomp$126$$, null, null);
  }
  $goog$inherits$$($proto$analytics$generic$Event$$, $jspb$Message$$);
  $goog$exportSymbol$$("bloombox.menu.Section", {UNSPECIFIED:0, FLOWERS:1, EXTRACTS:2, EDIBLES:3, CARTRIDGES:4, APOTHECARY:5, PREROLLS:6, PLANTS:7, MERCHANDISE:8});
  $goog$exportSymbol$$("bloombox.product.Grow", {GENERIC:0, INDOOR:1, GREENHOUSE:2, OUTDOOR:3});
  $goog$exportSymbol$$("bloombox.product.Species", {UNSPECIFIED:0, SATIVA:1, HYBRID_SATIVA:2, HYBRID:3, HYBRID_INDICA:4, INDICA:5});
  $goog$exportSymbol$$("bloombox.testing.CannabinoidRatio", {NO_CANNABINOID_PREFERENCE:0, THC_ONLY:1, THC_OVER_CBD:2, EQUAL:3, CBD_OVER_THC:1, CBD_ONLY:5});
  $goog$exportSymbol$$("bloombox.testing.subjective.Feeling", {NO_FEELING_PREFERENCE:0, GROUNDING:1, SLEEP:2, CALMING:3, STIMULATING:4, FUNNY:5, FOCUS:6, PASSION:7});
  $goog$exportSymbol$$("bloombox.testing.subjective.PotencyEstimate", {LIGHT:0, MEDIUM:1, HEAVY:2, SUPER:3});
  $goog$exportSymbol$$("bloombox.testing.subjective.TasteNote", {NO_TASTE_PREFERENCE:0, SWEET:1, SOUR:2, SPICE:3, SMOOTH:4, CITRUS:5, PINE:6, FRUIT:7, TROPICS:8, FLORAL:9, HERB:10, EARTH:11});
  $goog$exportSymbol$$("bloombox.identity.EnrollmentSource", {UNSPECIFIED:0, ONLINE:1, INTERNAL_APP:2, PARTNER_APP:3, IN_STORE:4});
  $goog$exportSymbol$$("bloombox.identity.ProfileException", function ProfileException($message$jscomp$241$$) {
    this.message = $message$jscomp$241$$;
  });
  function $bloombox$identity$ConsumerProfile$$($source$jscomp$16$$, $channel$jscomp$1$$, $menu_prefs$$) {
    this.source = $source$jscomp$16$$;
    this.channel = $channel$jscomp$1$$;
    this.menuPreferences = $menu_prefs$$;
  }
  $goog$exportSymbol$$("bloombox.identity.ConsumerProfile", $bloombox$identity$ConsumerProfile$$);
  $bloombox$identity$ConsumerProfile$$.prototype.$b$ = function $$bloombox$identity$ConsumerProfile$$$$$b$$() {
    return {enrollmentSource:this.source, enrollmentChannel:this.channel, preferences:{menu:this.menuPreferences.$b$()}};
  };
  function $bloombox$identity$MenuPreferences$$($opt_sections$$, $opt_species$$, $opt_grows$$, $opt_feelings$$, $opt_tastes$$, $opt_potency$$, $opt_ratio$$) {
    this.sections = new Set($opt_sections$$ || []);
    this.feelings = new Set($opt_feelings$$ || []);
    this.tastes = new Set($opt_tastes$$ || []);
    this.species = new Set($opt_species$$ || []);
    this.grows = new Set($opt_grows$$ || []);
    this.potency = $opt_potency$$ || 0;
    this.$a$ = $opt_ratio$$ || 0;
  }
  $goog$exportSymbol$$("bloombox.identity.MenuPreferences", $bloombox$identity$MenuPreferences$$);
  $bloombox$identity$MenuPreferences$$.prototype.$b$ = function $$bloombox$identity$MenuPreferences$$$$$b$$() {
    return {section:this.sections ? Array.from(this.sections) : [], feeling:this.feelings ? Array.from(this.feelings) : [], tasteNote:this.tastes ? Array.from(this.tastes) : [], grow:this.grows ? Array.from(this.grows) : [], species:this.species ? Array.from(this.species) : [], cannabinoidRatio:this.$a$, desiredPotency:this.potency};
  };
  $bloombox$identity$MenuPreferences$$.prototype.$clearSections$ = function $$bloombox$identity$MenuPreferences$$$$$clearSections$$() {
    this.sections.clear();
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.clearSections = $bloombox$identity$MenuPreferences$$.prototype.$clearSections$;
  $bloombox$identity$MenuPreferences$$.prototype.$addSection$ = function $$bloombox$identity$MenuPreferences$$$$$addSection$$($section$$) {
    this.sections.add($section$$);
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.addSection = $bloombox$identity$MenuPreferences$$.prototype.$addSection$;
  $bloombox$identity$MenuPreferences$$.prototype.$clearSpecies$ = function $$bloombox$identity$MenuPreferences$$$$$clearSpecies$$() {
    this.species.clear();
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.clearSpecies = $bloombox$identity$MenuPreferences$$.prototype.$clearSpecies$;
  $bloombox$identity$MenuPreferences$$.prototype.$addSpecies$ = function $$bloombox$identity$MenuPreferences$$$$$addSpecies$$($species$$) {
    this.species.add($species$$);
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.addSpecies = $bloombox$identity$MenuPreferences$$.prototype.$addSpecies$;
  $bloombox$identity$MenuPreferences$$.prototype.$clearGrows$ = function $$bloombox$identity$MenuPreferences$$$$$clearGrows$$() {
    this.grows.clear();
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.clearGrows = $bloombox$identity$MenuPreferences$$.prototype.$clearGrows$;
  $bloombox$identity$MenuPreferences$$.prototype.$addGrow$ = function $$bloombox$identity$MenuPreferences$$$$$addGrow$$($grow$$) {
    this.grows.add($grow$$);
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.addGrow = $bloombox$identity$MenuPreferences$$.prototype.$addGrow$;
  $bloombox$identity$MenuPreferences$$.prototype.$clearFeelings$ = function $$bloombox$identity$MenuPreferences$$$$$clearFeelings$$() {
    this.feelings.clear();
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.clearFeelings = $bloombox$identity$MenuPreferences$$.prototype.$clearFeelings$;
  $bloombox$identity$MenuPreferences$$.prototype.$addFeeling$ = function $$bloombox$identity$MenuPreferences$$$$$addFeeling$$($feeling$$) {
    this.feelings.add($feeling$$);
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.addFeeling = $bloombox$identity$MenuPreferences$$.prototype.$addFeeling$;
  $bloombox$identity$MenuPreferences$$.prototype.$clearTastes$ = function $$bloombox$identity$MenuPreferences$$$$$clearTastes$$() {
    this.tastes.clear();
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.clearTastes = $bloombox$identity$MenuPreferences$$.prototype.$clearTastes$;
  $bloombox$identity$MenuPreferences$$.prototype.$addTaste$ = function $$bloombox$identity$MenuPreferences$$$$$addTaste$$($taste$$) {
    this.tastes.add($taste$$);
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.addTaste = $bloombox$identity$MenuPreferences$$.prototype.$addTaste$;
  $bloombox$identity$MenuPreferences$$.prototype.$setPotency$ = function $$bloombox$identity$MenuPreferences$$$$$setPotency$$($potency$$) {
    this.potency = $potency$$;
    return this;
  };
  $bloombox$identity$MenuPreferences$$.prototype.setPotency = $bloombox$identity$MenuPreferences$$.prototype.$setPotency$;
  function $bloombox$identity$PersonException$$($message$jscomp$242$$) {
    this.message = $message$jscomp$242$$;
  }
  $goog$exportSymbol$$("bloombox.identity.StreetAddress", function StreetAddress($firstLine$$, $secondLine$$, $city$$, $state$jscomp$1$$, $zip$$, $country$$) {
    if (!$firstLine$$ || "string" !== typeof $firstLine$$) {
      throw new $bloombox$identity$PersonException$$("Invalid first address line: '" + $firstLine$$ + "'.");
    }
    if (!$city$$ || "string" !== typeof $city$$) {
      throw new $bloombox$identity$PersonException$$("Invalid address city: '" + $city$$ + "'.");
    }
    if (!$zip$$ || "string" !== typeof $zip$$) {
      throw new $bloombox$identity$PersonException$$("Invalid address zip: '" + $zip$$ + "'.");
    }
    if (!$state$jscomp$1$$ || "string" !== typeof $state$jscomp$1$$) {
      throw new $bloombox$identity$PersonException$$("Invalid address state: '" + $state$jscomp$1$$ + "'.");
    }
    this.firstLine = $firstLine$$;
    this.secondLine = $secondLine$$ || null;
    this.city = $city$$;
    this.state = $state$jscomp$1$$;
    this.zip = $zip$$;
    this.country = $country$$ || "USA";
  });
  function $bloombox$identity$ContactInfo$$($emailAddress$$, $phoneNumber$$, $streetAddress$$) {
    if (!$emailAddress$$ || "string" !== typeof $emailAddress$$) {
      throw new $bloombox$identity$PersonException$$("Invalid email address: '" + $emailAddress$$ + "'.");
    }
    this.emailAddress = $emailAddress$$;
    this.phoneNumber = $phoneNumber$$ || null;
    this.streetAddress = $streetAddress$$ || null;
  }
  $goog$exportSymbol$$("bloombox.identity.ContactInfo", $bloombox$identity$ContactInfo$$);
  function $bloombox$identity$Person$$($firstName_instant$$, $lastName$$, $contactInfo$$, $dateOfBirth$$) {
    if (!$firstName_instant$$ || "string" !== typeof $firstName_instant$$) {
      throw new $bloombox$identity$PersonException$$("Invalid first name: '" + $firstName_instant$$ + "'.");
    }
    if (!$lastName$$ || "string" !== typeof $lastName$$) {
      throw new $bloombox$identity$PersonException$$("Invalid last name: '" + $lastName$$ + "'.");
    }
    if (!$contactInfo$$) {
      throw new $bloombox$identity$PersonException$$("Invalid contact info: '" + $lastName$$ + "'.");
    }
    if (null !== $dateOfBirth$$ && (!$dateOfBirth$$ || "string" !== typeof $dateOfBirth$$)) {
      throw new $bloombox$identity$PersonException$$("Invalid date of birth (must be in YYYY-MM-DD format): '" + $dateOfBirth$$ + "'.");
    }
    var $name$jscomp$81$$ = new $proto$person$Name$$;
    $jspb$Message$setField$$($name$jscomp$81$$, 2, $firstName_instant$$);
    $jspb$Message$setField$$($name$jscomp$81$$, 3, $lastName$$);
    $firstName_instant$$ = new $proto$temporal$Date$$;
    null !== $dateOfBirth$$ && $jspb$Message$setOneofField$$($firstName_instant$$, 1, $proto$temporal$Date$oneofGroups_$$[0], $dateOfBirth$$);
    this.name = $name$jscomp$81$$;
    this.contactInfo = $contactInfo$$;
    this.dateOfBirth = null !== $dateOfBirth$$ ? $firstName_instant$$ : null;
  }
  $goog$exportSymbol$$("bloombox.identity.Person", $bloombox$identity$Person$$);
  function $bloombox$identity$RecException$$($message$jscomp$243$$) {
    this.message = $message$jscomp$243$$;
  }
  $goog$exportSymbol$$("bloombox.identity.DoctorRec", function DoctorRec($id$jscomp$8$$, $doctorId_doctorName$$, $expirationDate$$, $state$jscomp$2$$, $doctorFirstName_expirationObj$$, $doctorLastName$$, $doctorPhoneNumber$$, $country$jscomp$1$$, $doctorWebsite$$) {
    if (!$id$jscomp$8$$ || "string" !== typeof $id$jscomp$8$$) {
      throw new $bloombox$identity$RecException$$("Invalid rec ID: '" + $id$jscomp$8$$ + "'.");
    }
    if (null !== $doctorId_doctorName$$ && (!$doctorId_doctorName$$ || "string" !== typeof $doctorId_doctorName$$)) {
      throw new $bloombox$identity$RecException$$("Invalid doctor ID: '" + $doctorId_doctorName$$ + "'.");
    }
    if (!$expirationDate$$ || "string" !== typeof $expirationDate$$) {
      throw new $bloombox$identity$RecException$$("Invalid rec issuance date: '" + $expirationDate$$ + "'.");
    }
    if (!$state$jscomp$2$$ || "string" !== typeof $state$jscomp$2$$ || 2 !== $state$jscomp$2$$.length) {
      throw new $bloombox$identity$RecException$$("Invalid rec jurisdiction state: '" + $state$jscomp$2$$ + "'.");
    }
    if (!$doctorFirstName_expirationObj$$ || "string" !== typeof $doctorFirstName_expirationObj$$) {
      throw new $bloombox$identity$RecException$$("Invalid physician first name: '" + $doctorFirstName_expirationObj$$ + "'.");
    }
    if (!$doctorLastName$$ || "string" !== typeof $doctorLastName$$) {
      throw new $bloombox$identity$RecException$$("Invalid physician last name: '" + $doctorLastName$$ + "'.");
    }
    if (!$doctorPhoneNumber$$ || "string" !== typeof $doctorPhoneNumber$$) {
      throw new $bloombox$identity$RecException$$("Invalid physician phone number: '" + $doctorPhoneNumber$$ + "'.");
    }
    $doctorId_doctorName$$ = new $proto$person$Name$$;
    $jspb$Message$setField$$($doctorId_doctorName$$, 2, $doctorFirstName_expirationObj$$);
    $jspb$Message$setField$$($doctorId_doctorName$$, 3, $doctorLastName$$);
    $doctorFirstName_expirationObj$$ = new $proto$temporal$Date$$;
    $jspb$Message$setOneofField$$($doctorFirstName_expirationObj$$, 1, $proto$temporal$Date$oneofGroups_$$[0], $expirationDate$$);
    this.id = $id$jscomp$8$$;
    this.$c$ = $doctorFirstName_expirationObj$$;
    this.state = $state$jscomp$2$$;
    this.country = $country$jscomp$1$$ || "USA";
    this.$a$ = $doctorId_doctorName$$;
    this.$f$ = $doctorPhoneNumber$$;
    this.$b$ = $doctorWebsite$$ || null;
  });
  function $bloombox$identity$IDException$$($message$jscomp$244$$) {
    this.message = $message$jscomp$244$$;
  }
  $goog$exportSymbol$$("bloombox.identity.IDType", {USDL:0, PASSPORT:1});
  $goog$exportSymbol$$("bloombox.identity.ID", function ID($type$jscomp$122$$, $id$jscomp$9$$, $birthObj_expirationDate$jscomp$1$$, $birthDate$$, $jurisdiction$$, $country$jscomp$2$$) {
    if (!$id$jscomp$9$$ || "string" !== typeof $id$jscomp$9$$) {
      throw new $bloombox$identity$IDException$$("Invalid driver's license ID: '" + $id$jscomp$9$$ + "'.");
    }
    if (!$birthObj_expirationDate$jscomp$1$$ || "string" !== typeof $birthObj_expirationDate$jscomp$1$$) {
      throw new $bloombox$identity$IDException$$("Invalid driver's license expiry date: '" + $birthObj_expirationDate$jscomp$1$$ + "'.");
    }
    if (!$birthDate$$ || "string" !== typeof $birthDate$$) {
      throw new $bloombox$identity$IDException$$("Invalid driver's license birth date: '" + $birthDate$$ + "'.");
    }
    if (!$jurisdiction$$ || "string" !== typeof $jurisdiction$$) {
      throw new $bloombox$identity$IDException$$("Invalid driver's license issuance jurisdiction: '" + $jurisdiction$$ + "'.");
    }
    var $expirationObj$jscomp$1$$ = new $proto$temporal$Date$$;
    $jspb$Message$setOneofField$$($expirationObj$jscomp$1$$, 1, $proto$temporal$Date$oneofGroups_$$[0], $birthObj_expirationDate$jscomp$1$$);
    $birthObj_expirationDate$jscomp$1$$ = new $proto$temporal$Date$$;
    $jspb$Message$setOneofField$$($birthObj_expirationDate$jscomp$1$$, 1, $proto$temporal$Date$oneofGroups_$$[0], $birthDate$$);
    this.type = $type$jscomp$122$$;
    this.id = $id$jscomp$9$$;
    this.$b$ = $expirationObj$jscomp$1$$;
    this.$a$ = $birthObj_expirationDate$jscomp$1$$;
    this.$c$ = $jurisdiction$$.toUpperCase();
    this.country = $country$jscomp$2$$ || "USA";
  });
  function $bloombox$shop$CustomerException$$($message$jscomp$245$$) {
    this.message = $message$jscomp$245$$;
  }
  $goog$exportSymbol$$("bloombox.shop.CustomerException", $bloombox$shop$CustomerException$$);
  function $bloombox$shop$Customer$$($person$$, $foreignID$$) {
    if (!("string" === typeof $foreignID$$ && 0 < $foreignID$$.length)) {
      throw new $bloombox$shop$CustomerException$$("Invalid customer foreign ID. Must be a valid string over length 1.");
    }
    this.person = $person$$;
    this.foreignId = $foreignID$$;
  }
  $goog$exportSymbol$$("bloombox.shop.Customer", $bloombox$shop$Customer$$);
  $bloombox$shop$Customer$$.prototype.$setPhoneNumber$ = function $$bloombox$shop$Customer$$$$$setPhoneNumber$$($phone$$) {
    if (null !== $phone$$ && ("+" !== $phone$$[0] || 5 > $phone$$.length || 16 < $phone$$.length)) {
      throw new $bloombox$shop$CustomerException$$("Invalid phone number: " + $phone$$);
    }
    this.person.contactInfo.phoneNumber = null === $phone$$ ? null : $phone$$;
    return this;
  };
  $bloombox$shop$Customer$$.prototype.setPhoneNumber = $bloombox$shop$Customer$$.prototype.$setPhoneNumber$;
  function $bloombox$shop$Customer$fromResponse$$($proto$jscomp$7$$) {
    if ("object" !== typeof $proto$jscomp$7$$ || !$proto$jscomp$7$$) {
      throw new $bloombox$shop$CustomerException$$("Failed to resolve customer for response.");
    }
    if (!("customer" in $proto$jscomp$7$$)) {
      throw new $bloombox$shop$CustomerException$$("Failed to resolve customer.");
    }
    if (!("foreignId" in $proto$jscomp$7$$.customer)) {
      throw new $bloombox$shop$CustomerException$$("Failed to resolve foreign ID.");
    }
    if (!("person" in $proto$jscomp$7$$.customer)) {
      throw new $bloombox$shop$CustomerException$$("Failed to resolve person.");
    }
    if (!("name" in $proto$jscomp$7$$.customer.person)) {
      throw new $bloombox$shop$CustomerException$$("Failed to resolve person's name.");
    }
    if (!("contact" in $proto$jscomp$7$$.customer.person)) {
      throw new $bloombox$shop$CustomerException$$("Failed to resolve contact info.");
    }
    if (!("email" in $proto$jscomp$7$$.customer.person.contact)) {
      throw new $bloombox$shop$CustomerException$$("Failed to resolve email spec.");
    }
    if (!("address" in $proto$jscomp$7$$.customer.person.contact.email)) {
      throw new $bloombox$shop$CustomerException$$("Failed to resolve email address.");
    }
    var $contactInfo$jscomp$1_person$jscomp$1_phone$jscomp$1$$;
    "object" === typeof $proto$jscomp$7$$.customer.person.contact.phone && "string" === typeof $proto$jscomp$7$$.customer.person.contact.phone.e164 ? $contactInfo$jscomp$1_person$jscomp$1_phone$jscomp$1$$ = $proto$jscomp$7$$.customer.person.contact.phone.e164 : $contactInfo$jscomp$1_person$jscomp$1_phone$jscomp$1$$ = null;
    $contactInfo$jscomp$1_person$jscomp$1_phone$jscomp$1$$ = new $bloombox$identity$ContactInfo$$($proto$jscomp$7$$.customer.person.contact.email.address, null === $contactInfo$jscomp$1_person$jscomp$1_phone$jscomp$1$$ ? $contactInfo$jscomp$1_person$jscomp$1_phone$jscomp$1$$ : null, null);
    $contactInfo$jscomp$1_person$jscomp$1_phone$jscomp$1$$ = new $bloombox$identity$Person$$($proto$jscomp$7$$.customer.person.name.firstName, $proto$jscomp$7$$.customer.person.name.lastName, $contactInfo$jscomp$1_person$jscomp$1_phone$jscomp$1$$, $proto$jscomp$7$$.customer.person.dateOfBirth || null);
    return new $bloombox$shop$Customer$$($contactInfo$jscomp$1_person$jscomp$1_phone$jscomp$1$$, $proto$jscomp$7$$.customer.foreignId);
  }
  $bloombox$shop$Customer$$.fromResponse = $bloombox$shop$Customer$fromResponse$$;
  $bloombox$shop$Customer$$.prototype.$a$ = function $$bloombox$shop$Customer$$$$$a$$() {
    var $customer$$ = new $proto$commerce$Customer$$, $contactInfo$jscomp$2_name$jscomp$82$$ = new $proto$person$Name$$, $contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$ = $jspb$Message$getFieldWithDefault$$(this.person.name, 2, "");
    $jspb$Message$setField$$($contactInfo$jscomp$2_name$jscomp$82$$, 2, $contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$);
    $contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$ = $jspb$Message$getFieldWithDefault$$(this.person.name, 3, "");
    $jspb$Message$setField$$($contactInfo$jscomp$2_name$jscomp$82$$, 3, $contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$);
    $contactInfo$jscomp$2_name$jscomp$82$$ = new $proto$contact$ContactInfo$$;
    $contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$ = new $proto$geo$Location$$;
    var $contactAddress$$ = new $proto$geo$Address$$;
    null !== this.person.contactInfo.streetAddress && ($jspb$Message$setField$$($contactAddress$$, 1, this.person.contactInfo.streetAddress.firstLine), null !== this.person.contactInfo.streetAddress.secondLine && $jspb$Message$setField$$($contactAddress$$, 2, this.person.contactInfo.streetAddress.secondLine), $jspb$Message$setField$$($contactAddress$$, 3, this.person.contactInfo.streetAddress.city), $jspb$Message$setField$$($contactAddress$$, 4, this.person.contactInfo.streetAddress.state), $jspb$Message$setField$$($contactAddress$$, 
    5, this.person.contactInfo.streetAddress.zip), $jspb$Message$setField$$($contactAddress$$, 6, this.person.contactInfo.streetAddress.country), $jspb$Message$setWrapperField$$($contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$, 2, $contactAddress$$), $contactInfo$jscomp$2_name$jscomp$82$$.$setLocation$($contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$));
    $contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$ = new $proto$contact$EmailAddress$$;
    if ("string" !== typeof this.person.contactInfo.emailAddress || 3 > this.person.contactInfo.emailAddress.length || 2 !== this.person.contactInfo.emailAddress.split("@").length) {
      throw new $bloombox$shop$CustomerException$$("Must provide a valid email address.");
    }
    $jspb$Message$setField$$($contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$, 1, this.person.contactInfo.emailAddress);
    $jspb$Message$setWrapperField$$($contactInfo$jscomp$2_name$jscomp$82$$, 3, $contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$);
    if (null === this.person.contactInfo.phoneNumber) {
      throw new $bloombox$shop$CustomerException$$("Must provide a valid phone number.");
    }
    $contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$ = new $proto$contact$PhoneNumber$$;
    $jspb$Message$setField$$($contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$, 1, this.person.contactInfo.phoneNumber);
    $jspb$Message$setWrapperField$$($contactInfo$jscomp$2_name$jscomp$82$$, 2, $contactLocation_emailAddress$jscomp$1_phoneNumber$jscomp$1_value$jscomp$inline_241_value$jscomp$inline_244$$);
    $jspb$Message$setField$$($customer$$, 2, this.foreignId);
    return $customer$$;
  };
  var $goog$debug$freezeInternal_$$ = Object.freeze || function($arg$jscomp$8$$) {
    return $arg$jscomp$8$$;
  };
  var $JSCompiler_temp$jscomp$12$$;
  ($JSCompiler_temp$jscomp$12$$ = !$goog$userAgent$IE$$) || ($JSCompiler_temp$jscomp$12$$ = 9 <= Number($JSCompiler_inline_result$jscomp$13$$));
  var $goog$events$BrowserFeature$HAS_W3C_EVENT_SUPPORT$$ = $JSCompiler_temp$jscomp$12$$, $goog$events$BrowserFeature$SET_KEY_CODE_TO_PREVENT_DEFAULT$$ = $goog$userAgent$IE$$ && !$goog$userAgent$isVersionOrHigher$$("9"), $goog$events$BrowserFeature$PASSIVE_EVENTS$$ = function() {
    if (!$goog$global$$.addEventListener || !Object.defineProperty) {
      return !1;
    }
    var $passive$$ = !1, $options$jscomp$13$$ = Object.defineProperty({}, "passive", {get:function() {
      $passive$$ = !0;
    }});
    $goog$global$$.addEventListener("test", $goog$nullFunction$$, $options$jscomp$13$$);
    $goog$global$$.removeEventListener("test", $goog$nullFunction$$, $options$jscomp$13$$);
    return $passive$$;
  }();
  function $goog$Disposable$$() {
    0 != $goog$Disposable$MonitoringMode$OFF$$ && ($goog$Disposable$instances_$$[this[$goog$UID_PROPERTY_$$] || (this[$goog$UID_PROPERTY_$$] = ++$goog$uidCounter_$$)] = this);
    this.$g$ = this.$g$;
    this.$v$ = this.$v$;
  }
  var $goog$Disposable$MonitoringMode$OFF$$ = 0, $goog$Disposable$instances_$$ = {};
  $goog$Disposable$$.prototype.$g$ = !1;
  $goog$Disposable$$.prototype.$dispose$ = function $$goog$Disposable$$$$$dispose$$() {
    if (!this.$g$ && (this.$g$ = !0, this.$disposeInternal$(), 0 != $goog$Disposable$MonitoringMode$OFF$$)) {
      var $uid$jscomp$1$$ = this[$goog$UID_PROPERTY_$$] || (this[$goog$UID_PROPERTY_$$] = ++$goog$uidCounter_$$);
      delete $goog$Disposable$instances_$$[$uid$jscomp$1$$];
    }
  };
  $goog$Disposable$$.prototype.$disposeInternal$ = function $$goog$Disposable$$$$$disposeInternal$$() {
    if (this.$v$) {
      for (; this.$v$.length;) {
        this.$v$.shift()();
      }
    }
  };
  function $goog$events$Event$$($type$jscomp$123$$, $opt_target$jscomp$2$$) {
    this.type = $type$jscomp$123$$;
    this.$a$ = this.target = $opt_target$jscomp$2$$;
    this.$returnValue_$ = !0;
  }
  $goog$events$Event$$.prototype.$b$ = function $$goog$events$Event$$$$$b$$() {
    this.$returnValue_$ = !1;
  };
  function $goog$events$BrowserEvent$$($opt_e$$, $opt_currentTarget_relatedTarget$jscomp$inline_289$$) {
    $goog$events$Event$$.call(this, $opt_e$$ ? $opt_e$$.type : "");
    this.relatedTarget = this.$a$ = this.target = null;
    this.button = this.screenY = this.screenX = this.clientY = this.clientX = 0;
    this.key = "";
    this.metaKey = this.shiftKey = this.altKey = this.ctrlKey = !1;
    this.state = null;
    this.pointerId = 0;
    this.pointerType = "";
    this.$c$ = null;
    if ($opt_e$$) {
      var $type$jscomp$inline_287$$ = this.type = $opt_e$$.type, $relevantTouch$jscomp$inline_288$$ = $opt_e$$.changedTouches ? $opt_e$$.changedTouches[0] : null;
      this.target = $opt_e$$.target || $opt_e$$.srcElement;
      this.$a$ = $opt_currentTarget_relatedTarget$jscomp$inline_289$$;
      if ($opt_currentTarget_relatedTarget$jscomp$inline_289$$ = $opt_e$$.relatedTarget) {
        if ($goog$userAgent$GECKO$$) {
          a: {
            try {
              $goog$reflect$sinkValue$$($opt_currentTarget_relatedTarget$jscomp$inline_289$$.nodeName);
              var $JSCompiler_inline_result$jscomp$818$$ = !0;
              break a;
            } catch ($e$jscomp$inline_839$$) {
            }
            $JSCompiler_inline_result$jscomp$818$$ = !1;
          }
          $JSCompiler_inline_result$jscomp$818$$ || ($opt_currentTarget_relatedTarget$jscomp$inline_289$$ = null);
        }
      } else {
        "mouseover" == $type$jscomp$inline_287$$ ? $opt_currentTarget_relatedTarget$jscomp$inline_289$$ = $opt_e$$.fromElement : "mouseout" == $type$jscomp$inline_287$$ && ($opt_currentTarget_relatedTarget$jscomp$inline_289$$ = $opt_e$$.toElement);
      }
      this.relatedTarget = $opt_currentTarget_relatedTarget$jscomp$inline_289$$;
      null === $relevantTouch$jscomp$inline_288$$ ? (this.clientX = void 0 !== $opt_e$$.clientX ? $opt_e$$.clientX : $opt_e$$.pageX, this.clientY = void 0 !== $opt_e$$.clientY ? $opt_e$$.clientY : $opt_e$$.pageY, this.screenX = $opt_e$$.screenX || 0, this.screenY = $opt_e$$.screenY || 0) : (this.clientX = void 0 !== $relevantTouch$jscomp$inline_288$$.clientX ? $relevantTouch$jscomp$inline_288$$.clientX : $relevantTouch$jscomp$inline_288$$.pageX, this.clientY = void 0 !== $relevantTouch$jscomp$inline_288$$.clientY ? 
      $relevantTouch$jscomp$inline_288$$.clientY : $relevantTouch$jscomp$inline_288$$.pageY, this.screenX = $relevantTouch$jscomp$inline_288$$.screenX || 0, this.screenY = $relevantTouch$jscomp$inline_288$$.screenY || 0);
      this.button = $opt_e$$.button;
      this.key = $opt_e$$.key || "";
      this.ctrlKey = $opt_e$$.ctrlKey;
      this.altKey = $opt_e$$.altKey;
      this.shiftKey = $opt_e$$.shiftKey;
      this.metaKey = $opt_e$$.metaKey;
      this.pointerId = $opt_e$$.pointerId || 0;
      this.pointerType = $goog$isString$$($opt_e$$.pointerType) ? $opt_e$$.pointerType : $goog$events$BrowserEvent$IE_POINTER_TYPE_MAP$$[$opt_e$$.pointerType] || "";
      this.state = $opt_e$$.state;
      this.$c$ = $opt_e$$;
      $opt_e$$.defaultPrevented && this.$b$();
    }
  }
  $goog$inherits$$($goog$events$BrowserEvent$$, $goog$events$Event$$);
  var $goog$events$BrowserEvent$IE_POINTER_TYPE_MAP$$ = $goog$debug$freezeInternal_$$({2:"touch", 3:"pen", 4:"mouse"});
  $goog$events$BrowserEvent$$.prototype.$b$ = function $$goog$events$BrowserEvent$$$$$b$$() {
    $goog$events$BrowserEvent$$.$superClass_$.$b$.call(this);
    var $be$$ = this.$c$;
    if ($be$$.preventDefault) {
      $be$$.preventDefault();
    } else {
      if ($be$$.returnValue = !1, $goog$events$BrowserFeature$SET_KEY_CODE_TO_PREVENT_DEFAULT$$) {
        try {
          if ($be$$.ctrlKey || 112 <= $be$$.keyCode && 123 >= $be$$.keyCode) {
            $be$$.keyCode = -1;
          }
        } catch ($ex$jscomp$1$$) {
        }
      }
    }
  };
  var $goog$events$Listenable$IMPLEMENTED_BY_PROP$$ = "closure_listenable_" + (1e6 * Math.random() | 0);
  function $goog$events$Listenable$isImplementedBy$$($obj$jscomp$294$$) {
    return !(!$obj$jscomp$294$$ || !$obj$jscomp$294$$[$goog$events$Listenable$IMPLEMENTED_BY_PROP$$]);
  }
  var $goog$events$ListenableKey$counter_$$ = 0;
  function $goog$events$Listener$$($listener$jscomp$56$$, $src$jscomp$11$$, $type$jscomp$125$$, $capture$$, $opt_handler$$) {
    this.listener = $listener$jscomp$56$$;
    this.$a$ = null;
    this.src = $src$jscomp$11$$;
    this.type = $type$jscomp$125$$;
    this.capture = !!$capture$$;
    this.$handler$ = $opt_handler$$;
    this.key = ++$goog$events$ListenableKey$counter_$$;
    this.$removed$ = this.$callOnce$ = !1;
  }
  function $JSCompiler_StaticMethods_markAsRemoved$$($JSCompiler_StaticMethods_markAsRemoved$self$$) {
    $JSCompiler_StaticMethods_markAsRemoved$self$$.$removed$ = !0;
    $JSCompiler_StaticMethods_markAsRemoved$self$$.listener = null;
    $JSCompiler_StaticMethods_markAsRemoved$self$$.$a$ = null;
    $JSCompiler_StaticMethods_markAsRemoved$self$$.src = null;
    $JSCompiler_StaticMethods_markAsRemoved$self$$.$handler$ = null;
  }
  ;function $goog$events$ListenerMap$$($src$jscomp$12$$) {
    this.src = $src$jscomp$12$$;
    this.$a$ = {};
    this.$b$ = 0;
  }
  $goog$events$ListenerMap$$.prototype.add = function $$goog$events$ListenerMap$$$$add$($listenerArray_type$jscomp$127$$, $listener$jscomp$57_listenerObj$$, $callOnce$$, $opt_useCapture$jscomp$9$$, $opt_listenerScope$$) {
    var $typeStr$$ = $listenerArray_type$jscomp$127$$.toString();
    $listenerArray_type$jscomp$127$$ = this.$a$[$typeStr$$];
    $listenerArray_type$jscomp$127$$ || ($listenerArray_type$jscomp$127$$ = this.$a$[$typeStr$$] = [], this.$b$++);
    var $index$jscomp$72$$ = $goog$events$ListenerMap$findListenerIndex_$$($listenerArray_type$jscomp$127$$, $listener$jscomp$57_listenerObj$$, $opt_useCapture$jscomp$9$$, $opt_listenerScope$$);
    -1 < $index$jscomp$72$$ ? ($listener$jscomp$57_listenerObj$$ = $listenerArray_type$jscomp$127$$[$index$jscomp$72$$], $callOnce$$ || ($listener$jscomp$57_listenerObj$$.$callOnce$ = !1)) : ($listener$jscomp$57_listenerObj$$ = new $goog$events$Listener$$($listener$jscomp$57_listenerObj$$, this.src, $typeStr$$, !!$opt_useCapture$jscomp$9$$, $opt_listenerScope$$), $listener$jscomp$57_listenerObj$$.$callOnce$ = $callOnce$$, $listenerArray_type$jscomp$127$$.push($listener$jscomp$57_listenerObj$$));
    return $listener$jscomp$57_listenerObj$$;
  };
  function $JSCompiler_StaticMethods_removeByKey$$($JSCompiler_StaticMethods_removeByKey$self$$, $listener$jscomp$59$$) {
    var $type$jscomp$129$$ = $listener$jscomp$59$$.type;
    if ($type$jscomp$129$$ in $JSCompiler_StaticMethods_removeByKey$self$$.$a$) {
      var $arr$jscomp$inline_291$$ = $JSCompiler_StaticMethods_removeByKey$self$$.$a$[$type$jscomp$129$$], $i$jscomp$inline_293$$ = $goog$array$indexOf$$($arr$jscomp$inline_291$$, $listener$jscomp$59$$), $rv$jscomp$inline_294$$;
      if ($rv$jscomp$inline_294$$ = 0 <= $i$jscomp$inline_293$$) {
        $goog$asserts$assert$$(null != $arr$jscomp$inline_291$$.length), Array.prototype.splice.call($arr$jscomp$inline_291$$, $i$jscomp$inline_293$$, 1);
      }
      $rv$jscomp$inline_294$$ && ($JSCompiler_StaticMethods_markAsRemoved$$($listener$jscomp$59$$), 0 == $JSCompiler_StaticMethods_removeByKey$self$$.$a$[$type$jscomp$129$$].length && (delete $JSCompiler_StaticMethods_removeByKey$self$$.$a$[$type$jscomp$129$$], $JSCompiler_StaticMethods_removeByKey$self$$.$b$--));
    }
  }
  function $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$$($JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$self_listenerArray$jscomp$4$$, $i$jscomp$169_type$jscomp$132$$, $listener$jscomp$60$$, $capture$jscomp$2$$, $opt_listenerScope$jscomp$2$$) {
    $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$self_listenerArray$jscomp$4$$ = $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$self_listenerArray$jscomp$4$$.$a$[$i$jscomp$169_type$jscomp$132$$.toString()];
    $i$jscomp$169_type$jscomp$132$$ = -1;
    $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$self_listenerArray$jscomp$4$$ && ($i$jscomp$169_type$jscomp$132$$ = $goog$events$ListenerMap$findListenerIndex_$$($JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$self_listenerArray$jscomp$4$$, $listener$jscomp$60$$, $capture$jscomp$2$$, $opt_listenerScope$jscomp$2$$));
    return -1 < $i$jscomp$169_type$jscomp$132$$ ? $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$self_listenerArray$jscomp$4$$[$i$jscomp$169_type$jscomp$132$$] : null;
  }
  function $goog$events$ListenerMap$findListenerIndex_$$($listenerArray$jscomp$6$$, $listener$jscomp$61$$, $opt_useCapture$jscomp$11$$, $opt_listenerScope$jscomp$3$$) {
    for (var $i$jscomp$171$$ = 0; $i$jscomp$171$$ < $listenerArray$jscomp$6$$.length; ++$i$jscomp$171$$) {
      var $listenerObj$jscomp$3$$ = $listenerArray$jscomp$6$$[$i$jscomp$171$$];
      if (!$listenerObj$jscomp$3$$.$removed$ && $listenerObj$jscomp$3$$.listener == $listener$jscomp$61$$ && $listenerObj$jscomp$3$$.capture == !!$opt_useCapture$jscomp$11$$ && $listenerObj$jscomp$3$$.$handler$ == $opt_listenerScope$jscomp$3$$) {
        return $i$jscomp$171$$;
      }
    }
    return -1;
  }
  ;var $goog$events$LISTENER_MAP_PROP_$$ = "closure_lm_" + (1e6 * Math.random() | 0), $goog$events$onStringMap_$$ = {}, $goog$events$listenerCountEstimate_$$ = 0;
  function $goog$events$listen$$($src$jscomp$13$$, $type$jscomp$134$$, $listener$jscomp$62$$, $opt_options$jscomp$78$$, $opt_handler$jscomp$1$$) {
    if ($opt_options$jscomp$78$$ && $opt_options$jscomp$78$$.once) {
      return $goog$events$listenOnce$$($src$jscomp$13$$, $type$jscomp$134$$, $listener$jscomp$62$$, $opt_options$jscomp$78$$, $opt_handler$jscomp$1$$);
    }
    if ($goog$isArray$$($type$jscomp$134$$)) {
      for (var $i$jscomp$172$$ = 0; $i$jscomp$172$$ < $type$jscomp$134$$.length; $i$jscomp$172$$++) {
        $goog$events$listen$$($src$jscomp$13$$, $type$jscomp$134$$[$i$jscomp$172$$], $listener$jscomp$62$$, $opt_options$jscomp$78$$, $opt_handler$jscomp$1$$);
      }
      return null;
    }
    $listener$jscomp$62$$ = $goog$events$wrapListener$$($listener$jscomp$62$$);
    return $goog$events$Listenable$isImplementedBy$$($src$jscomp$13$$) ? $src$jscomp$13$$.$G$($type$jscomp$134$$, $listener$jscomp$62$$, $goog$isObject$$($opt_options$jscomp$78$$) ? !!$opt_options$jscomp$78$$.capture : !!$opt_options$jscomp$78$$, $opt_handler$jscomp$1$$) : $goog$events$listen_$$($src$jscomp$13$$, $type$jscomp$134$$, $listener$jscomp$62$$, !1, $opt_options$jscomp$78$$, $opt_handler$jscomp$1$$);
  }
  function $goog$events$listen_$$($src$jscomp$14$$, $type$jscomp$135$$, $listener$jscomp$63_listenerObj$jscomp$4$$, $callOnce$jscomp$1_proxy$jscomp$1$$, $opt_options$jscomp$79$$, $opt_handler$jscomp$2$$) {
    if (!$type$jscomp$135$$) {
      throw Error("Invalid event type");
    }
    var $capture$jscomp$4$$ = $goog$isObject$$($opt_options$jscomp$79$$) ? !!$opt_options$jscomp$79$$.capture : !!$opt_options$jscomp$79$$, $listenerMap$$ = $goog$events$getListenerMap_$$($src$jscomp$14$$);
    $listenerMap$$ || ($src$jscomp$14$$[$goog$events$LISTENER_MAP_PROP_$$] = $listenerMap$$ = new $goog$events$ListenerMap$$($src$jscomp$14$$));
    $listener$jscomp$63_listenerObj$jscomp$4$$ = $listenerMap$$.add($type$jscomp$135$$, $listener$jscomp$63_listenerObj$jscomp$4$$, $callOnce$jscomp$1_proxy$jscomp$1$$, $capture$jscomp$4$$, $opt_handler$jscomp$2$$);
    if ($listener$jscomp$63_listenerObj$jscomp$4$$.$a$) {
      return $listener$jscomp$63_listenerObj$jscomp$4$$;
    }
    $callOnce$jscomp$1_proxy$jscomp$1$$ = $goog$events$getProxy$$();
    $listener$jscomp$63_listenerObj$jscomp$4$$.$a$ = $callOnce$jscomp$1_proxy$jscomp$1$$;
    $callOnce$jscomp$1_proxy$jscomp$1$$.src = $src$jscomp$14$$;
    $callOnce$jscomp$1_proxy$jscomp$1$$.listener = $listener$jscomp$63_listenerObj$jscomp$4$$;
    if ($src$jscomp$14$$.addEventListener) {
      $goog$events$BrowserFeature$PASSIVE_EVENTS$$ || ($opt_options$jscomp$79$$ = $capture$jscomp$4$$), void 0 === $opt_options$jscomp$79$$ && ($opt_options$jscomp$79$$ = !1), $src$jscomp$14$$.addEventListener($type$jscomp$135$$.toString(), $callOnce$jscomp$1_proxy$jscomp$1$$, $opt_options$jscomp$79$$);
    } else {
      if ($src$jscomp$14$$.attachEvent) {
        $src$jscomp$14$$.attachEvent($goog$events$getOnString_$$($type$jscomp$135$$.toString()), $callOnce$jscomp$1_proxy$jscomp$1$$);
      } else {
        throw Error("addEventListener and attachEvent are unavailable.");
      }
    }
    $goog$events$listenerCountEstimate_$$++;
    return $listener$jscomp$63_listenerObj$jscomp$4$$;
  }
  function $goog$events$getProxy$$() {
    var $proxyCallbackFunction$$ = $goog$events$handleBrowserEvent_$$, $f$jscomp$451$$ = $goog$events$BrowserFeature$HAS_W3C_EVENT_SUPPORT$$ ? function($eventObject$$) {
      return $proxyCallbackFunction$$.call($f$jscomp$451$$.src, $f$jscomp$451$$.listener, $eventObject$$);
    } : function($eventObject$jscomp$1_v$jscomp$1$$) {
      $eventObject$jscomp$1_v$jscomp$1$$ = $proxyCallbackFunction$$.call($f$jscomp$451$$.src, $f$jscomp$451$$.listener, $eventObject$jscomp$1_v$jscomp$1$$);
      if (!$eventObject$jscomp$1_v$jscomp$1$$) {
        return $eventObject$jscomp$1_v$jscomp$1$$;
      }
    };
    return $f$jscomp$451$$;
  }
  function $goog$events$listenOnce$$($src$jscomp$15$$, $type$jscomp$136$$, $listener$jscomp$64$$, $opt_options$jscomp$80$$, $opt_handler$jscomp$3$$) {
    if ($goog$isArray$$($type$jscomp$136$$)) {
      for (var $i$jscomp$173$$ = 0; $i$jscomp$173$$ < $type$jscomp$136$$.length; $i$jscomp$173$$++) {
        $goog$events$listenOnce$$($src$jscomp$15$$, $type$jscomp$136$$[$i$jscomp$173$$], $listener$jscomp$64$$, $opt_options$jscomp$80$$, $opt_handler$jscomp$3$$);
      }
      return null;
    }
    $listener$jscomp$64$$ = $goog$events$wrapListener$$($listener$jscomp$64$$);
    return $goog$events$Listenable$isImplementedBy$$($src$jscomp$15$$) ? $src$jscomp$15$$.$b$.add(String($type$jscomp$136$$), $listener$jscomp$64$$, !0, $goog$isObject$$($opt_options$jscomp$80$$) ? !!$opt_options$jscomp$80$$.capture : !!$opt_options$jscomp$80$$, $opt_handler$jscomp$3$$) : $goog$events$listen_$$($src$jscomp$15$$, $type$jscomp$136$$, $listener$jscomp$64$$, !0, $opt_options$jscomp$80$$, $opt_handler$jscomp$3$$);
  }
  function $goog$events$unlisten$$($listenerMap$jscomp$1_src$jscomp$17$$, $listenerObj$jscomp$5_type$jscomp$137$$, $listener$jscomp$66$$, $capture$jscomp$6_opt_options$jscomp$81$$, $opt_handler$jscomp$5$$) {
    if ($goog$isArray$$($listenerObj$jscomp$5_type$jscomp$137$$)) {
      for (var $i$jscomp$174$$ = 0; $i$jscomp$174$$ < $listenerObj$jscomp$5_type$jscomp$137$$.length; $i$jscomp$174$$++) {
        $goog$events$unlisten$$($listenerMap$jscomp$1_src$jscomp$17$$, $listenerObj$jscomp$5_type$jscomp$137$$[$i$jscomp$174$$], $listener$jscomp$66$$, $capture$jscomp$6_opt_options$jscomp$81$$, $opt_handler$jscomp$5$$);
      }
    } else {
      $capture$jscomp$6_opt_options$jscomp$81$$ = $goog$isObject$$($capture$jscomp$6_opt_options$jscomp$81$$) ? !!$capture$jscomp$6_opt_options$jscomp$81$$.capture : !!$capture$jscomp$6_opt_options$jscomp$81$$, $listener$jscomp$66$$ = $goog$events$wrapListener$$($listener$jscomp$66$$), $goog$events$Listenable$isImplementedBy$$($listenerMap$jscomp$1_src$jscomp$17$$) ? $listenerMap$jscomp$1_src$jscomp$17$$.$m$($listenerObj$jscomp$5_type$jscomp$137$$, $listener$jscomp$66$$, $capture$jscomp$6_opt_options$jscomp$81$$, 
      $opt_handler$jscomp$5$$) : $listenerMap$jscomp$1_src$jscomp$17$$ && ($listenerMap$jscomp$1_src$jscomp$17$$ = $goog$events$getListenerMap_$$($listenerMap$jscomp$1_src$jscomp$17$$)) && ($listenerObj$jscomp$5_type$jscomp$137$$ = $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$$($listenerMap$jscomp$1_src$jscomp$17$$, $listenerObj$jscomp$5_type$jscomp$137$$, $listener$jscomp$66$$, $capture$jscomp$6_opt_options$jscomp$81$$, $opt_handler$jscomp$5$$)) && $goog$events$unlistenByKey$$($listenerObj$jscomp$5_type$jscomp$137$$);
    }
  }
  function $goog$events$unlistenByKey$$($key$jscomp$94$$) {
    if (!$goog$isNumber$$($key$jscomp$94$$) && $key$jscomp$94$$ && !$key$jscomp$94$$.$removed$) {
      var $src$jscomp$18$$ = $key$jscomp$94$$.src;
      if ($goog$events$Listenable$isImplementedBy$$($src$jscomp$18$$)) {
        $JSCompiler_StaticMethods_removeByKey$$($src$jscomp$18$$.$b$, $key$jscomp$94$$);
      } else {
        var $listenerMap$jscomp$2_type$jscomp$138$$ = $key$jscomp$94$$.type, $proxy$jscomp$2$$ = $key$jscomp$94$$.$a$;
        $src$jscomp$18$$.removeEventListener ? $src$jscomp$18$$.removeEventListener($listenerMap$jscomp$2_type$jscomp$138$$, $proxy$jscomp$2$$, $key$jscomp$94$$.capture) : $src$jscomp$18$$.detachEvent && $src$jscomp$18$$.detachEvent($goog$events$getOnString_$$($listenerMap$jscomp$2_type$jscomp$138$$), $proxy$jscomp$2$$);
        $goog$events$listenerCountEstimate_$$--;
        ($listenerMap$jscomp$2_type$jscomp$138$$ = $goog$events$getListenerMap_$$($src$jscomp$18$$)) ? ($JSCompiler_StaticMethods_removeByKey$$($listenerMap$jscomp$2_type$jscomp$138$$, $key$jscomp$94$$), 0 == $listenerMap$jscomp$2_type$jscomp$138$$.$b$ && ($listenerMap$jscomp$2_type$jscomp$138$$.src = null, $src$jscomp$18$$[$goog$events$LISTENER_MAP_PROP_$$] = null)) : $JSCompiler_StaticMethods_markAsRemoved$$($key$jscomp$94$$);
      }
    }
  }
  function $goog$events$getOnString_$$($type$jscomp$142$$) {
    return $type$jscomp$142$$ in $goog$events$onStringMap_$$ ? $goog$events$onStringMap_$$[$type$jscomp$142$$] : $goog$events$onStringMap_$$[$type$jscomp$142$$] = "on" + $type$jscomp$142$$;
  }
  function $goog$events$fireListeners_$$($i$jscomp$176_listenerMap$jscomp$7_obj$jscomp$299$$, $listenerArray$jscomp$7_type$jscomp$144$$, $capture$jscomp$10$$, $eventObject$jscomp$3$$) {
    var $retval$$ = !0;
    if ($i$jscomp$176_listenerMap$jscomp$7_obj$jscomp$299$$ = $goog$events$getListenerMap_$$($i$jscomp$176_listenerMap$jscomp$7_obj$jscomp$299$$)) {
      if ($listenerArray$jscomp$7_type$jscomp$144$$ = $i$jscomp$176_listenerMap$jscomp$7_obj$jscomp$299$$.$a$[$listenerArray$jscomp$7_type$jscomp$144$$.toString()]) {
        for ($listenerArray$jscomp$7_type$jscomp$144$$ = $listenerArray$jscomp$7_type$jscomp$144$$.concat(), $i$jscomp$176_listenerMap$jscomp$7_obj$jscomp$299$$ = 0; $i$jscomp$176_listenerMap$jscomp$7_obj$jscomp$299$$ < $listenerArray$jscomp$7_type$jscomp$144$$.length; $i$jscomp$176_listenerMap$jscomp$7_obj$jscomp$299$$++) {
          var $listener$jscomp$70_result$jscomp$27$$ = $listenerArray$jscomp$7_type$jscomp$144$$[$i$jscomp$176_listenerMap$jscomp$7_obj$jscomp$299$$];
          $listener$jscomp$70_result$jscomp$27$$ && $listener$jscomp$70_result$jscomp$27$$.capture == $capture$jscomp$10$$ && !$listener$jscomp$70_result$jscomp$27$$.$removed$ && ($listener$jscomp$70_result$jscomp$27$$ = $goog$events$fireListener$$($listener$jscomp$70_result$jscomp$27$$, $eventObject$jscomp$3$$), $retval$$ = $retval$$ && !1 !== $listener$jscomp$70_result$jscomp$27$$);
        }
      }
    }
    return $retval$$;
  }
  function $goog$events$fireListener$$($listener$jscomp$71$$, $eventObject$jscomp$4$$) {
    var $listenerFn$$ = $listener$jscomp$71$$.listener, $listenerHandler$$ = $listener$jscomp$71$$.$handler$ || $listener$jscomp$71$$.src;
    $listener$jscomp$71$$.$callOnce$ && $goog$events$unlistenByKey$$($listener$jscomp$71$$);
    return $listenerFn$$.call($listenerHandler$$, $eventObject$jscomp$4$$);
  }
  function $goog$events$handleBrowserEvent_$$($listener$jscomp$72_type$jscomp$145$$, $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$) {
    if ($listener$jscomp$72_type$jscomp$145$$.$removed$) {
      return !0;
    }
    if (!$goog$events$BrowserFeature$HAS_W3C_EVENT_SUPPORT$$) {
      if (!$JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$) {
        a: {
          $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$ = ["window", "event"];
          for (var $cur$jscomp$inline_299_retval$jscomp$1$$ = $goog$global$$, $ancestors_i$jscomp$inline_300_ieEvent$$ = 0; $ancestors_i$jscomp$inline_300_ieEvent$$ < $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$.length; $ancestors_i$jscomp$inline_300_ieEvent$$++) {
            if ($cur$jscomp$inline_299_retval$jscomp$1$$ = $cur$jscomp$inline_299_retval$jscomp$1$$[$JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$[$ancestors_i$jscomp$inline_300_ieEvent$$]], null == $cur$jscomp$inline_299_retval$jscomp$1$$) {
              $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$ = null;
              break a;
            }
          }
          $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$ = $cur$jscomp$inline_299_retval$jscomp$1$$;
        }
      }
      $ancestors_i$jscomp$inline_300_ieEvent$$ = $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$;
      $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$ = new $goog$events$BrowserEvent$$($ancestors_i$jscomp$inline_300_ieEvent$$, this);
      $cur$jscomp$inline_299_retval$jscomp$1$$ = !0;
      if (!(0 > $ancestors_i$jscomp$inline_300_ieEvent$$.keyCode || void 0 != $ancestors_i$jscomp$inline_300_ieEvent$$.returnValue)) {
        a: {
          var $i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$ = !1;
          if (0 == $ancestors_i$jscomp$inline_300_ieEvent$$.keyCode) {
            try {
              $ancestors_i$jscomp$inline_300_ieEvent$$.keyCode = -1;
              break a;
            } catch ($ex$jscomp$inline_304$$) {
              $i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$ = !0;
            }
          }
          if ($i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$ || void 0 == $ancestors_i$jscomp$inline_300_ieEvent$$.returnValue) {
            $ancestors_i$jscomp$inline_300_ieEvent$$.returnValue = !0;
          }
        }
        $ancestors_i$jscomp$inline_300_ieEvent$$ = [];
        for ($i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$ = $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$.$a$; $i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$; $i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$ = $i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$.parentNode) {
          $ancestors_i$jscomp$inline_300_ieEvent$$.push($i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$);
        }
        $listener$jscomp$72_type$jscomp$145$$ = $listener$jscomp$72_type$jscomp$145$$.type;
        for ($i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$ = $ancestors_i$jscomp$inline_300_ieEvent$$.length - 1; 0 <= $i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$; $i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$--) {
          $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$.$a$ = $ancestors_i$jscomp$inline_300_ieEvent$$[$i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$];
          var $result$jscomp$28$$ = $goog$events$fireListeners_$$($ancestors_i$jscomp$inline_300_ieEvent$$[$i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$], $listener$jscomp$72_type$jscomp$145$$, !0, $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$);
          $cur$jscomp$inline_299_retval$jscomp$1$$ = $cur$jscomp$inline_299_retval$jscomp$1$$ && $result$jscomp$28$$;
        }
        for ($i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$ = 0; $i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$ < $ancestors_i$jscomp$inline_300_ieEvent$$.length; $i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$++) {
          $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$.$a$ = $ancestors_i$jscomp$inline_300_ieEvent$$[$i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$], $result$jscomp$28$$ = $goog$events$fireListeners_$$($ancestors_i$jscomp$inline_300_ieEvent$$[$i$jscomp$177_parent$jscomp$2_useReturnValue$jscomp$inline_303$$], $listener$jscomp$72_type$jscomp$145$$, !1, $JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$), $cur$jscomp$inline_299_retval$jscomp$1$$ = 
          $cur$jscomp$inline_299_retval$jscomp$1$$ && $result$jscomp$28$$;
        }
      }
      return $cur$jscomp$inline_299_retval$jscomp$1$$;
    }
    return $goog$events$fireListener$$($listener$jscomp$72_type$jscomp$145$$, new $goog$events$BrowserEvent$$($JSCompiler_temp$jscomp$9_evt$jscomp$28_opt_evt_parts$jscomp$inline_298$$, this));
  }
  function $goog$events$getListenerMap_$$($listenerMap$jscomp$8_src$jscomp$22$$) {
    $listenerMap$jscomp$8_src$jscomp$22$$ = $listenerMap$jscomp$8_src$jscomp$22$$[$goog$events$LISTENER_MAP_PROP_$$];
    return $listenerMap$jscomp$8_src$jscomp$22$$ instanceof $goog$events$ListenerMap$$ ? $listenerMap$jscomp$8_src$jscomp$22$$ : null;
  }
  var $goog$events$LISTENER_WRAPPER_PROP_$$ = "__closure_events_fn_" + (1e9 * Math.random() >>> 0);
  function $goog$events$wrapListener$$($listener$jscomp$73$$) {
    $goog$asserts$assert$$($listener$jscomp$73$$, "Listener can not be null.");
    if ("function" == $goog$typeOf$$($listener$jscomp$73$$)) {
      return $listener$jscomp$73$$;
    }
    $goog$asserts$assert$$($listener$jscomp$73$$.handleEvent, "An object listener must have handleEvent method.");
    $listener$jscomp$73$$[$goog$events$LISTENER_WRAPPER_PROP_$$] || ($listener$jscomp$73$$[$goog$events$LISTENER_WRAPPER_PROP_$$] = function $$listener$jscomp$73$$$$goog$events$LISTENER_WRAPPER_PROP_$$$($e$jscomp$29$$) {
      return $listener$jscomp$73$$.handleEvent($e$jscomp$29$$);
    });
    return $listener$jscomp$73$$[$goog$events$LISTENER_WRAPPER_PROP_$$];
  }
  ;function $goog$events$EventTarget$$() {
    $goog$Disposable$$.call(this);
    this.$b$ = new $goog$events$ListenerMap$$(this);
    this.$J$ = this;
    this.$H$ = null;
  }
  $goog$inherits$$($goog$events$EventTarget$$, $goog$Disposable$$);
  $goog$events$EventTarget$$.prototype[$goog$events$Listenable$IMPLEMENTED_BY_PROP$$] = !0;
  $goog$events$EventTarget$$.prototype.removeEventListener = function $$goog$events$EventTarget$$$$removeEventListener$($type$jscomp$147$$, $handler$jscomp$5$$, $opt_capture$jscomp$3$$, $opt_handlerScope$jscomp$1$$) {
    $goog$events$unlisten$$(this, $type$jscomp$147$$, $handler$jscomp$5$$, $opt_capture$jscomp$3$$, $opt_handlerScope$jscomp$1$$);
  };
  function $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$($JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$self_target$jscomp$inline_341$$, $e$jscomp$37_e$jscomp$inline_342$$) {
    $JSCompiler_StaticMethods_assertInitialized_$$($JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$self_target$jscomp$inline_341$$);
    var $ancestor_type$jscomp$inline_344$$ = $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$self_target$jscomp$inline_341$$.$H$;
    if ($ancestor_type$jscomp$inline_344$$) {
      var $ancestorsTree_opt_ancestorsTree$jscomp$inline_343$$ = [];
      for (var $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$ = 1; $ancestor_type$jscomp$inline_344$$; $ancestor_type$jscomp$inline_344$$ = $ancestor_type$jscomp$inline_344$$.$H$) {
        $ancestorsTree_opt_ancestorsTree$jscomp$inline_343$$.push($ancestor_type$jscomp$inline_344$$), $goog$asserts$assert$$(1000 > ++$ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$, "infinite loop");
      }
    }
    $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$self_target$jscomp$inline_341$$ = $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$self_target$jscomp$inline_341$$.$J$;
    $ancestor_type$jscomp$inline_344$$ = $e$jscomp$37_e$jscomp$inline_342$$.type || $e$jscomp$37_e$jscomp$inline_342$$;
    $goog$isString$$($e$jscomp$37_e$jscomp$inline_342$$) ? $e$jscomp$37_e$jscomp$inline_342$$ = new $goog$events$Event$$($e$jscomp$37_e$jscomp$inline_342$$, $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$self_target$jscomp$inline_341$$) : $e$jscomp$37_e$jscomp$inline_342$$ instanceof $goog$events$Event$$ ? $e$jscomp$37_e$jscomp$inline_342$$.target = $e$jscomp$37_e$jscomp$inline_342$$.target || $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$self_target$jscomp$inline_341$$ : 
    ($ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$ = $e$jscomp$37_e$jscomp$inline_342$$, $e$jscomp$37_e$jscomp$inline_342$$ = new $goog$events$Event$$($ancestor_type$jscomp$inline_344$$, $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$self_target$jscomp$inline_341$$), $goog$object$extend$$($e$jscomp$37_e$jscomp$inline_342$$, $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$));
    $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$ = !0;
    if ($ancestorsTree_opt_ancestorsTree$jscomp$inline_343$$) {
      for (var $i$jscomp$inline_348$$ = $ancestorsTree_opt_ancestorsTree$jscomp$inline_343$$.length - 1; 0 <= $i$jscomp$inline_348$$; $i$jscomp$inline_348$$--) {
        var $currentTarget$jscomp$inline_347$$ = $e$jscomp$37_e$jscomp$inline_342$$.$a$ = $ancestorsTree_opt_ancestorsTree$jscomp$inline_343$$[$i$jscomp$inline_348$$];
        $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$ = $JSCompiler_StaticMethods_fireListeners$$($currentTarget$jscomp$inline_347$$, $ancestor_type$jscomp$inline_344$$, !0, $e$jscomp$37_e$jscomp$inline_342$$) && $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$;
      }
    }
    $currentTarget$jscomp$inline_347$$ = $e$jscomp$37_e$jscomp$inline_342$$.$a$ = $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$self_target$jscomp$inline_341$$;
    $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$ = $JSCompiler_StaticMethods_fireListeners$$($currentTarget$jscomp$inline_347$$, $ancestor_type$jscomp$inline_344$$, !0, $e$jscomp$37_e$jscomp$inline_342$$) && $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$;
    $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$ = $JSCompiler_StaticMethods_fireListeners$$($currentTarget$jscomp$inline_347$$, $ancestor_type$jscomp$inline_344$$, !1, $e$jscomp$37_e$jscomp$inline_342$$) && $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$;
    if ($ancestorsTree_opt_ancestorsTree$jscomp$inline_343$$) {
      for ($i$jscomp$inline_348$$ = 0; $i$jscomp$inline_348$$ < $ancestorsTree_opt_ancestorsTree$jscomp$inline_343$$.length; $i$jscomp$inline_348$$++) {
        $currentTarget$jscomp$inline_347$$ = $e$jscomp$37_e$jscomp$inline_342$$.$a$ = $ancestorsTree_opt_ancestorsTree$jscomp$inline_343$$[$i$jscomp$inline_348$$], $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$ = $JSCompiler_StaticMethods_fireListeners$$($currentTarget$jscomp$inline_347$$, $ancestor_type$jscomp$inline_344$$, !1, $e$jscomp$37_e$jscomp$inline_342$$) && $ancestorCount_oldEvent$jscomp$inline_345_rv$jscomp$inline_346$$;
      }
    }
  }
  $goog$events$EventTarget$$.prototype.$disposeInternal$ = function $$goog$events$EventTarget$$$$$disposeInternal$$() {
    $goog$events$EventTarget$$.$superClass_$.$disposeInternal$.call(this);
    if (this.$b$) {
      var $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$removeAll$self$jscomp$inline_844$$ = this.$b$, $count$jscomp$inline_847$$ = 0, $type$jscomp$inline_848$$;
      for ($type$jscomp$inline_848$$ in $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$removeAll$self$jscomp$inline_844$$.$a$) {
        for (var $listenerArray$jscomp$inline_849$$ = $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$removeAll$self$jscomp$inline_844$$.$a$[$type$jscomp$inline_848$$], $i$jscomp$inline_850$$ = 0; $i$jscomp$inline_850$$ < $listenerArray$jscomp$inline_849$$.length; $i$jscomp$inline_850$$++) {
          ++$count$jscomp$inline_847$$, $JSCompiler_StaticMethods_markAsRemoved$$($listenerArray$jscomp$inline_849$$[$i$jscomp$inline_850$$]);
        }
        delete $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$removeAll$self$jscomp$inline_844$$.$a$[$type$jscomp$inline_848$$];
        $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$removeAll$self$jscomp$inline_844$$.$b$--;
      }
    }
    this.$H$ = null;
  };
  $goog$events$EventTarget$$.prototype.$G$ = function $$goog$events$EventTarget$$$$$G$$($type$jscomp$148$$, $listener$jscomp$74$$, $opt_useCapture$jscomp$12$$, $opt_listenerScope$jscomp$4$$) {
    $JSCompiler_StaticMethods_assertInitialized_$$(this);
    return this.$b$.add(String($type$jscomp$148$$), $listener$jscomp$74$$, !1, $opt_useCapture$jscomp$12$$, $opt_listenerScope$jscomp$4$$);
  };
  $goog$events$EventTarget$$.prototype.$m$ = function $$goog$events$EventTarget$$$$$m$$($type$jscomp$150_typeStr$jscomp$inline_358$$, $index$jscomp$inline_360_listener$jscomp$76$$, $opt_useCapture$jscomp$14$$, $opt_listenerScope$jscomp$6$$) {
    var $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$remove$self$jscomp$inline_353$$ = this.$b$;
    $type$jscomp$150_typeStr$jscomp$inline_358$$ = String($type$jscomp$150_typeStr$jscomp$inline_358$$).toString();
    if ($type$jscomp$150_typeStr$jscomp$inline_358$$ in $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$remove$self$jscomp$inline_353$$.$a$) {
      var $listenerArray$jscomp$inline_359$$ = $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$remove$self$jscomp$inline_353$$.$a$[$type$jscomp$150_typeStr$jscomp$inline_358$$];
      $index$jscomp$inline_360_listener$jscomp$76$$ = $goog$events$ListenerMap$findListenerIndex_$$($listenerArray$jscomp$inline_359$$, $index$jscomp$inline_360_listener$jscomp$76$$, $opt_useCapture$jscomp$14$$, $opt_listenerScope$jscomp$6$$);
      -1 < $index$jscomp$inline_360_listener$jscomp$76$$ && ($JSCompiler_StaticMethods_markAsRemoved$$($listenerArray$jscomp$inline_359$$[$index$jscomp$inline_360_listener$jscomp$76$$]), $goog$asserts$assert$$(null != $listenerArray$jscomp$inline_359$$.length), Array.prototype.splice.call($listenerArray$jscomp$inline_359$$, $index$jscomp$inline_360_listener$jscomp$76$$, 1), 0 == $listenerArray$jscomp$inline_359$$.length && (delete $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$remove$self$jscomp$inline_353$$.$a$[$type$jscomp$150_typeStr$jscomp$inline_358$$], 
      $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$remove$self$jscomp$inline_353$$.$b$--));
    }
  };
  function $JSCompiler_StaticMethods_fireListeners$$($JSCompiler_StaticMethods_fireListeners$self$$, $listenerArray$jscomp$8_type$jscomp$151$$, $capture$jscomp$11$$, $eventObject$jscomp$5$$) {
    $listenerArray$jscomp$8_type$jscomp$151$$ = $JSCompiler_StaticMethods_fireListeners$self$$.$b$.$a$[String($listenerArray$jscomp$8_type$jscomp$151$$)];
    if (!$listenerArray$jscomp$8_type$jscomp$151$$) {
      return !0;
    }
    $listenerArray$jscomp$8_type$jscomp$151$$ = $listenerArray$jscomp$8_type$jscomp$151$$.concat();
    for (var $rv$jscomp$9$$ = !0, $i$jscomp$187$$ = 0; $i$jscomp$187$$ < $listenerArray$jscomp$8_type$jscomp$151$$.length; ++$i$jscomp$187$$) {
      var $listener$jscomp$77$$ = $listenerArray$jscomp$8_type$jscomp$151$$[$i$jscomp$187$$];
      if ($listener$jscomp$77$$ && !$listener$jscomp$77$$.$removed$ && $listener$jscomp$77$$.capture == $capture$jscomp$11$$) {
        var $listenerFn$jscomp$1$$ = $listener$jscomp$77$$.listener, $listenerHandler$jscomp$1$$ = $listener$jscomp$77$$.$handler$ || $listener$jscomp$77$$.src;
        $listener$jscomp$77$$.$callOnce$ && $JSCompiler_StaticMethods_removeByKey$$($JSCompiler_StaticMethods_fireListeners$self$$.$b$, $listener$jscomp$77$$);
        $rv$jscomp$9$$ = !1 !== $listenerFn$jscomp$1$$.call($listenerHandler$jscomp$1$$, $eventObject$jscomp$5$$) && $rv$jscomp$9$$;
      }
    }
    return $rv$jscomp$9$$ && 0 != $eventObject$jscomp$5$$.$returnValue_$;
  }
  function $JSCompiler_StaticMethods_assertInitialized_$$($JSCompiler_StaticMethods_assertInitialized_$self$$) {
    $goog$asserts$assert$$($JSCompiler_StaticMethods_assertInitialized_$self$$.$b$, "Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?");
  }
  ;function $goog$Timer$callOnce$$($listener$jscomp$79$$, $opt_delay$jscomp$2$$, $opt_handler$jscomp$8$$) {
    if ("function" == $goog$typeOf$$($listener$jscomp$79$$)) {
      $opt_handler$jscomp$8$$ && ($listener$jscomp$79$$ = $goog$bind$$($listener$jscomp$79$$, $opt_handler$jscomp$8$$));
    } else {
      if ($listener$jscomp$79$$ && "function" == typeof $listener$jscomp$79$$.handleEvent) {
        $listener$jscomp$79$$ = $goog$bind$$($listener$jscomp$79$$.handleEvent, $listener$jscomp$79$$);
      } else {
        throw Error("Invalid listener argument");
      }
    }
    return 2147483647 < Number($opt_delay$jscomp$2$$) ? -1 : $goog$global$$.setTimeout($listener$jscomp$79$$, $opt_delay$jscomp$2$$ || 0);
  }
  ;function $goog$json$isValid$$($s$jscomp$16$$) {
    return /^\s*$/.test($s$jscomp$16$$) ? !1 : /^[\],:{}\s\u2028\u2029]*$/.test($s$jscomp$16$$.replace(/\\["\\\/bfnrtu]/g, "@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g, "]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g, ""));
  }
  function $goog$json$parse$$($o$jscomp$2_s$jscomp$17$$) {
    $o$jscomp$2_s$jscomp$17$$ = String($o$jscomp$2_s$jscomp$17$$);
    if ($goog$json$isValid$$($o$jscomp$2_s$jscomp$17$$)) {
      try {
        return eval("(" + $o$jscomp$2_s$jscomp$17$$ + ")");
      } catch ($ex$1$$) {
      }
    }
    throw Error("Invalid JSON string: " + $o$jscomp$2_s$jscomp$17$$);
  }
  ;function $goog$debug$LogRecord$$($level$jscomp$7$$, $msg$jscomp$657$$, $loggerName$$) {
    this.reset($level$jscomp$7$$, $msg$jscomp$657$$, $loggerName$$, void 0, void 0);
  }
  $goog$debug$LogRecord$$.prototype.$a$ = null;
  var $goog$debug$LogRecord$nextSequenceNumber_$$ = 0;
  $goog$debug$LogRecord$$.prototype.reset = function $$goog$debug$LogRecord$$$$reset$($level$jscomp$8$$, $msg$jscomp$658$$, $loggerName$jscomp$1$$, $opt_time$jscomp$1$$, $opt_sequenceNumber$jscomp$1$$) {
    "number" == typeof $opt_sequenceNumber$jscomp$1$$ || $goog$debug$LogRecord$nextSequenceNumber_$$++;
    $opt_time$jscomp$1$$ || $goog$now$$();
    this.$b$ = $msg$jscomp$658$$;
    delete this.$a$;
  };
  function $goog$debug$Logger$$($name$jscomp$84$$) {
    this.$f$ = $name$jscomp$84$$;
    this.$b$ = this.$c$ = this.$a$ = null;
  }
  function $goog$debug$Logger$Level$$($name$jscomp$85$$, $value$jscomp$1127$$) {
    this.name = $name$jscomp$85$$;
    this.value = $value$jscomp$1127$$;
  }
  $goog$debug$Logger$Level$$.prototype.toString = function $$goog$debug$Logger$Level$$$$toString$() {
    return this.name;
  };
  var $goog$debug$Logger$Level$SEVERE$$ = new $goog$debug$Logger$Level$$("SEVERE", 1000), $goog$debug$Logger$Level$CONFIG$$ = new $goog$debug$Logger$Level$$("CONFIG", 700), $goog$debug$Logger$Level$FINE$$ = new $goog$debug$Logger$Level$$("FINE", 500);
  $goog$debug$Logger$$.prototype.getName = function $$goog$debug$Logger$$$$getName$() {
    return this.$f$;
  };
  function $JSCompiler_StaticMethods_getEffectiveLevel$$($JSCompiler_StaticMethods_getEffectiveLevel$self$$) {
    if ($JSCompiler_StaticMethods_getEffectiveLevel$self$$.$c$) {
      return $JSCompiler_StaticMethods_getEffectiveLevel$self$$.$c$;
    }
    if ($JSCompiler_StaticMethods_getEffectiveLevel$self$$.$a$) {
      return $JSCompiler_StaticMethods_getEffectiveLevel$$($JSCompiler_StaticMethods_getEffectiveLevel$self$$.$a$);
    }
    $goog$asserts$fail$$("Root logger has no level set.");
    return null;
  }
  $goog$debug$Logger$$.prototype.log = function $$goog$debug$Logger$$$$log$($console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$, $msg$jscomp$662$$, $msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$) {
    if ($console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$.value >= $JSCompiler_StaticMethods_getEffectiveLevel$$(this).value) {
      for ("function" == $goog$typeOf$$($msg$jscomp$662$$) && ($msg$jscomp$662$$ = $msg$jscomp$662$$()), $console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$ = new $goog$debug$LogRecord$$($console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$, String($msg$jscomp$662$$), this.$f$), $msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$ && ($console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$.$a$ = 
      $msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$), $msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$ = "log:" + $console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$.$b$, ($console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$ = $goog$global$$.console) && $console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$.timeStamp && 
      $console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$.timeStamp($msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$), ($console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$ = $goog$global$$.msWriteProfilerMark) && $console$jscomp$inline_867_level$jscomp$15_logRecord$jscomp$inline_368_msWriteProfilerMark$jscomp$inline_868$$($msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$), 
      $msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$ = this; $msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$;) {
        $msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$ = $msg$jscomp$inline_866_opt_exception_target$jscomp$inline_374$$.$a$;
      }
    }
  };
  var $goog$debug$LogManager$loggers_$$ = {}, $goog$debug$LogManager$rootLogger_$$ = null;
  function $goog$debug$LogManager$getLogger$$($name$jscomp$89$$) {
    $goog$debug$LogManager$rootLogger_$$ || ($goog$debug$LogManager$rootLogger_$$ = new $goog$debug$Logger$$(""), $goog$debug$LogManager$loggers_$$[""] = $goog$debug$LogManager$rootLogger_$$, $goog$debug$LogManager$rootLogger_$$.$c$ = $goog$debug$Logger$Level$CONFIG$$);
    var $JSCompiler_temp$jscomp$38_logger$jscomp$inline_384$$;
    if (!($JSCompiler_temp$jscomp$38_logger$jscomp$inline_384$$ = $goog$debug$LogManager$loggers_$$[$name$jscomp$89$$])) {
      $JSCompiler_temp$jscomp$38_logger$jscomp$inline_384$$ = new $goog$debug$Logger$$($name$jscomp$89$$);
      var $lastDotIndex$jscomp$inline_385_parentLogger$jscomp$inline_387$$ = $name$jscomp$89$$.lastIndexOf("."), $leafName$jscomp$inline_386$$ = $name$jscomp$89$$.substr($lastDotIndex$jscomp$inline_385_parentLogger$jscomp$inline_387$$ + 1);
      $lastDotIndex$jscomp$inline_385_parentLogger$jscomp$inline_387$$ = $goog$debug$LogManager$getLogger$$($name$jscomp$89$$.substr(0, $lastDotIndex$jscomp$inline_385_parentLogger$jscomp$inline_387$$));
      $lastDotIndex$jscomp$inline_385_parentLogger$jscomp$inline_387$$.$b$ || ($lastDotIndex$jscomp$inline_385_parentLogger$jscomp$inline_387$$.$b$ = {});
      $lastDotIndex$jscomp$inline_385_parentLogger$jscomp$inline_387$$.$b$[$leafName$jscomp$inline_386$$] = $JSCompiler_temp$jscomp$38_logger$jscomp$inline_384$$;
      $JSCompiler_temp$jscomp$38_logger$jscomp$inline_384$$.$a$ = $lastDotIndex$jscomp$inline_385_parentLogger$jscomp$inline_387$$;
      $goog$debug$LogManager$loggers_$$[$name$jscomp$89$$] = $JSCompiler_temp$jscomp$38_logger$jscomp$inline_384$$;
    }
    return $JSCompiler_temp$jscomp$38_logger$jscomp$inline_384$$;
  }
  ;function $goog$log$fine$$($logger$jscomp$10$$, $msg$jscomp$676$$) {
    $logger$jscomp$10$$ && $logger$jscomp$10$$.log($goog$debug$Logger$Level$FINE$$, $msg$jscomp$676$$, void 0);
  }
  ;function $goog$net$XmlHttpFactory$$() {
  }
  $goog$net$XmlHttpFactory$$.prototype.$a$ = null;
  function $JSCompiler_StaticMethods_getOptions$$($JSCompiler_StaticMethods_getOptions$self$$) {
    var $JSCompiler_temp$jscomp$40_options$jscomp$inline_397$$;
    ($JSCompiler_temp$jscomp$40_options$jscomp$inline_397$$ = $JSCompiler_StaticMethods_getOptions$self$$.$a$) || ($JSCompiler_temp$jscomp$40_options$jscomp$inline_397$$ = {}, $JSCompiler_StaticMethods_getProgId_$$($JSCompiler_StaticMethods_getOptions$self$$) && ($JSCompiler_temp$jscomp$40_options$jscomp$inline_397$$[0] = !0, $JSCompiler_temp$jscomp$40_options$jscomp$inline_397$$[1] = !0), $JSCompiler_temp$jscomp$40_options$jscomp$inline_397$$ = $JSCompiler_StaticMethods_getOptions$self$$.$a$ = $JSCompiler_temp$jscomp$40_options$jscomp$inline_397$$);
    return $JSCompiler_temp$jscomp$40_options$jscomp$inline_397$$;
  }
  ;var $goog$net$XmlHttp$factory_$$;
  function $goog$net$DefaultXmlHttpFactory$$() {
  }
  $goog$inherits$$($goog$net$DefaultXmlHttpFactory$$, $goog$net$XmlHttpFactory$$);
  function $JSCompiler_StaticMethods_createInstance$$($JSCompiler_StaticMethods_createInstance$self_progId$jscomp$1$$) {
    return ($JSCompiler_StaticMethods_createInstance$self_progId$jscomp$1$$ = $JSCompiler_StaticMethods_getProgId_$$($JSCompiler_StaticMethods_createInstance$self_progId$jscomp$1$$)) ? new ActiveXObject($JSCompiler_StaticMethods_createInstance$self_progId$jscomp$1$$) : new XMLHttpRequest;
  }
  function $JSCompiler_StaticMethods_getProgId_$$($JSCompiler_StaticMethods_getProgId_$self$$) {
    if (!$JSCompiler_StaticMethods_getProgId_$self$$.$b$ && "undefined" == typeof XMLHttpRequest && "undefined" != typeof ActiveXObject) {
      for (var $ACTIVE_X_IDENTS$$ = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"], $i$jscomp$195$$ = 0; $i$jscomp$195$$ < $ACTIVE_X_IDENTS$$.length; $i$jscomp$195$$++) {
        var $candidate$jscomp$1$$ = $ACTIVE_X_IDENTS$$[$i$jscomp$195$$];
        try {
          return new ActiveXObject($candidate$jscomp$1$$), $JSCompiler_StaticMethods_getProgId_$self$$.$b$ = $candidate$jscomp$1$$;
        } catch ($e$jscomp$41$$) {
        }
      }
      throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");
    }
    return $JSCompiler_StaticMethods_getProgId_$self$$.$b$;
  }
  $goog$net$XmlHttp$factory_$$ = new $goog$net$DefaultXmlHttpFactory$$;
  function $goog$structs$getValues$$($col$jscomp$1$$) {
    if ($col$jscomp$1$$.$getValues$ && "function" == typeof $col$jscomp$1$$.$getValues$) {
      return $col$jscomp$1$$.$getValues$();
    }
    if ($goog$isString$$($col$jscomp$1$$)) {
      return $col$jscomp$1$$.split("");
    }
    if ($goog$isArrayLike$$($col$jscomp$1$$)) {
      for (var $rv$jscomp$12$$ = [], $l$jscomp$13$$ = $col$jscomp$1$$.length, $i$jscomp$196$$ = 0; $i$jscomp$196$$ < $l$jscomp$13$$; $i$jscomp$196$$++) {
        $rv$jscomp$12$$.push($col$jscomp$1$$[$i$jscomp$196$$]);
      }
      return $rv$jscomp$12$$;
    }
    return $goog$object$getValues$$($col$jscomp$1$$);
  }
  function $goog$structs$forEach$$($col$jscomp$6$$, $f$jscomp$459$$) {
    if ($col$jscomp$6$$.forEach && "function" == typeof $col$jscomp$6$$.forEach) {
      $col$jscomp$6$$.forEach($f$jscomp$459$$, void 0);
    } else {
      if ($goog$isArrayLike$$($col$jscomp$6$$) || $goog$isString$$($col$jscomp$6$$)) {
        $goog$array$forEach$$($col$jscomp$6$$, $f$jscomp$459$$, void 0);
      } else {
        if ($col$jscomp$6$$.$getKeys$ && "function" == typeof $col$jscomp$6$$.$getKeys$) {
          var $keys$jscomp$4_rv$jscomp$inline_402$$ = $col$jscomp$6$$.$getKeys$();
        } else {
          if ($col$jscomp$6$$.$getValues$ && "function" == typeof $col$jscomp$6$$.$getValues$) {
            $keys$jscomp$4_rv$jscomp$inline_402$$ = void 0;
          } else {
            if ($goog$isArrayLike$$($col$jscomp$6$$) || $goog$isString$$($col$jscomp$6$$)) {
              $keys$jscomp$4_rv$jscomp$inline_402$$ = [];
              for (var $l$jscomp$inline_403_values$jscomp$9$$ = $col$jscomp$6$$.length, $i$jscomp$inline_404_l$jscomp$15$$ = 0; $i$jscomp$inline_404_l$jscomp$15$$ < $l$jscomp$inline_403_values$jscomp$9$$; $i$jscomp$inline_404_l$jscomp$15$$++) {
                $keys$jscomp$4_rv$jscomp$inline_402$$.push($i$jscomp$inline_404_l$jscomp$15$$);
              }
            } else {
              $keys$jscomp$4_rv$jscomp$inline_402$$ = $goog$object$getKeys$$($col$jscomp$6$$);
            }
          }
        }
        $l$jscomp$inline_403_values$jscomp$9$$ = $goog$structs$getValues$$($col$jscomp$6$$);
        $i$jscomp$inline_404_l$jscomp$15$$ = $l$jscomp$inline_403_values$jscomp$9$$.length;
        for (var $i$jscomp$198$$ = 0; $i$jscomp$198$$ < $i$jscomp$inline_404_l$jscomp$15$$; $i$jscomp$198$$++) {
          $f$jscomp$459$$.call(void 0, $l$jscomp$inline_403_values$jscomp$9$$[$i$jscomp$198$$], $keys$jscomp$4_rv$jscomp$inline_402$$ && $keys$jscomp$4_rv$jscomp$inline_402$$[$i$jscomp$198$$], $col$jscomp$6$$);
        }
      }
    }
  }
  ;function $goog$structs$Map$$($opt_map$$, $var_args$jscomp$99$$) {
    this.$b$ = {};
    this.$a$ = [];
    this.$c$ = 0;
    var $argLength$jscomp$2_keys$jscomp$inline_408$$ = arguments.length;
    if (1 < $argLength$jscomp$2_keys$jscomp$inline_408$$) {
      if ($argLength$jscomp$2_keys$jscomp$inline_408$$ % 2) {
        throw Error("Uneven number of arguments");
      }
      for (var $i$jscomp$206_values$jscomp$inline_409$$ = 0; $i$jscomp$206_values$jscomp$inline_409$$ < $argLength$jscomp$2_keys$jscomp$inline_408$$; $i$jscomp$206_values$jscomp$inline_409$$ += 2) {
        this.set(arguments[$i$jscomp$206_values$jscomp$inline_409$$], arguments[$i$jscomp$206_values$jscomp$inline_409$$ + 1]);
      }
    } else {
      if ($opt_map$$) {
        $opt_map$$ instanceof $goog$structs$Map$$ ? ($argLength$jscomp$2_keys$jscomp$inline_408$$ = $opt_map$$.$getKeys$(), $i$jscomp$206_values$jscomp$inline_409$$ = $opt_map$$.$getValues$()) : ($argLength$jscomp$2_keys$jscomp$inline_408$$ = $goog$object$getKeys$$($opt_map$$), $i$jscomp$206_values$jscomp$inline_409$$ = $goog$object$getValues$$($opt_map$$));
        for (var $i$jscomp$inline_410$$ = 0; $i$jscomp$inline_410$$ < $argLength$jscomp$2_keys$jscomp$inline_408$$.length; $i$jscomp$inline_410$$++) {
          this.set($argLength$jscomp$2_keys$jscomp$inline_408$$[$i$jscomp$inline_410$$], $i$jscomp$206_values$jscomp$inline_409$$[$i$jscomp$inline_410$$]);
        }
      }
    }
  }
  $JSCompiler_prototypeAlias$$ = $goog$structs$Map$$.prototype;
  $JSCompiler_prototypeAlias$$.$getCount$ = function $$JSCompiler_prototypeAlias$$$$getCount$$() {
    return this.$c$;
  };
  $JSCompiler_prototypeAlias$$.$getValues$ = function $$JSCompiler_prototypeAlias$$$$getValues$$() {
    $JSCompiler_StaticMethods_cleanupKeysArray_$$(this);
    for (var $rv$jscomp$17$$ = [], $i$jscomp$207$$ = 0; $i$jscomp$207$$ < this.$a$.length; $i$jscomp$207$$++) {
      $rv$jscomp$17$$.push(this.$b$[this.$a$[$i$jscomp$207$$]]);
    }
    return $rv$jscomp$17$$;
  };
  $JSCompiler_prototypeAlias$$.$getKeys$ = function $$JSCompiler_prototypeAlias$$$$getKeys$$() {
    $JSCompiler_StaticMethods_cleanupKeysArray_$$(this);
    return this.$a$.concat();
  };
  function $JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$$($JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$self$$, $key$jscomp$102$$) {
    return $goog$structs$Map$hasKey_$$($JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$self$$.$b$, $key$jscomp$102$$) ? (delete $JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$self$$.$b$[$key$jscomp$102$$], $JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$self$$.$c$--, $JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$self$$.$a$.length > 2 * $JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$self$$.$c$ && $JSCompiler_StaticMethods_cleanupKeysArray_$$($JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$self$$), 
    !0) : !1;
  }
  function $JSCompiler_StaticMethods_cleanupKeysArray_$$($JSCompiler_StaticMethods_cleanupKeysArray_$self$$) {
    if ($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$c$ != $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$.length) {
      for (var $srcIndex$$ = 0, $destIndex$$ = 0; $srcIndex$$ < $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$.length;) {
        var $key$jscomp$103$$ = $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$[$srcIndex$$];
        $goog$structs$Map$hasKey_$$($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$b$, $key$jscomp$103$$) && ($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$[$destIndex$$++] = $key$jscomp$103$$);
        $srcIndex$$++;
      }
      $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$.length = $destIndex$$;
    }
    if ($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$c$ != $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$.length) {
      var $seen$jscomp$2$$ = {};
      for ($destIndex$$ = $srcIndex$$ = 0; $srcIndex$$ < $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$.length;) {
        $key$jscomp$103$$ = $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$[$srcIndex$$], $goog$structs$Map$hasKey_$$($seen$jscomp$2$$, $key$jscomp$103$$) || ($JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$[$destIndex$$++] = $key$jscomp$103$$, $seen$jscomp$2$$[$key$jscomp$103$$] = 1), $srcIndex$$++;
      }
      $JSCompiler_StaticMethods_cleanupKeysArray_$self$$.$a$.length = $destIndex$$;
    }
  }
  $JSCompiler_prototypeAlias$$.get = function $$JSCompiler_prototypeAlias$$$get$($key$jscomp$104$$, $opt_val$jscomp$1$$) {
    return $goog$structs$Map$hasKey_$$(this.$b$, $key$jscomp$104$$) ? this.$b$[$key$jscomp$104$$] : $opt_val$jscomp$1$$;
  };
  $JSCompiler_prototypeAlias$$.set = function $$JSCompiler_prototypeAlias$$$set$($key$jscomp$105$$, $value$jscomp$1133$$) {
    $goog$structs$Map$hasKey_$$(this.$b$, $key$jscomp$105$$) || (this.$c$++, this.$a$.push($key$jscomp$105$$));
    this.$b$[$key$jscomp$105$$] = $value$jscomp$1133$$;
  };
  $JSCompiler_prototypeAlias$$.forEach = function $$JSCompiler_prototypeAlias$$$forEach$($f$jscomp$474$$, $opt_obj$jscomp$48$$) {
    for (var $keys$jscomp$10$$ = this.$getKeys$(), $i$jscomp$211$$ = 0; $i$jscomp$211$$ < $keys$jscomp$10$$.length; $i$jscomp$211$$++) {
      var $key$jscomp$106$$ = $keys$jscomp$10$$[$i$jscomp$211$$], $value$jscomp$1134$$ = this.get($key$jscomp$106$$);
      $f$jscomp$474$$.call($opt_obj$jscomp$48$$, $value$jscomp$1134$$, $key$jscomp$106$$, this);
    }
  };
  function $goog$structs$Map$hasKey_$$($obj$jscomp$305$$, $key$jscomp$110$$) {
    return Object.prototype.hasOwnProperty.call($obj$jscomp$305$$, $key$jscomp$110$$);
  }
  ;var $goog$uri$utils$splitRe_$$ = /^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;
  function $goog$net$XhrIo$$($opt_xmlHttpFactory$$) {
    $goog$events$EventTarget$$.call(this);
    this.headers = new $goog$structs$Map$$;
    this.$C$ = $opt_xmlHttpFactory$$ || null;
    this.$c$ = !1;
    this.$B$ = this.$a$ = null;
    this.$I$ = this.$u$ = "";
    this.$i$ = 0;
    this.$l$ = "";
    this.$f$ = this.$F$ = this.$s$ = this.$D$ = !1;
    this.$h$ = 0;
    this.$w$ = null;
    this.$o$ = $goog$net$XhrIo$ResponseType$DEFAULT$$;
    this.$A$ = this.$j$ = !1;
  }
  $goog$inherits$$($goog$net$XhrIo$$, $goog$events$EventTarget$$);
  var $goog$net$XhrIo$ResponseType$DEFAULT$$ = "", $JSCompiler_temp_const$jscomp$45$$ = $goog$net$XhrIo$$.prototype, $logger$jscomp$inline_417$$ = $goog$debug$LogManager$getLogger$$("goog.net.XhrIo");
  $JSCompiler_temp_const$jscomp$45$$.$logger_$ = $logger$jscomp$inline_417$$;
  var $goog$net$XhrIo$HTTP_SCHEME_PATTERN$$ = /^https?$/i, $goog$net$XhrIo$METHODS_WITH_FORM_DATA$$ = ["POST", "PUT"];
  $JSCompiler_prototypeAlias$$ = $goog$net$XhrIo$$.prototype;
  $JSCompiler_prototypeAlias$$.$getResponseType$ = function $$JSCompiler_prototypeAlias$$$$getResponseType$$() {
    return this.$o$;
  };
  $JSCompiler_prototypeAlias$$.$getWithCredentials$ = function $$JSCompiler_prototypeAlias$$$$getWithCredentials$$() {
    return this.$j$;
  };
  $JSCompiler_prototypeAlias$$.send = function $$JSCompiler_prototypeAlias$$$send$($content_url$jscomp$25$$, $method$jscomp$3_opt_method$jscomp$1$$, $contentIsFormData_opt_content$jscomp$1$$, $contentTypeKey_opt_headers$jscomp$1$$) {
    if (this.$a$) {
      throw Error("[goog.net.XhrIo] Object is active with another request=" + this.$u$ + "; newUri=" + $content_url$jscomp$25$$);
    }
    $method$jscomp$3_opt_method$jscomp$1$$ = $method$jscomp$3_opt_method$jscomp$1$$ ? $method$jscomp$3_opt_method$jscomp$1$$.toUpperCase() : "GET";
    this.$u$ = $content_url$jscomp$25$$;
    this.$l$ = "";
    this.$i$ = 0;
    this.$I$ = $method$jscomp$3_opt_method$jscomp$1$$;
    this.$D$ = !1;
    this.$c$ = !0;
    this.$a$ = this.$C$ ? $JSCompiler_StaticMethods_createInstance$$(this.$C$) : $JSCompiler_StaticMethods_createInstance$$($goog$net$XmlHttp$factory_$$);
    this.$B$ = this.$C$ ? $JSCompiler_StaticMethods_getOptions$$(this.$C$) : $JSCompiler_StaticMethods_getOptions$$($goog$net$XmlHttp$factory_$$);
    this.$a$.onreadystatechange = $goog$bind$$(this.$onReadyStateChange_$, this);
    try {
      $goog$log$fine$$(this.$logger_$, $JSCompiler_StaticMethods_formatMsg_$$(this, "Opening Xhr")), this.$F$ = !0, this.$a$.open($method$jscomp$3_opt_method$jscomp$1$$, String($content_url$jscomp$25$$), !0), this.$F$ = !1;
    } catch ($err$jscomp$21$$) {
      $goog$log$fine$$(this.$logger_$, $JSCompiler_StaticMethods_formatMsg_$$(this, "Error opening Xhr: " + $err$jscomp$21$$.message));
      $JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$$(this, $err$jscomp$21$$);
      return;
    }
    $content_url$jscomp$25$$ = $contentIsFormData_opt_content$jscomp$1$$ || "";
    var $headers$$ = new $goog$structs$Map$$(this.headers);
    $contentTypeKey_opt_headers$jscomp$1$$ && $goog$structs$forEach$$($contentTypeKey_opt_headers$jscomp$1$$, function($value$jscomp$1140$$, $key$jscomp$115$$) {
      $headers$$.set($key$jscomp$115$$, $value$jscomp$1140$$);
    });
    $contentTypeKey_opt_headers$jscomp$1$$ = $goog$array$find$$($headers$$.$getKeys$());
    $contentIsFormData_opt_content$jscomp$1$$ = $goog$global$$.FormData && $content_url$jscomp$25$$ instanceof $goog$global$$.FormData;
    !(0 <= $goog$array$indexOf$$($goog$net$XhrIo$METHODS_WITH_FORM_DATA$$, $method$jscomp$3_opt_method$jscomp$1$$)) || $contentTypeKey_opt_headers$jscomp$1$$ || $contentIsFormData_opt_content$jscomp$1$$ || $headers$$.set("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
    $headers$$.forEach(function($value$jscomp$1141$$, $key$jscomp$116$$) {
      this.$a$.setRequestHeader($key$jscomp$116$$, $value$jscomp$1141$$);
    }, this);
    this.$o$ && (this.$a$.responseType = this.$o$);
    "withCredentials" in this.$a$ && this.$a$.withCredentials !== this.$j$ && (this.$a$.withCredentials = this.$j$);
    try {
      $JSCompiler_StaticMethods_cleanUpTimeoutTimer_$$(this), 0 < this.$h$ && (this.$A$ = $goog$net$XhrIo$shouldUseXhr2Timeout_$$(this.$a$), $goog$log$fine$$(this.$logger_$, $JSCompiler_StaticMethods_formatMsg_$$(this, "Will abort after " + this.$h$ + "ms if incomplete, xhr2 " + this.$A$)), this.$A$ ? (this.$a$.timeout = this.$h$, this.$a$.ontimeout = $goog$bind$$(this.$timeout_$, this)) : this.$w$ = $goog$Timer$callOnce$$(this.$timeout_$, this.$h$, this)), $goog$log$fine$$(this.$logger_$, $JSCompiler_StaticMethods_formatMsg_$$(this, 
      "Sending request")), this.$s$ = !0, this.$a$.send($content_url$jscomp$25$$), this.$s$ = !1;
    } catch ($err$3$$) {
      $goog$log$fine$$(this.$logger_$, $JSCompiler_StaticMethods_formatMsg_$$(this, "Send error: " + $err$3$$.message)), $JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$$(this, $err$3$$);
    }
  };
  function $goog$net$XhrIo$shouldUseXhr2Timeout_$$($xhr$jscomp$1$$) {
    return $goog$userAgent$IE$$ && $goog$userAgent$isVersionOrHigher$$(9) && $goog$isNumber$$($xhr$jscomp$1$$.timeout) && $goog$isDef$$($xhr$jscomp$1$$.ontimeout);
  }
  function $goog$net$XhrIo$isContentTypeHeader_$$($header$jscomp$5$$) {
    return "content-type" == $header$jscomp$5$$.toLowerCase();
  }
  $JSCompiler_prototypeAlias$$.$timeout_$ = function $$JSCompiler_prototypeAlias$$$$timeout_$$() {
    "undefined" != typeof $goog$$ && this.$a$ && (this.$l$ = "Timed out after " + this.$h$ + "ms, aborting", this.$i$ = 8, $goog$log$fine$$(this.$logger_$, $JSCompiler_StaticMethods_formatMsg_$$(this, this.$l$)), $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$(this, "timeout"), this.abort(8));
  };
  function $JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$$($JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$, $err$jscomp$22$$) {
    $JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$.$c$ = !1;
    $JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$.$a$ && ($JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$.$f$ = !0, $JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$.$a$.abort(), $JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$.$f$ = !1);
    $JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$.$l$ = $err$jscomp$22$$;
    $JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$.$i$ = 5;
    $JSCompiler_StaticMethods_dispatchErrors_$$($JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$);
    $JSCompiler_StaticMethods_cleanUpXhr_$$($JSCompiler_StaticMethods_goog_net_XhrIo_prototype$error_$self$$);
  }
  function $JSCompiler_StaticMethods_dispatchErrors_$$($JSCompiler_StaticMethods_dispatchErrors_$self$$) {
    $JSCompiler_StaticMethods_dispatchErrors_$self$$.$D$ || ($JSCompiler_StaticMethods_dispatchErrors_$self$$.$D$ = !0, $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$($JSCompiler_StaticMethods_dispatchErrors_$self$$, "complete"), $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$($JSCompiler_StaticMethods_dispatchErrors_$self$$, "error"));
  }
  $JSCompiler_prototypeAlias$$.abort = function $$JSCompiler_prototypeAlias$$$abort$($opt_failureCode$$) {
    this.$a$ && this.$c$ && ($goog$log$fine$$(this.$logger_$, $JSCompiler_StaticMethods_formatMsg_$$(this, "Aborting")), this.$c$ = !1, this.$f$ = !0, this.$a$.abort(), this.$f$ = !1, this.$i$ = $opt_failureCode$$ || 7, $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$(this, "complete"), $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$(this, "abort"), $JSCompiler_StaticMethods_cleanUpXhr_$$(this));
  };
  $JSCompiler_prototypeAlias$$.$disposeInternal$ = function $$JSCompiler_prototypeAlias$$$$disposeInternal$$() {
    this.$a$ && (this.$c$ && (this.$c$ = !1, this.$f$ = !0, this.$a$.abort(), this.$f$ = !1), $JSCompiler_StaticMethods_cleanUpXhr_$$(this, !0));
    $goog$net$XhrIo$$.$superClass_$.$disposeInternal$.call(this);
  };
  $JSCompiler_prototypeAlias$$.$onReadyStateChange_$ = function $$JSCompiler_prototypeAlias$$$$onReadyStateChange_$$() {
    this.$g$ || (this.$F$ || this.$s$ || this.$f$ ? $JSCompiler_StaticMethods_onReadyStateChangeHelper_$$(this) : this.$onReadyStateChangeEntryPoint_$());
  };
  $JSCompiler_prototypeAlias$$.$onReadyStateChangeEntryPoint_$ = function $$JSCompiler_prototypeAlias$$$$onReadyStateChangeEntryPoint_$$() {
    $JSCompiler_StaticMethods_onReadyStateChangeHelper_$$(this);
  };
  function $JSCompiler_StaticMethods_onReadyStateChangeHelper_$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$) {
    if ($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$c$ && "undefined" != typeof $goog$$) {
      if ($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$B$[1] && 4 == $JSCompiler_StaticMethods_getReadyState$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$) && 2 == $JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$getStatus$()) {
        $goog$log$fine$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$logger_$, $JSCompiler_StaticMethods_formatMsg_$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$, "Local request error detected and ignored"));
      } else {
        if ($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$s$ && 4 == $JSCompiler_StaticMethods_getReadyState$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$)) {
          $goog$Timer$callOnce$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$onReadyStateChange_$, 0, $JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$);
        } else {
          if ($JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$, "readystatechange"), 4 == $JSCompiler_StaticMethods_getReadyState$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$)) {
            $goog$log$fine$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$logger_$, $JSCompiler_StaticMethods_formatMsg_$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$, "Request complete"));
            $JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$c$ = !1;
            try {
              if ($JSCompiler_StaticMethods_isSuccess$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$)) {
                $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$, "complete"), $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$, "success");
              } else {
                $JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$i$ = 6;
                try {
                  var $JSCompiler_inline_result$jscomp$52$$ = 2 < $JSCompiler_StaticMethods_getReadyState$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$) ? $JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$a$.statusText : "";
                } catch ($e$jscomp$inline_423$$) {
                  $goog$log$fine$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$logger_$, "Can not get status: " + $e$jscomp$inline_423$$.message), $JSCompiler_inline_result$jscomp$52$$ = "";
                }
                $JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$l$ = $JSCompiler_inline_result$jscomp$52$$ + " [" + $JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$.$getStatus$() + "]";
                $JSCompiler_StaticMethods_dispatchErrors_$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$);
              }
            } finally {
              $JSCompiler_StaticMethods_cleanUpXhr_$$($JSCompiler_StaticMethods_onReadyStateChangeHelper_$self$$);
            }
          }
        }
      }
    }
  }
  function $JSCompiler_StaticMethods_cleanUpXhr_$$($JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$, $opt_fromDispose$$) {
    if ($JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$.$a$) {
      $JSCompiler_StaticMethods_cleanUpTimeoutTimer_$$($JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$);
      var $xhr$jscomp$2$$ = $JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$.$a$, $clearedOnReadyStateChange$$ = $JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$.$B$[0] ? $goog$nullFunction$$ : null;
      $JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$.$a$ = null;
      $JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$.$B$ = null;
      $opt_fromDispose$$ || $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$($JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$, "ready");
      try {
        $xhr$jscomp$2$$.onreadystatechange = $clearedOnReadyStateChange$$;
      } catch ($e$jscomp$47$$) {
        ($JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$ = $JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$.$logger_$) && $JSCompiler_StaticMethods_cleanUpXhr_$self_logger$jscomp$inline_425$$.log($goog$debug$Logger$Level$SEVERE$$, "Problem encountered resetting onreadystatechange: " + $e$jscomp$47$$.message, void 0);
      }
    }
  }
  function $JSCompiler_StaticMethods_cleanUpTimeoutTimer_$$($JSCompiler_StaticMethods_cleanUpTimeoutTimer_$self$$) {
    $JSCompiler_StaticMethods_cleanUpTimeoutTimer_$self$$.$a$ && $JSCompiler_StaticMethods_cleanUpTimeoutTimer_$self$$.$A$ && ($JSCompiler_StaticMethods_cleanUpTimeoutTimer_$self$$.$a$.ontimeout = null);
    $goog$isNumber$$($JSCompiler_StaticMethods_cleanUpTimeoutTimer_$self$$.$w$) && ($goog$global$$.clearTimeout($JSCompiler_StaticMethods_cleanUpTimeoutTimer_$self$$.$w$), $JSCompiler_StaticMethods_cleanUpTimeoutTimer_$self$$.$w$ = null);
  }
  function $JSCompiler_StaticMethods_isSuccess$$($JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$) {
    var $JSCompiler_temp$jscomp$49_status$jscomp$1$$ = $JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$.$getStatus$();
    a: {
      switch($JSCompiler_temp$jscomp$49_status$jscomp$1$$) {
        case 200:
        case 201:
        case 202:
        case 204:
        case 206:
        case 304:
        case 1223:
          var $JSCompiler_inline_result$jscomp$39_JSCompiler_temp$jscomp$48$$ = !0;
          break a;
        default:
          $JSCompiler_inline_result$jscomp$39_JSCompiler_temp$jscomp$48$$ = !1;
      }
    }
    if (!$JSCompiler_inline_result$jscomp$39_JSCompiler_temp$jscomp$48$$) {
      if ($JSCompiler_temp$jscomp$49_status$jscomp$1$$ = 0 === $JSCompiler_temp$jscomp$49_status$jscomp$1$$) {
        $JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$ = String($JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$.$u$).match($goog$uri$utils$splitRe_$$)[1] || null, !$JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$ && $goog$global$$.self && $goog$global$$.self.location && ($JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$ = 
        $goog$global$$.self.location.protocol, $JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$ = $JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$.substr(0, $JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$.length - 1)), $JSCompiler_temp$jscomp$49_status$jscomp$1$$ = !$goog$net$XhrIo$HTTP_SCHEME_PATTERN$$.test($JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$ ? 
        $JSCompiler_StaticMethods_isSuccess$self_protocol$jscomp$inline_890_scheme$jscomp$inline_889$$.toLowerCase() : "");
      }
      $JSCompiler_inline_result$jscomp$39_JSCompiler_temp$jscomp$48$$ = $JSCompiler_temp$jscomp$49_status$jscomp$1$$;
    }
    return $JSCompiler_inline_result$jscomp$39_JSCompiler_temp$jscomp$48$$;
  }
  function $JSCompiler_StaticMethods_getReadyState$$($JSCompiler_StaticMethods_getReadyState$self$$) {
    return $JSCompiler_StaticMethods_getReadyState$self$$.$a$ ? $JSCompiler_StaticMethods_getReadyState$self$$.$a$.readyState : 0;
  }
  $JSCompiler_prototypeAlias$$.$getStatus$ = function $$JSCompiler_prototypeAlias$$$$getStatus$$() {
    try {
      return 2 < $JSCompiler_StaticMethods_getReadyState$$(this) ? this.$a$.status : -1;
    } catch ($e$jscomp$48$$) {
      return -1;
    }
  };
  $JSCompiler_prototypeAlias$$.getResponseHeader = function $$JSCompiler_prototypeAlias$$$getResponseHeader$($key$jscomp$117_value$jscomp$1142$$) {
    if (this.$a$ && 4 == $JSCompiler_StaticMethods_getReadyState$$(this)) {
      return $key$jscomp$117_value$jscomp$1142$$ = this.$a$.getResponseHeader($key$jscomp$117_value$jscomp$1142$$), null === $key$jscomp$117_value$jscomp$1142$$ ? void 0 : $key$jscomp$117_value$jscomp$1142$$;
    }
  };
  function $JSCompiler_StaticMethods_formatMsg_$$($JSCompiler_StaticMethods_formatMsg_$self$$, $msg$jscomp$677$$) {
    return $msg$jscomp$677$$ + " [" + $JSCompiler_StaticMethods_formatMsg_$self$$.$I$ + " " + $JSCompiler_StaticMethods_formatMsg_$self$$.$u$ + " " + $JSCompiler_StaticMethods_formatMsg_$self$$.$getStatus$() + "]";
  }
  ;function $bloombox$rpc$RPCException$$($message$jscomp$250$$) {
    this.message = $message$jscomp$250$$;
  }
  $bloombox$rpc$RPCException$$.prototype.toString = function $$bloombox$rpc$RPCException$$$$toString$() {
    return "RPCException: " + this.message;
  };
  function $bloombox$rpc$RPC$$($httpMethod$$, $endpoint$$, $opt_payload$$, $opt_keep$$) {
    var $config$jscomp$3_location$jscomp$21$$ = $bloombox$config$$.active(), $apiKey$$ = $config$jscomp$3_location$jscomp$21$$.key, $partner$$ = $config$jscomp$3_location$jscomp$21$$.$partner$;
    $config$jscomp$3_location$jscomp$21$$ = $config$jscomp$3_location$jscomp$21$$.location;
    if (!$apiKey$$ || "string" !== typeof $apiKey$$) {
      throw new $bloombox$rpc$RPCException$$("API key could not be resolved. Please call `setup` before any RPC methods.");
    }
    if (!$partner$$ || "string" !== typeof $partner$$) {
      throw new $bloombox$rpc$RPCException$$("Partner code could not be resolved. Please call `setup` before any RPC methods.");
    }
    if (!$config$jscomp$3_location$jscomp$21$$ || "string" !== typeof $config$jscomp$3_location$jscomp$21$$) {
      throw new $bloombox$rpc$RPCException$$("Location code could not be resolved. Please call `setup` before any RPC methods.");
    }
    if ("object" !== typeof $opt_payload$$ && null !== $opt_payload$$ && void 0 !== $opt_payload$$) {
      throw new $bloombox$rpc$RPCException$$("Invalid payload for RPC: " + $opt_payload$$);
    }
    this.$g$ = $httpMethod$$;
    this.$f$ = $endpoint$$;
    this.$b$ = $opt_payload$$ || null;
    this.done = !1;
    this.$a$ = new $goog$net$XhrIo$$;
    this.$c$ = $apiKey$$;
    this.$partner$ = $partner$$;
    this.location = $config$jscomp$3_location$jscomp$21$$;
    this.$h$ = $opt_keep$$ || !1;
    this.headers = {Accept:"application/json,*/*"};
    $bloombox$logging$log$$("Constructed RPC for endpoint '" + this.$f$ + "'.", {rpc:this});
  }
  function $JSCompiler_StaticMethods_bloombox_rpc_RPC_prototype$onload$$($JSCompiler_StaticMethods_bloombox_rpc_RPC_prototype$onload$self$$, $success$$, $error$jscomp$6$$) {
    return function onload($contentType$jscomp$2_event$$) {
      if ($contentType$jscomp$2_event$$ && !1 === this.done) {
        this.done = !0;
        $contentType$jscomp$2_event$$ = this.$a$.getResponseHeader("Content-Type");
        var $contentLength$$ = this.$a$.getResponseHeader("Content-Length");
        var $JSCompiler_StaticMethods_getResponseJson$self$jscomp$inline_436_jsonString$jscomp$inline_947$$ = this.$a$;
        if ($JSCompiler_StaticMethods_getResponseJson$self$jscomp$inline_436_jsonString$jscomp$inline_947$$.$a$) {
          b: {
            $JSCompiler_StaticMethods_getResponseJson$self$jscomp$inline_436_jsonString$jscomp$inline_947$$ = $JSCompiler_StaticMethods_getResponseJson$self$jscomp$inline_436_jsonString$jscomp$inline_947$$.$a$.responseText;
            if ($goog$global$$.JSON) {
              try {
                var $obj$jscomp$inline_948_status$jscomp$2$$ = $goog$global$$.JSON.parse($JSCompiler_StaticMethods_getResponseJson$self$jscomp$inline_436_jsonString$jscomp$inline_947$$);
                $goog$asserts$assert$$("object" == typeof $obj$jscomp$inline_948_status$jscomp$2$$);
                var $JSCompiler_temp$jscomp$942_response$jscomp$2$$ = $obj$jscomp$inline_948_status$jscomp$2$$;
                break b;
              } catch ($e$jscomp$inline_949$$) {
              }
            }
            $JSCompiler_temp$jscomp$942_response$jscomp$2$$ = $goog$json$parse$$($JSCompiler_StaticMethods_getResponseJson$self$jscomp$inline_436_jsonString$jscomp$inline_947$$);
          }
        } else {
          $JSCompiler_temp$jscomp$942_response$jscomp$2$$ = void 0;
        }
        $obj$jscomp$inline_948_status$jscomp$2$$ = this.$a$.$getStatus$();
        200 === $obj$jscomp$inline_948_status$jscomp$2$$ || 201 === $obj$jscomp$inline_948_status$jscomp$2$$ || 202 === $obj$jscomp$inline_948_status$jscomp$2$$ || 204 === $obj$jscomp$inline_948_status$jscomp$2$$ ? ($bloombox$logging$log$$("RPC received successful status " + $obj$jscomp$inline_948_status$jscomp$2$$, {xhr:this.$a$}), $JSCompiler_temp$jscomp$942_response$jscomp$2$$ || $contentLength$$ && 0 !== parseInt($contentLength$$, 10) ? "application/json" === $contentType$jscomp$2_event$$ || $contentType$jscomp$2_event$$.startsWith("application/json") ? 
        ($bloombox$logging$log$$("Loaded payload for successful RPC transaction.", {rpc:this, response:$JSCompiler_temp$jscomp$942_response$jscomp$2$$}), $success$$($JSCompiler_temp$jscomp$942_response$jscomp$2$$)) : ($bloombox$logging$error$$("Server indicated unrecognized content type:", $contentType$jscomp$2_event$$), $error$jscomp$6$$(null)) : ($bloombox$logging$warn$$("Response returned for RPC was empty or invalid.", this), $success$$(null))) : ($bloombox$logging$error$$("Failed to resolve RPC: unrecognized status " + 
        $obj$jscomp$inline_948_status$jscomp$2$$, {xhr:this.$a$}), $error$jscomp$6$$($obj$jscomp$inline_948_status$jscomp$2$$));
        this.$h$ || (this.$a$ = null);
      }
    }.bind($JSCompiler_StaticMethods_bloombox_rpc_RPC_prototype$onload$self$$);
  }
  $bloombox$rpc$RPC$$.prototype.send = function $$bloombox$rpc$RPC$$$$send$($callback$jscomp$56_targetEndpoint$$, $context$jscomp$3_error$jscomp$7$$) {
    if (null === this.$a$) {
      throw new $bloombox$rpc$RPCException$$("Cannot re-send an already-sent RPC without 'keep' mode active.");
    }
    if (!this.$c$) {
      throw new $bloombox$rpc$RPCException$$("Failed to resolve API key before request.");
    }
    if (!this.$partner$) {
      throw new $bloombox$rpc$RPCException$$("Partner was not set.");
    }
    if (!this.location) {
      throw new $bloombox$rpc$RPCException$$("Location was not set.");
    }
    $goog$events$listen$$(this.$a$, "complete", $JSCompiler_StaticMethods_bloombox_rpc_RPC_prototype$onload$$(this, $callback$jscomp$56_targetEndpoint$$.bind(this), $context$jscomp$3_error$jscomp$7$$.bind(this)));
    $callback$jscomp$56_targetEndpoint$$ = [this.$f$, ["key", this.$c$].join("=")].join("?");
    $bloombox$logging$log$$("Initializing RPC with HTTP request: '" + this.$g$ + " " + $callback$jscomp$56_targetEndpoint$$ + "'");
    for (var $key$jscomp$119_payloadData$$ in this.headers) {
      this.headers.hasOwnProperty($key$jscomp$119_payloadData$$) && ($context$jscomp$3_error$jscomp$7$$ = {}, $context$jscomp$3_error$jscomp$7$$[$key$jscomp$119_payloadData$$] = this.headers[$key$jscomp$119_payloadData$$], $bloombox$logging$log$$("Setting request header: ", $context$jscomp$3_error$jscomp$7$$));
    }
    $bloombox$logging$log$$("Sending RPC...", this);
    $key$jscomp$119_payloadData$$ = null !== this.$b$ ? JSON.stringify(this.$b$) : null;
    this.$a$.send($callback$jscomp$56_targetEndpoint$$, this.$g$, $key$jscomp$119_payloadData$$, this.headers);
  };
  function $bloombox$shop$ShopRPCException$$($message$jscomp$251$$) {
    this.message = $message$jscomp$251$$;
  }
  $bloombox$shop$ShopRPCException$$.prototype.toString = function $$bloombox$shop$ShopRPCException$$$$toString$() {
    return "ShopRPCException: " + this.message;
  };
  function $bloombox$shop$rpc$ShopRPC$$($rpcMethod$$, $httpMethod$jscomp$1$$, $endpoint$jscomp$2$$, $payload$$) {
    var $targetEndpoint$jscomp$1$$ = ["https://shop.api.bloombox.cloud/shop/v1", $endpoint$jscomp$2$$.startsWith("/") ? $endpoint$jscomp$2$$.slice(1) : $endpoint$jscomp$2$$].join("/");
    if ("string" !== typeof $httpMethod$jscomp$1$$) {
      throw new $bloombox$shop$ShopRPCException$$("Invalid HTTP method: " + $httpMethod$jscomp$1$$);
    }
    if ("string" !== typeof $endpoint$jscomp$2$$) {
      throw new $bloombox$shop$ShopRPCException$$("Invalid RPC endpoint: " + $endpoint$jscomp$2$$);
    }
    if (null !== $payload$$ && void 0 !== $payload$$ && "object" !== typeof $payload$$) {
      throw new $bloombox$shop$ShopRPCException$$("Cannot provide non-object type as payload: " + $payload$$);
    }
    this.$a$ = $rpcMethod$$;
    this.$b$ = new $bloombox$rpc$RPC$$($httpMethod$jscomp$1$$, $targetEndpoint$jscomp$1$$, $payload$$ || null);
  }
  $bloombox$shop$rpc$ShopRPC$$.prototype.send = function $$bloombox$shop$rpc$ShopRPC$$$$send$($callback$jscomp$57$$, $error$jscomp$8$$) {
    this.$b$.send(function($response$jscomp$3$$) {
      $bloombox$logging$log$$("Shop RPC for method '" + this.$a$ + "' completed.");
      $callback$jscomp$57$$($response$jscomp$3$$);
    }.bind(this), function($error_code$$) {
      $bloombox$logging$error$$("Failed to resolve Shop API RPC for method '" + this.$a$ + "': status " + $error_code$$);
      $error$jscomp$8$$($error_code$$);
    }.bind(this));
  };
  $goog$exportSymbol$$("bloombox.shop.enroll.EnrollmentException", function VerifyException($message$jscomp$252$$) {
    this.message = $message$jscomp$252$$;
  });
  $goog$exportSymbol$$("bloombox.shop.enroll.EnrollmentSource", {UNSPECIFIED:0, ONLINE:1, INTERNAL_APP:2, PARTNER_APP:3, IN_STORE:4});
  function $bloombox$shop$enroll$Enrollment$$($source$jscomp$17$$, $channel$jscomp$3$$, $person$jscomp$2$$, $rec$$, $license$$, $opt_password$jscomp$2$$, $opt_profile$$) {
    this.source = $source$jscomp$17$$;
    this.channel = $channel$jscomp$3$$;
    this.person = $person$jscomp$2$$;
    this.doctorRec = $rec$$;
    this.license = $license$$;
    this.$a$ = null !== $opt_password$jscomp$2$$ && void 0 !== $opt_password$jscomp$2$$ ? btoa($opt_password$jscomp$2$$) : null;
    this.profile = $opt_profile$$ || null;
    this.dryRun = !1;
  }
  $goog$exportSymbol$$("bloombox.shop.enroll.Enrollment", $bloombox$shop$enroll$Enrollment$$);
  $bloombox$shop$enroll$Enrollment$$.prototype.$enableDryRun$ = function $$bloombox$shop$enroll$Enrollment$$$$$enableDryRun$$() {
    this.dryRun = !0;
    return this;
  };
  $bloombox$shop$enroll$Enrollment$$.prototype.enableDryRun = $bloombox$shop$enroll$Enrollment$$.prototype.$enableDryRun$;
  $bloombox$shop$enroll$Enrollment$$.prototype.send = function $$bloombox$shop$enroll$Enrollment$$$$send$($callback$jscomp$58$$) {
    var $config$jscomp$4_location$jscomp$22$$ = $bloombox$config$$.active(), $partner$jscomp$1_rpc$$ = $config$jscomp$4_location$jscomp$22$$.$partner$;
    $config$jscomp$4_location$jscomp$22$$ = $config$jscomp$4_location$jscomp$22$$.location;
    if ($partner$jscomp$1_rpc$$ && $config$jscomp$4_location$jscomp$22$$) {
      var $rawObject$$ = {person:{name:{firstName:$jspb$Message$getFieldWithDefault$$(this.person.name, 2, ""), lastName:$jspb$Message$getFieldWithDefault$$(this.person.name, 3, "")}, contact:{email:{address:this.person.contactInfo.emailAddress}, phone:{e164:this.person.contactInfo.phoneNumber}, location:{address:{firstLine:this.person.contactInfo.streetAddress.firstLine, secondLine:this.person.contactInfo.streetAddress.secondLine, city:this.person.contactInfo.streetAddress.city, state:this.person.contactInfo.streetAddress.state, 
      zipcode:this.person.contactInfo.streetAddress.zip, country:this.person.contactInfo.streetAddress.country}}}, dateOfBirth:{iso8601:$jspb$Message$getFieldWithDefault$$(this.person.dateOfBirth, 1, "")}}, source:this.source, channel:this.channel, doctorRec:{id:this.doctorRec.id, expirationDate:{iso8601:$jspb$Message$getFieldWithDefault$$(this.doctorRec.$c$, 1, "")}, state:this.doctorRec.state, country:this.doctorRec.country, doctor:{name:{firstName:$jspb$Message$getFieldWithDefault$$(this.doctorRec.$a$, 
      2, ""), lastName:$jspb$Message$getFieldWithDefault$$(this.doctorRec.$a$, 3, "")}, contact:{phone:{e164:this.doctorRec.$f$}}}}, governmentId:{id:this.license.id, expireDate:{iso8601:$jspb$Message$getFieldWithDefault$$(this.license.$b$, 1, "")}, birthDate:{iso8601:$jspb$Message$getFieldWithDefault$$(this.license.$a$, 1, "")}, license:{jurisdiction:this.license.$c$.toUpperCase()}}};
      null !== this.profile && ($rawObject$$.consumerProfile = this.profile.$b$());
      null !== this.$a$ && ($rawObject$$.password = this.$a$);
      null !== this.doctorRec.$b$ && ($rawObject$$.doctorRec.person.contact.website = {uri:this.doctorRec.$b$});
      !0 === this.dryRun && ($rawObject$$.dryRun = !0);
      $bloombox$logging$info$$("Enrolling user...", {payload:$rawObject$$, enrollment:this});
      $partner$jscomp$1_rpc$$ = new $bloombox$shop$rpc$ShopRPC$$("ENROLL_USER", "POST", ["partners", $partner$jscomp$1_rpc$$, "locations", $config$jscomp$4_location$jscomp$22$$, "members"].join("/"), $rawObject$$);
      var $done$$ = !1, $personObj$$ = this.person;
      $partner$jscomp$1_rpc$$.send(function($customer$jscomp$1_response$jscomp$4$$) {
        if (!$done$$) {
          if (null != $customer$jscomp$1_response$jscomp$4$$) {
            $done$$ = !0;
            $bloombox$logging$log$$("Response received for enrollment RPC.", $customer$jscomp$1_response$jscomp$4$$);
            var $inflated$$ = new $proto$services$shop$v1$EnrollMember$Response$$;
            $customer$jscomp$1_response$jscomp$4$$.error ? ($jspb$Message$setOneofField$$($inflated$$, 3, $proto$services$shop$v1$EnrollMember$Response$oneofGroups_$$[0], $customer$jscomp$1_response$jscomp$4$$.error), $callback$jscomp$58$$(!1, $jspb$Message$getFieldWithDefault$$($inflated$$, 3, 0), null)) : $customer$jscomp$1_response$jscomp$4$$.id && $customer$jscomp$1_response$jscomp$4$$.foreignId ? ($jspb$Message$setField$$($inflated$$, 1, $customer$jscomp$1_response$jscomp$4$$.id), $jspb$Message$setOneofField$$($inflated$$, 
            2, $proto$services$shop$v1$EnrollMember$Response$oneofGroups_$$[0], $customer$jscomp$1_response$jscomp$4$$.foreignId), $customer$jscomp$1_response$jscomp$4$$ = new $bloombox$shop$Customer$$($personObj$$, $customer$jscomp$1_response$jscomp$4$$.foreignId), $bloombox$logging$log$$("Decoded customer from response.", $customer$jscomp$1_response$jscomp$4$$), $callback$jscomp$58$$(!0, null, $customer$jscomp$1_response$jscomp$4$$)) : ($bloombox$logging$error$$("Failed to find customer or ID in response.", 
            $customer$jscomp$1_response$jscomp$4$$), $callback$jscomp$58$$(!1, null, null));
          } else {
            $bloombox$logging$warn$$("Failed to inflate RPC.", $customer$jscomp$1_response$jscomp$4$$), $callback$jscomp$58$$(!1, null, null);
          }
        }
      }, function($status$jscomp$3$$) {
        $bloombox$logging$error$$($status$jscomp$3$$ ? "Enrollment RPC failed with unexpected status: '" + $status$jscomp$3$$ + "'." : "Enrollment RPC response failed to be decoded.");
        $callback$jscomp$58$$(!1, null, null);
      });
    } else {
      $bloombox$logging$error$$("Partner or location code is not defined.");
    }
  };
  $bloombox$shop$enroll$Enrollment$$.prototype.send = $bloombox$shop$enroll$Enrollment$$.prototype.send;
  function $bloombox$shop$ShopInfoException$$($message$jscomp$253$$) {
    this.message = $message$jscomp$253$$;
  }
  $goog$exportSymbol$$("bloombox.shop.ShopInfoException", $bloombox$shop$ShopInfoException$$);
  $goog$exportSymbol$$("bloombox.shop.info", function($callback$jscomp$59$$) {
    var $config$jscomp$5_locationCode$$ = $bloombox$config$$.active(), $partnerCode$$ = $config$jscomp$5_locationCode$$.$partner$;
    $config$jscomp$5_locationCode$$ = $config$jscomp$5_locationCode$$.location;
    if (!($partnerCode$$ && "string" === typeof $partnerCode$$ && 1 < $partnerCode$$.length && "string" === typeof $config$jscomp$5_locationCode$$ && 1 < $config$jscomp$5_locationCode$$.length)) {
      throw new $bloombox$shop$ShopInfoException$$("Partner and location must be set via `bloombox.shop.setup` before retrieving shop info.");
    }
    $bloombox$logging$info$$("Retrieving shop info for '" + $partnerCode$$ + ":" + $config$jscomp$5_locationCode$$ + "'...");
    var $done$jscomp$1$$ = !1;
    (new $bloombox$shop$rpc$ShopRPC$$("SHOP_INFO", "GET", ["partners", $partnerCode$$, "locations", $config$jscomp$5_locationCode$$, "shop/info"].join("/"))).send(function($pickup_response$jscomp$5$$) {
      if (!$done$jscomp$1$$ && null != $pickup_response$jscomp$5$$) {
        if ($done$jscomp$1$$ = !0, $bloombox$logging$log$$("Received response for shop info RPC.", $pickup_response$jscomp$5$$), "object" === typeof $pickup_response$jscomp$5$$) {
          switch($pickup_response$jscomp$5$$.shopStatus || "OPEN") {
            case "CLOSED":
              var $delivery$$ = $pickup_response$jscomp$5$$ = !1;
              break;
            case "DELIVERY_ONLY":
              $pickup_response$jscomp$5$$ = !1;
              $delivery$$ = !0;
              break;
            case "PICKUP_ONLY":
              $pickup_response$jscomp$5$$ = !0;
              $delivery$$ = !1;
              break;
            default:
              $delivery$$ = $pickup_response$jscomp$5$$ = !0;
          }
          $callback$jscomp$59$$($pickup_response$jscomp$5$$, $delivery$$, null);
        } else {
          $bloombox$logging$error$$("Received unrecognized response payload for shop info.", $pickup_response$jscomp$5$$), $callback$jscomp$59$$(null, null, null);
        }
      }
    }, function($status$jscomp$4$$) {
      $bloombox$logging$error$$("An error occurred while querying shop info. Status code: '" + $status$jscomp$4$$ + "'.");
      $callback$jscomp$59$$(null, null, $status$jscomp$4$$ || null);
    });
  });
  $goog$exportSymbol$$("bloombox.product.Kind", {FLOWERS:0, EDIBLES:1, EXTRACTS:2, PREROLLS:3, APOTHECARY:4, CARTRIDGES:5, PLANTS:6, MERCHANDISE:7});
  $goog$exportSymbol$$("bloombox.product.Weight", {NO_WEIGHT:0, HALFGRAM:1, GRAM:2, EIGHTH:3, QUARTER:4, HALF:5, OZ:6});
  function $bloombox$product$Key$$($id$jscomp$12$$, $kind$jscomp$1$$) {
    this.id = $id$jscomp$12$$;
    this.kind = $kind$jscomp$1$$;
  }
  $goog$exportSymbol$$("bloombox.product.Key", $bloombox$product$Key$$);
  $bloombox$product$Key$$.prototype.$a$ = function $$bloombox$product$Key$$$$$a$$() {
    var $protobuf$$ = new $proto$base$ProductKey$$;
    $jspb$Message$setField$$($protobuf$$, 1, this.id);
    var $protoType$$ = new $proto$base$ProductType$$;
    $jspb$Message$setField$$($protoType$$, 1, this.kind);
    $protobuf$$.$setType$($protoType$$);
    return $protobuf$$;
  };
  $bloombox$product$Key$$.prototype.$getId$ = function $$bloombox$product$Key$$$$$getId$$() {
    return this.id;
  };
  $bloombox$product$Key$$.prototype.getId = $bloombox$product$Key$$.prototype.$getId$;
  $bloombox$product$Key$$.prototype.$getKind$ = function $$bloombox$product$Key$$$$$getKind$$() {
    return this.kind;
  };
  $bloombox$product$Key$$.prototype.getKind = $bloombox$product$Key$$.prototype.$getKind$;
  function $bloombox$shop$Item$$($key$jscomp$120$$, $count$jscomp$27$$) {
    this.key = $key$jscomp$120$$;
    this.count = $count$jscomp$27$$;
    this.$variants$ = [];
  }
  $goog$exportSymbol$$("bloombox.shop.Item", $bloombox$shop$Item$$);
  $bloombox$shop$Item$$.prototype.$a$ = function $$bloombox$shop$Item$$$$$a$$() {
    var $protob$$ = new $proto$commerce$Item$$, $protoKey$$ = this.key.$a$();
    $jspb$Message$setWrapperField$$($protob$$, 1, $protoKey$$);
    $jspb$Message$setField$$($protob$$, 3, this.count || 1);
    this.$variants$.map(function($item$jscomp$15$$) {
      $jspb$Message$addToRepeatedWrapperField$$($protob$$, 2, $item$jscomp$15$$, $proto$commerce$VariantSpec$$, void 0);
    });
    return $protob$$;
  };
  function $JSCompiler_StaticMethods__addVariant$$($JSCompiler_StaticMethods__addVariant$self$$, $type$jscomp$156$$, $content$jscomp$1$$) {
    var $variantSpec$$ = new $proto$commerce$VariantSpec$$;
    $jspb$Message$setField$$($variantSpec$$, 1, $type$jscomp$156$$);
    switch($type$jscomp$156$$) {
      case 2:
        $jspb$Message$setOneofField$$($variantSpec$$, 3, $proto$commerce$VariantSpec$oneofGroups_$$[0], $content$jscomp$1$$);
        break;
      case 0:
        $jspb$Message$setOneofField$$($variantSpec$$, 2, $proto$commerce$VariantSpec$oneofGroups_$$[0], $content$jscomp$1$$);
        break;
      case 1:
        $jspb$Message$setOneofField$$($variantSpec$$, 4, $proto$commerce$VariantSpec$oneofGroups_$$[0], $content$jscomp$1$$);
    }
    $JSCompiler_StaticMethods__addVariant$self$$.$variants$.push($variantSpec$$);
    return $JSCompiler_StaticMethods__addVariant$self$$;
  }
  $bloombox$shop$Item$$.prototype.$addWeightVariant$ = function $$bloombox$shop$Item$$$$$addWeightVariant$$($weight$$) {
    return $JSCompiler_StaticMethods__addVariant$$(this, 0, $weight$$);
  };
  $bloombox$shop$Item$$.prototype.addWeightVariant = $bloombox$shop$Item$$.prototype.$addWeightVariant$;
  $bloombox$shop$Item$$.prototype.$addSizeVariant$ = function $$bloombox$shop$Item$$$$$addSizeVariant$$($size$jscomp$12$$) {
    return $JSCompiler_StaticMethods__addVariant$$(this, 2, $size$jscomp$12$$);
  };
  $bloombox$shop$Item$$.prototype.addSizeVariant = $bloombox$shop$Item$$.prototype.$addSizeVariant$;
  $bloombox$shop$Item$$.prototype.$addColorVariant$ = function $$bloombox$shop$Item$$$$$addColorVariant$$($color$jscomp$2$$) {
    return $JSCompiler_StaticMethods__addVariant$$(this, 1, $color$jscomp$2$$);
  };
  $bloombox$shop$Item$$.prototype.addColorVariant = $bloombox$shop$Item$$.prototype.$addColorVariant$;
  function $bloombox$shop$order$DeliveryLocation$$($streetAddress$jscomp$1$$, $instructions$$) {
    this.streetAddress = $streetAddress$jscomp$1$$;
    this.$a$ = $instructions$$ || null;
  }
  $goog$exportSymbol$$("bloombox.shop.order.DeliveryLocation", $bloombox$shop$order$DeliveryLocation$$);
  $bloombox$shop$order$DeliveryLocation$$.prototype.$b$ = function $$bloombox$shop$order$DeliveryLocation$$$$$b$$() {
    var $protobuf$jscomp$1$$ = new $proto$commerce$DeliveryDestination$$, $address$$ = new $proto$geo$Address$$;
    $jspb$Message$setField$$($address$$, 1, this.streetAddress.firstLine);
    null !== this.streetAddress.secondLine && $jspb$Message$setField$$($address$$, 2, this.streetAddress.secondLine);
    $jspb$Message$setField$$($address$$, 3, this.streetAddress.city);
    $jspb$Message$setField$$($address$$, 4, this.streetAddress.state);
    $jspb$Message$setField$$($address$$, 5, this.streetAddress.zip);
    $jspb$Message$setWrapperField$$($protobuf$jscomp$1$$, 1, $address$$);
    null !== this.$a$ && $protobuf$jscomp$1$$.$setInstructions$(this.$a$);
    return $protobuf$jscomp$1$$;
  };
  $bloombox$shop$order$DeliveryLocation$$.prototype.$setInstructions$ = function $$bloombox$shop$order$DeliveryLocation$$$$$setInstructions$$($ins$$) {
    this.$a$ = $ins$$;
  };
  $bloombox$shop$order$DeliveryLocation$$.prototype.setInstructions = $bloombox$shop$order$DeliveryLocation$$.prototype.$setInstructions$;
  $bloombox$shop$order$DeliveryLocation$$.prototype.$clearInstructions$ = function $$bloombox$shop$order$DeliveryLocation$$$$$clearInstructions$$() {
    this.$a$ = null;
  };
  $bloombox$shop$order$DeliveryLocation$$.prototype.clearInstructions = $bloombox$shop$order$DeliveryLocation$$.prototype.$clearInstructions$;
  $goog$exportSymbol$$("bloombox.shop.order.Type", {PICKUP:0, DELIVERY:1});
  $goog$exportSymbol$$("bloombox.shop.SchedulingType", {ASAP:0, TIMED:1});
  function $bloombox$shop$order$OrderException$$($message$jscomp$254$$) {
    this.message = $message$jscomp$254$$;
  }
  $goog$exportSymbol$$("bloombox.shop.order.OrderException", $bloombox$shop$order$OrderException$$);
  function $bloombox$shop$order$OrderScheduling$$($scheduling$$, $desiredTime$$) {
    this.$b$ = $scheduling$$;
    this.$a$ = $desiredTime$$;
  }
  $goog$exportSymbol$$("bloombox.shop.order.OrderScheduling", $bloombox$shop$order$OrderScheduling$$);
  function $JSCompiler_StaticMethods_bloombox_shop_order_OrderScheduling_prototype$export$$($JSCompiler_StaticMethods_bloombox_shop_order_OrderScheduling_prototype$export$self$$) {
    var $protob$jscomp$1$$ = new $proto$commerce$OrderScheduling$$;
    $jspb$Message$setField$$($protob$jscomp$1$$, 1, $JSCompiler_StaticMethods_bloombox_shop_order_OrderScheduling_prototype$export$self$$.$b$);
    if (null !== $JSCompiler_StaticMethods_bloombox_shop_order_OrderScheduling_prototype$export$self$$.$a$) {
      var $desiredTime$jscomp$1$$ = new $proto$temporal$Instant$$;
      $jspb$Message$setOneofField$$($desiredTime$jscomp$1$$, 2, $proto$temporal$Instant$oneofGroups_$$[0], $JSCompiler_StaticMethods_bloombox_shop_order_OrderScheduling_prototype$export$self$$.$a$);
      $jspb$Message$setWrapperField$$($protob$jscomp$1$$, 2, $desiredTime$jscomp$1$$);
    }
    return $protob$jscomp$1$$;
  }
  $bloombox$shop$order$OrderScheduling$$.prototype.$getScheduling$ = function $$bloombox$shop$order$OrderScheduling$$$$$getScheduling$$() {
    return this.$b$;
  };
  $bloombox$shop$order$OrderScheduling$$.prototype.getScheduling = $bloombox$shop$order$OrderScheduling$$.prototype.$getScheduling$;
  $bloombox$shop$order$OrderScheduling$$.prototype.$getDesiredTime$ = function $$bloombox$shop$order$OrderScheduling$$$$$getDesiredTime$$() {
    return this.$a$;
  };
  $bloombox$shop$order$OrderScheduling$$.prototype.getDesiredTime = $bloombox$shop$order$OrderScheduling$$.prototype.$getDesiredTime$;
  function $bloombox$shop$order$Order$$($orderType$$, $customer$jscomp$2$$, $location$jscomp$23$$, $notes$$) {
    if (0 !== $orderType$$ && 1 !== $orderType$$) {
      throw new $bloombox$shop$order$OrderException$$("Invalid order type provided. Must be DELIVERY or PICKUP.");
    }
    if ("object" !== typeof $customer$jscomp$2$$ || "function" !== typeof $customer$jscomp$2$$.$a$) {
      throw new $bloombox$shop$order$OrderException$$("Invalid customer provided for order.");
    }
    if (1 === $orderType$$ && (null === $location$jscomp$23$$ || "object" !== typeof $location$jscomp$23$$ || !$location$jscomp$23$$)) {
      throw new $bloombox$shop$order$OrderException$$("Order type was DELIVERY, but no destination info was provided.");
    }
    this.type = $orderType$$;
    this.$a$ = $customer$jscomp$2$$;
    this.$f$ = [];
    this.location = $location$jscomp$23$$;
    this.$c$ = $notes$$ || null;
    this.$b$ = new $bloombox$shop$order$OrderScheduling$$(0, null);
  }
  $goog$exportSymbol$$("bloombox.shop.order.Order", $bloombox$shop$order$Order$$);
  $bloombox$shop$order$Order$$.prototype.$setSchedulingTypeASAP$ = function $$bloombox$shop$order$Order$$$$$setSchedulingTypeASAP$$() {
    this.$b$ = new $bloombox$shop$order$OrderScheduling$$(0, null);
    return this;
  };
  $bloombox$shop$order$Order$$.prototype.setSchedulingTypeASAP = $bloombox$shop$order$Order$$.prototype.$setSchedulingTypeASAP$;
  $bloombox$shop$order$Order$$.prototype.$setSchedulingTypeTimed$ = function $$bloombox$shop$order$Order$$$$$setSchedulingTypeTimed$$($ts$$) {
    if (!("number" === typeof $ts$$ && 100 < $ts$$)) {
      throw new $bloombox$shop$order$OrderException$$("Invalid timestamp provided for setSchedulingTypeTimed.");
    }
    this.$b$ = new $bloombox$shop$order$OrderScheduling$$(1, $ts$$);
    return this;
  };
  $bloombox$shop$order$Order$$.prototype.setSchedulingTypeTimed = $bloombox$shop$order$Order$$.prototype.$setSchedulingTypeTimed$;
  $bloombox$shop$order$Order$$.prototype.$setType$ = function $$bloombox$shop$order$Order$$$$$setType$$($type$jscomp$157$$) {
    if (0 !== $type$jscomp$157$$ && 1 !== $type$jscomp$157$$) {
      throw new $bloombox$shop$order$OrderException$$("Invalid order type provided to Order.setType. Must be one of `bloombox.shop.order.Type.DELIVERY` or `bloombox.shop.order.Type.PICKUP`.");
    }
    this.type = $type$jscomp$157$$;
    return this;
  };
  $bloombox$shop$order$Order$$.prototype.setType = $bloombox$shop$order$Order$$.prototype.$setType$;
  $bloombox$shop$order$Order$$.prototype.$setNotes$ = function $$bloombox$shop$order$Order$$$$$setNotes$$($notes$jscomp$1$$) {
    if (null === $notes$jscomp$1$$) {
      this.$c$ = null;
    } else {
      if ("string" === typeof $notes$jscomp$1$$ && 0 < $notes$jscomp$1$$.length) {
        this.$c$ = $notes$jscomp$1$$;
      } else {
        throw new $bloombox$shop$order$OrderException$$("Notes for order aren't valid: '" + $notes$jscomp$1$$ + "'.");
      }
    }
    return this;
  };
  $bloombox$shop$order$Order$$.prototype.setNotes = $bloombox$shop$order$Order$$.prototype.$setNotes$;
  $bloombox$shop$order$Order$$.prototype.$setLocation$ = function $$bloombox$shop$order$Order$$$$$setLocation$$($location$jscomp$24$$) {
    if (null !== $location$jscomp$24$$ && ("object" !== typeof $location$jscomp$24$$ || "function" !== typeof $location$jscomp$24$$.$b$)) {
      throw new $bloombox$shop$order$OrderException$$("Invalid delivery destination provided to Order.setLocation.");
    }
    this.location = $location$jscomp$24$$;
    return this;
  };
  $bloombox$shop$order$Order$$.prototype.setLocation = $bloombox$shop$order$Order$$.prototype.$setLocation$;
  $bloombox$shop$order$Order$$.prototype.$getType$ = function $$bloombox$shop$order$Order$$$$$getType$$() {
    return this.type;
  };
  $bloombox$shop$order$Order$$.prototype.getType = $bloombox$shop$order$Order$$.prototype.$getType$;
  $bloombox$shop$order$Order$$.prototype.$getNotes$ = function $$bloombox$shop$order$Order$$$$$getNotes$$() {
    return this.$c$;
  };
  $bloombox$shop$order$Order$$.prototype.getNotes = $bloombox$shop$order$Order$$.prototype.$getNotes$;
  $bloombox$shop$order$Order$$.prototype.$setCustomer$ = function $$bloombox$shop$order$Order$$$$$setCustomer$$($customer$jscomp$3$$) {
    if (null !== $customer$jscomp$3$$ && ("object" !== typeof $customer$jscomp$3$$ || "function" !== typeof $customer$jscomp$3$$.$a$)) {
      throw new $bloombox$shop$order$OrderException$$("Invalid customer provided to Order.setCustomer.");
    }
    this.$a$ = $customer$jscomp$3$$;
    return this;
  };
  $bloombox$shop$order$Order$$.prototype.setCustomer = $bloombox$shop$order$Order$$.prototype.$setCustomer$;
  $bloombox$shop$order$Order$$.prototype.$getCustomer$ = function $$bloombox$shop$order$Order$$$$$getCustomer$$() {
    return this.$a$;
  };
  $bloombox$shop$order$Order$$.prototype.getCustomer = $bloombox$shop$order$Order$$.prototype.$getCustomer$;
  $bloombox$shop$order$Order$$.prototype.$addItem$ = function $$bloombox$shop$order$Order$$$$$addItem$$($item$jscomp$16$$) {
    if (null !== $item$jscomp$16$$ && ("object" !== typeof $item$jscomp$16$$ || "function" !== typeof $item$jscomp$16$$.$a$)) {
      throw new $bloombox$shop$order$OrderException$$("Invalid item provided to Order.addItem");
    }
    this.$f$.push($item$jscomp$16$$);
    return this;
  };
  $bloombox$shop$order$Order$$.prototype.addItem = $bloombox$shop$order$Order$$.prototype.$addItem$;
  $bloombox$shop$order$Order$$.prototype.send = function $$bloombox$shop$order$Order$$$$send$($callback$jscomp$60$$) {
    var $payload$jscomp$1$$ = new $proto$commerce$Order$$;
    $payload$jscomp$1$$.$setType$(this.type);
    var $customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$ = this.$c$;
    null !== $customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$ && $payload$jscomp$1$$.$setNotes$($customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$);
    $customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$ = this.$a$.$a$();
    $payload$jscomp$1$$.$setCustomer$($customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$);
    $customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$ = $JSCompiler_StaticMethods_bloombox_shop_order_OrderScheduling_prototype$export$$(this.$b$);
    $jspb$Message$setWrapperField$$($payload$jscomp$1$$, 5, $customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$);
    1 === this.type && ($customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$ = this.location.$b$(), $jspb$Message$setWrapperField$$($payload$jscomp$1$$, 6, $customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$));
    this.$f$.map(function($item$jscomp$17_protob$jscomp$2$$) {
      $item$jscomp$17_protob$jscomp$2$$ = $item$jscomp$17_protob$jscomp$2$$.$a$();
      $payload$jscomp$1$$.$addItem$($item$jscomp$17_protob$jscomp$2$$);
    });
    var $done$jscomp$2$$ = !1, $config$jscomp$6_location$jscomp$25$$ = $bloombox$config$$.active();
    $customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$ = $config$jscomp$6_location$jscomp$25$$.$partner$;
    $config$jscomp$6_location$jscomp$25$$ = $config$jscomp$6_location$jscomp$25$$.location;
    if ($customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$ && $config$jscomp$6_location$jscomp$25$$) {
      var $payloadObject_serializedItems$$ = this.$f$.map(function($item$jscomp$18$$) {
        return {count:$item$jscomp$18$$.count || 1, key:{id:$item$jscomp$18$$.key.id, type:{kind:$item$jscomp$18$$.key.kind}}, variant:$item$jscomp$18$$.$variants$.map(function($variant$$) {
          var $baseVariant$$ = {variant:$variant$$.$getVariant$()};
          $jspb$Message$getFieldWithDefault$$($variant$$, 2, 0) ? $baseVariant$$.weight = $jspb$Message$getFieldWithDefault$$($variant$$, 2, 0) : $jspb$Message$getFieldWithDefault$$($variant$$, 3, "") ? $baseVariant$$.size = $jspb$Message$getFieldWithDefault$$($variant$$, 3, "") : $jspb$Message$getFieldWithDefault$$($variant$$, 4, "") && ($baseVariant$$.color = $jspb$Message$getFieldWithDefault$$($variant$$, 4, ""));
          return $baseVariant$$;
        })};
      });
      $payloadObject_serializedItems$$ = {type:$payload$jscomp$1$$.$getType$(), partnerCode:$customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$, locationCode:$config$jscomp$6_location$jscomp$25$$, customer:{person:{name:{firstName:$jspb$Message$getFieldWithDefault$$(this.$a$.person.name, 2, ""), lastName:$jspb$Message$getFieldWithDefault$$(this.$a$.person.name, 3, "")}, contact:{email:{address:this.$a$.person.contactInfo.emailAddress}, phone:{e164:this.$a$.person.contactInfo.phoneNumber}}}, 
      foreignId:this.$a$.foreignId}, scheduling:{scheduling:$payload$jscomp$1$$.$getScheduling$().$getScheduling$()}, item:$payloadObject_serializedItems$$};
      "string" === typeof $payload$jscomp$1$$.$getNotes$() && ($payloadObject_serializedItems$$.notes = $payload$jscomp$1$$.$getNotes$());
      if (1 === $payload$jscomp$1$$.$getType$()) {
        if (!$JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$) || !$jspb$Message$getWrapperField$$($JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$), $proto$geo$Address$$, 1)) {
          throw new $bloombox$shop$order$OrderException$$("Missing destination information, but order type is DELIVERY.");
        }
        $payloadObject_serializedItems$$.destination = {address:{firstLine:$jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$), $proto$geo$Address$$, 1), 1, ""), city:$jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$), $proto$geo$Address$$, 1), 3, ""), state:$jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$), 
        $proto$geo$Address$$, 1), 4, ""), zipcode:$jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$), $proto$geo$Address$$, 1), 5, ""), country:"USA"}};
        $payload$jscomp$1$$.$getNotes$() && ($payloadObject_serializedItems$$.notes = $payload$jscomp$1$$.$getNotes$());
        $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$), $proto$geo$Address$$, 1), 2, "") && ($payloadObject_serializedItems$$.destination.address.secondLine = $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$), $proto$geo$Address$$, 1), 2, ""));
        $jspb$Message$getFieldWithDefault$$($JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$), 2, "") && ($payloadObject_serializedItems$$.destination.instructions = $jspb$Message$getFieldWithDefault$$($JSCompiler_StaticMethods_getDestination$$($payload$jscomp$1$$), 2, ""));
      }
      (new $bloombox$shop$rpc$ShopRPC$$("SUBMIT_ORDER", "POST", ["partners", $customer$jscomp$4_location$4_notes$jscomp$2_partner$jscomp$2_scheduling$jscomp$1$$, "locations", $config$jscomp$6_location$jscomp$25$$, "orders"].join("/"), $payloadObject_serializedItems$$)).send(function($response$jscomp$6$$) {
        if (!$done$jscomp$2$$) {
          if (null != $response$jscomp$6$$) {
            $done$jscomp$2$$ = !0;
            $bloombox$logging$log$$("Response received for order submission RPC.", $response$jscomp$6$$);
            var $inflated$jscomp$1$$ = new $proto$services$shop$v1$SubmitOrder$Response$$;
            $response$jscomp$6$$.error && $jspb$Message$setField$$($inflated$jscomp$1$$, 1, $response$jscomp$6$$.error);
            $jspb$Message$setField$$($inflated$jscomp$1$$, 2, $response$jscomp$6$$.orderId);
            if (0 === $jspb$Message$getFieldWithDefault$$($inflated$jscomp$1$$, 1, 0) && $jspb$Message$getFieldWithDefault$$($inflated$jscomp$1$$, 2, "")) {
              this.id = $jspb$Message$getFieldWithDefault$$($inflated$jscomp$1$$, 2, "");
              $callback$jscomp$60$$($jspb$Message$getFieldWithDefault$$($inflated$jscomp$1$$, 2, ""), this, null);
              return;
            }
            $bloombox$logging$error$$("Server indicated order submission failed.", $response$jscomp$6$$);
            $callback$jscomp$60$$(null, null, $jspb$Message$getFieldWithDefault$$($inflated$jscomp$1$$, 1, 0));
          }
          $callback$jscomp$60$$(null, null);
        }
      }.bind(this), function($status$jscomp$5$$) {
        $bloombox$logging$error$$("Order submission RPC failed with status: ", $status$jscomp$5$$);
        $callback$jscomp$60$$(null, null, $status$jscomp$5$$);
      });
    } else {
      $bloombox$logging$error$$("Partner or location code is not defined.");
    }
  };
  $bloombox$shop$order$Order$$.prototype.send = $bloombox$shop$order$Order$$.prototype.send;
  function $bloombox$shop$order$VerifyException$$($message$jscomp$255$$) {
    this.message = $message$jscomp$255$$;
  }
  $goog$exportSymbol$$("bloombox.shop.order.VerifyException", $bloombox$shop$order$VerifyException$$);
  $goog$exportSymbol$$("bloombox.shop.verify", function($email$$, $callback$jscomp$61$$) {
    if (null === $email$$ || void 0 === $email$$ || !$email$$ || 5 > $email$$.length || "string" !== typeof $email$$) {
      throw new $bloombox$shop$order$VerifyException$$("Email was found to be empty or invalid, cannot verify.");
    }
    var $config$jscomp$7_location$jscomp$26$$ = $bloombox$config$$.active(), $partner$jscomp$3_rpc$jscomp$2$$ = $config$jscomp$7_location$jscomp$26$$.$partner$;
    $config$jscomp$7_location$jscomp$26$$ = $config$jscomp$7_location$jscomp$26$$.location;
    if ($partner$jscomp$3_rpc$jscomp$2$$ && $config$jscomp$7_location$jscomp$26$$) {
      $partner$jscomp$3_rpc$jscomp$2$$ = new $bloombox$shop$rpc$ShopRPC$$("VERIFY", "GET", ["partners", $partner$jscomp$3_rpc$jscomp$2$$, "locations", $config$jscomp$7_location$jscomp$26$$, "members", btoa($email$$), "verify"].join("/"));
      $bloombox$logging$log$$("Verifying user...", {email:$email$$});
      var $done$jscomp$3$$ = !1;
      $partner$jscomp$3_rpc$jscomp$2$$.send(function($response$jscomp$7$$) {
        if (!$done$jscomp$3$$) {
          if (null != $response$jscomp$7$$) {
            $done$jscomp$3$$ = !0;
            $bloombox$logging$log$$("Response received for verify RPC.", $response$jscomp$7$$);
            var $inflated$jscomp$2$$ = new $proto$services$shop$v1$VerifyMember$Response$$;
            $jspb$Message$setField$$($inflated$jscomp$2$$, 1, !0 === $response$jscomp$7$$.verified || !1);
            $response$jscomp$7$$.error && $jspb$Message$setOneofField$$($inflated$jscomp$2$$, 3, $proto$services$shop$v1$VerifyMember$Response$oneofGroups_$$[0], $response$jscomp$7$$.error);
            if ($inflated$jscomp$2$$) {
              var $customer$jscomp$5$$ = !0 === $response$jscomp$7$$.verified ? $bloombox$shop$Customer$fromResponse$$($response$jscomp$7$$) : null;
              !0 === $response$jscomp$7$$.verified ? $bloombox$logging$log$$("Loaded 'Customer' record from response.", $customer$jscomp$5$$) : $bloombox$logging$log$$("Customer could not be verified at email address '" + $email$$ + "'.");
              $callback$jscomp$61$$($jspb$Message$getFieldWithDefault$$($inflated$jscomp$2$$, 1, !1), null, $customer$jscomp$5$$);
            } else {
              $bloombox$logging$warn$$("Failed to inflate RPC.", $response$jscomp$7$$);
            }
          } else {
            $bloombox$logging$warn$$("Failed to inflate RPC.", $response$jscomp$7$$);
          }
        }
      }, function($status$jscomp$6$$) {
        $bloombox$logging$error$$($status$jscomp$6$$ ? "Verification RPC failed with unexpected status: '" + $status$jscomp$6$$ + "'." : "Verification RPC response failed to be decoded.");
      });
    } else {
      $bloombox$logging$error$$("Partner or location code is not defined.");
    }
  });
  function $bloombox$shop$ZipcheckException$$($message$jscomp$256$$) {
    this.message = $message$jscomp$256$$;
  }
  $goog$exportSymbol$$("bloombox.shop.ZipcheckException", $bloombox$shop$ZipcheckException$$);
  $goog$exportSymbol$$("bloombox.shop.zipcheck", function($zipcode$$, $callback$jscomp$62$$) {
    if (!$zipcode$$ || "string" !== typeof $zipcode$$ || 5 !== $zipcode$$.length || isNaN(parseInt($zipcode$$, 10))) {
      throw new $bloombox$shop$ZipcheckException$$("Zipcode was found to be invalid: " + $zipcode$$);
    }
    $bloombox$logging$info$$("Verifying zipcode '" + $zipcode$$ + "' for delivery eligibility...");
    var $config$jscomp$8_locationCode$jscomp$1$$ = $bloombox$config$$.active(), $partnerCode$jscomp$1$$ = $config$jscomp$8_locationCode$jscomp$1$$.$partner$;
    $config$jscomp$8_locationCode$jscomp$1$$ = $config$jscomp$8_locationCode$jscomp$1$$.location;
    if (!($partnerCode$jscomp$1$$ && "string" === typeof $partnerCode$jscomp$1$$ && 1 < $partnerCode$jscomp$1$$.length && "string" === typeof $config$jscomp$8_locationCode$jscomp$1$$ && 1 < $config$jscomp$8_locationCode$jscomp$1$$.length)) {
      throw new $bloombox$shop$ZipcheckException$$("Partner and location must be set via `bloombox.shop.setup` before conducting a zipcode eligibility check.");
    }
    var $done$jscomp$4$$ = !1;
    (new $bloombox$shop$rpc$ShopRPC$$("CHECK_ZIP", "GET", ["partners", $partnerCode$jscomp$1$$, "locations", $config$jscomp$8_locationCode$jscomp$1$$, "zipcheck", $zipcode$$].join("/"))).send(function($response$jscomp$8$$) {
      if (!$done$jscomp$4$$ && null != $response$jscomp$8$$) {
        if ($done$jscomp$4$$ = !0, $bloombox$logging$log$$("Received response for zipcheck RPC.", $response$jscomp$8$$), "object" === typeof $response$jscomp$8$$) {
          var $supported$$ = !0 === $response$jscomp$8$$.supported, $deliveryMinimum$$ = null;
          "deliveryMinimum" in $response$jscomp$8$$ && ("number" === typeof $response$jscomp$8$$.deliveryMinimum ? ($deliveryMinimum$$ = $response$jscomp$8$$.deliveryMinimum, $bloombox$logging$log$$("Resolved delivery minimum: $" + $deliveryMinimum$$ + ".")) : void 0 === $response$jscomp$8$$.deliveryMinimum || null === $response$jscomp$8$$.deliveryMinimum || 0.0 === $response$jscomp$8$$.deliveryMinimum || 0 === $response$jscomp$8$$.deliveryMinimum ? ($deliveryMinimum$$ = null, $bloombox$logging$log$$("No delivery minimum specified.")) : 
          $bloombox$logging$warn$$("Unrecognized delivery minimum.", $response$jscomp$8$$.deliveryMinimum));
          $callback$jscomp$62$$($supported$$, $deliveryMinimum$$);
        } else {
          $bloombox$logging$error$$("Received unrecognized response payload for zipcheck.", $response$jscomp$8$$), $callback$jscomp$62$$(null, null);
        }
      }
    }, function($status$jscomp$7$$) {
      $bloombox$logging$error$$("An error occurred while verifying a zipcode. Status code: '" + $status$jscomp$7$$ + "'.");
      $callback$jscomp$62$$(null, null);
    });
  });
  function $bloombox$shop$setup$$($config$jscomp$9_partner$jscomp$4$$, $location$jscomp$27$$, $apikey$$, $callback$jscomp$63$$, $endpoint$jscomp$3_merged$$) {
    $config$jscomp$9_partner$jscomp$4$$ && $location$jscomp$27$$ ? ($config$jscomp$9_partner$jscomp$4$$ = $bloombox$config$$.active(), $endpoint$jscomp$3_merged$$ = Object.assign({}, $config$jscomp$9_partner$jscomp$4$$, {endpoints:Object.assign({}, $config$jscomp$9_partner$jscomp$4$$.$endpoints$ || {}, {shop:$endpoint$jscomp$3_merged$$ || "https://shop.api.bloombox.cloud"})}), $bloombox$config$$.$configure$($endpoint$jscomp$3_merged$$), $bloombox$logging$log$$("Shop is ready for use.", {version:"v1r1", 
    debug:!0, config:$bloombox$config$$.active()}), $callback$jscomp$63$$()) : $bloombox$logging$error$$("Partner or location code is not defined.");
  }
  $goog$exportSymbol$$("bloombox.shop.setup", $bloombox$shop$setup$$);
  var $bloombox$telemetry$internals$state$$ = {};
  function $bloombox$telemetry$internals$statistics$$() {
    var $stats$$ = {$queued$:$bloombox$telemetry$internals$state$QUEUED_EVENT_COUNT_$$, $sent$:$bloombox$telemetry$internals$state$SENT_EVENT_COUNT_$$, $errors$:$bloombox$telemetry$internals$state$EVENT_ERROR_COUNT_$$, $success$:$bloombox$telemetry$internals$state$EVENT_SUCCESS_COUNT_$$, $lastPing$:$bloombox$telemetry$internals$state$LAST_PING_SENT_$$, $lastPong$:$bloombox$telemetry$internals$state$LAST_PONG_RECEIVED_$$};
    Object.isFrozen && !Object.isFrozen($stats$$) && Object.freeze($stats$$);
    return $stats$$;
  }
  $bloombox$telemetry$internals$state$$.$ENABLED_$ = !0;
  $bloombox$telemetry$internals$state$$.$ACTIVE_$ = !0;
  var $bloombox$telemetry$internals$state$LAST_PING_SENT_$$ = null, $bloombox$telemetry$internals$state$LAST_PONG_RECEIVED_$$ = null, $bloombox$telemetry$internals$state$QUEUED_EVENT_COUNT_$$ = 0, $bloombox$telemetry$internals$state$SENT_EVENT_COUNT_$$ = 0, $bloombox$telemetry$internals$state$EVENT_ERROR_COUNT_$$ = 0, $bloombox$telemetry$internals$state$EVENT_SUCCESS_COUNT_$$ = 0;
  function $bloombox$telemetry$didOptOut$$() {
    return "true" === window.sessionStorage.getItem("bb:1:t:opt_out") && !$bloombox$telemetry$internals$state$$.$ENABLED_$;
  }
  $goog$exportSymbol$$("bloombox.telemetry.optout", function() {
    $bloombox$logging$warn$$("Opted-out of telemetry transmission.");
    $bloombox$telemetry$internals$state$$.$ENABLED_$ = !1;
    window.sessionStorage.setItem("bb:1:t:opt_out", "false");
  });
  $goog$exportSymbol$$("bloombox.telemetry.VERSION", "v1beta2r1");
  $goog$exportSymbol$$("bloombox.telemetry.BATCH_SIZE", 5);
  $goog$exportSymbol$$("bloombox.telemetry.XHR_DEBOUNCE", 2500);
  $goog$exportSymbol$$("bloombox.telemetry.XHR_RETRIES", 3);
  $goog$exportSymbol$$("bloombox.telemetry.XHR_TIMEOUT", 15E3);
  function $bloombox$util$generateUUID$$() {
    var $uuid$$ = "", $i$jscomp$218$$;
    for ($i$jscomp$218$$ = 0; 32 > $i$jscomp$218$$; $i$jscomp$218$$++) {
      var $random$$ = 16 * Math.random() | 0;
      if (8 === $i$jscomp$218$$ || 12 === $i$jscomp$218$$ || 16 === $i$jscomp$218$$ || 20 === $i$jscomp$218$$) {
        $uuid$$ += "-";
      }
      $uuid$$ += (12 === $i$jscomp$218$$ ? 4 : 16 === $i$jscomp$218$$ ? $random$$ & 3 | 8 : $random$$).toString(16);
    }
    return $uuid$$.toUpperCase();
  }
  ;function $goog$labs$userAgent$device$isMobile$$() {
    return !$goog$labs$userAgent$device$isTablet$$() && ($goog$labs$userAgent$util$matchUserAgent$$("iPod") || $goog$labs$userAgent$util$matchUserAgent$$("iPhone") || $goog$labs$userAgent$util$matchUserAgent$$("Android") || $goog$labs$userAgent$util$matchUserAgent$$("IEMobile"));
  }
  function $goog$labs$userAgent$device$isTablet$$() {
    return $goog$labs$userAgent$util$matchUserAgent$$("iPad") || $goog$labs$userAgent$util$matchUserAgent$$("Android") && !$goog$labs$userAgent$util$matchUserAgent$$("Mobile") || $goog$labs$userAgent$util$matchUserAgent$$("Silk");
  }
  function $goog$labs$userAgent$device$isDesktop$$() {
    return !$goog$labs$userAgent$device$isMobile$$() && !$goog$labs$userAgent$device$isTablet$$();
  }
  ;var $goog$userAgent$platform$VERSION$$ = function() {
    if ($goog$userAgent$WINDOWS$$) {
      var $match$jscomp$5_re$jscomp$4$$ = /Windows NT ([0-9.]+)/;
      return ($match$jscomp$5_re$jscomp$4$$ = $match$jscomp$5_re$jscomp$4$$.exec($goog$labs$userAgent$util$userAgent_$$)) ? $match$jscomp$5_re$jscomp$4$$[1] : "0";
    }
    return $goog$userAgent$MAC$$ ? ($match$jscomp$5_re$jscomp$4$$ = /10[_.][0-9_.]+/, ($match$jscomp$5_re$jscomp$4$$ = $match$jscomp$5_re$jscomp$4$$.exec($goog$labs$userAgent$util$userAgent_$$)) ? $match$jscomp$5_re$jscomp$4$$[0].replace(/_/g, ".") : "10") : $goog$userAgent$ANDROID$$ ? ($match$jscomp$5_re$jscomp$4$$ = /Android\s+([^\);]+)(\)|;)/, ($match$jscomp$5_re$jscomp$4$$ = $match$jscomp$5_re$jscomp$4$$.exec($goog$labs$userAgent$util$userAgent_$$)) ? $match$jscomp$5_re$jscomp$4$$[1] : "") : $goog$userAgent$IPHONE$$ || 
    $goog$userAgent$IPAD$$ || $goog$userAgent$IPOD$$ ? ($match$jscomp$5_re$jscomp$4$$ = /(?:iPhone|CPU)\s+OS\s+(\S+)/, ($match$jscomp$5_re$jscomp$4$$ = $match$jscomp$5_re$jscomp$4$$.exec($goog$labs$userAgent$util$userAgent_$$)) ? $match$jscomp$5_re$jscomp$4$$[1].replace(/_/g, ".") : "") : "";
  }();
  function $bloombox$telemetry$Collection$$($byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$, $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$) {
    if ($JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$) {
      $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$ = $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$;
    } else {
      if ($goog$crypt$base64$HAS_NATIVE_ENCODE_$$) {
        $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$ = $goog$global$$.btoa($byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$);
      } else {
        $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$ = [];
        for (var $output$jscomp$inline_959_p$jscomp$inline_953$$ = 0, $i$jscomp$inline_954_i$jscomp$inline_960$$ = 0; $i$jscomp$inline_954_i$jscomp$inline_960$$ < $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$.length; $i$jscomp$inline_954_i$jscomp$inline_960$$++) {
          var $c$jscomp$inline_955_haveByte2$jscomp$inline_962$$ = $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$.charCodeAt($i$jscomp$inline_954_i$jscomp$inline_960$$);
          255 < $c$jscomp$inline_955_haveByte2$jscomp$inline_962$$ && ($JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$[$output$jscomp$inline_959_p$jscomp$inline_953$$++] = $c$jscomp$inline_955_haveByte2$jscomp$inline_962$$ & 255, $c$jscomp$inline_955_haveByte2$jscomp$inline_962$$ >>= 8);
          $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$[$output$jscomp$inline_959_p$jscomp$inline_953$$++] = $c$jscomp$inline_955_haveByte2$jscomp$inline_962$$;
        }
        $goog$asserts$assert$$($goog$isArrayLike$$($JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$), "encodeByteArray takes an array as a parameter");
        if (!$goog$crypt$base64$byteToCharMap_$$) {
          for ($goog$crypt$base64$byteToCharMap_$$ = {}, $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$ = 0; 65 > $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$; $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$++) {
            $goog$crypt$base64$byteToCharMap_$$[$byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt($byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$);
          }
        }
        $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$ = $goog$crypt$base64$byteToCharMap_$$;
        $output$jscomp$inline_959_p$jscomp$inline_953$$ = [];
        for ($i$jscomp$inline_954_i$jscomp$inline_960$$ = 0; $i$jscomp$inline_954_i$jscomp$inline_960$$ < $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$.length; $i$jscomp$inline_954_i$jscomp$inline_960$$ += 3) {
          var $byte1$jscomp$inline_961_outByte2$jscomp$inline_967$$ = $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$[$i$jscomp$inline_954_i$jscomp$inline_960$$], $byte2$jscomp$inline_963_outByte3$jscomp$inline_968$$ = ($c$jscomp$inline_955_haveByte2$jscomp$inline_962$$ = $i$jscomp$inline_954_i$jscomp$inline_960$$ + 1 < $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$.length) ? $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$[$i$jscomp$inline_954_i$jscomp$inline_960$$ + 
          1] : 0, $haveByte3$jscomp$inline_964$$ = $i$jscomp$inline_954_i$jscomp$inline_960$$ + 2 < $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$.length, $byte3$jscomp$inline_965_outByte4$jscomp$inline_969$$ = $haveByte3$jscomp$inline_964$$ ? $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$[$i$jscomp$inline_954_i$jscomp$inline_960$$ + 2] : 0, $outByte1$jscomp$inline_966$$ = $byte1$jscomp$inline_961_outByte2$jscomp$inline_967$$ >> 
          2;
          $byte1$jscomp$inline_961_outByte2$jscomp$inline_967$$ = ($byte1$jscomp$inline_961_outByte2$jscomp$inline_967$$ & 3) << 4 | $byte2$jscomp$inline_963_outByte3$jscomp$inline_968$$ >> 4;
          $byte2$jscomp$inline_963_outByte3$jscomp$inline_968$$ = ($byte2$jscomp$inline_963_outByte3$jscomp$inline_968$$ & 15) << 2 | $byte3$jscomp$inline_965_outByte4$jscomp$inline_969$$ >> 6;
          $byte3$jscomp$inline_965_outByte4$jscomp$inline_969$$ &= 63;
          $haveByte3$jscomp$inline_964$$ || ($byte3$jscomp$inline_965_outByte4$jscomp$inline_969$$ = 64, $c$jscomp$inline_955_haveByte2$jscomp$inline_962$$ || ($byte2$jscomp$inline_963_outByte3$jscomp$inline_968$$ = 64));
          $output$jscomp$inline_959_p$jscomp$inline_953$$.push($byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$[$outByte1$jscomp$inline_966$$], $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$[$byte1$jscomp$inline_961_outByte2$jscomp$inline_967$$], $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$[$byte2$jscomp$inline_963_outByte3$jscomp$inline_968$$], $byteToCharMap$jscomp$inline_958_i$jscomp$inline_1000_name$jscomp$94$$[$byte3$jscomp$inline_965_outByte4$jscomp$inline_969$$]);
        }
        $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$ = $output$jscomp$inline_959_p$jscomp$inline_953$$.join("");
      }
    }
    this.name = $JSCompiler_temp$jscomp$53_JSCompiler_temp$jscomp$940_opt_skipb64encode_output$jscomp$inline_952$$;
  }
  function $bloombox$telemetry$Collection$named$$($name$jscomp$95$$) {
    return new $bloombox$telemetry$Collection$$($name$jscomp$95$$);
  }
  $goog$exportSymbol$$("bloombox.telemetry.Collection.named", $bloombox$telemetry$Collection$named$$);
  $bloombox$telemetry$Collection$$.prototype.$a$ = function $$bloombox$telemetry$Collection$$$$$a$$() {
    var $collection$$ = new $proto$analytics$context$Collection$$;
    $jspb$Message$setField$$($collection$$, 1, this.name);
    return $collection$$;
  };
  $bloombox$telemetry$Collection$$.prototype.$b$ = function $$bloombox$telemetry$Collection$$$$$b$$() {
    return {name:this.name};
  };
  function $bloombox$telemetry$ContextException$$($message$jscomp$257$$) {
    this.message = $message$jscomp$257$$;
  }
  function $bloombox$telemetry$Context$$($opt_collection_partnerKey$$, $locationKey_opt_partner$$, $deviceKey_opt_location$jscomp$1$$, $opt_fingerprint$$, $opt_session$$, $opt_user$jscomp$2_orderKey_user$$, $opt_device_userKey$$, $opt_order_order$jscomp$1$$, $opt_browser$$) {
    this.$c$ = $opt_collection_partnerKey$$ || null;
    this.$h$ = $opt_fingerprint$$ || null;
    this.$i$ = $opt_session$$ || null;
    $locationKey_opt_partner$$ ? ($opt_collection_partnerKey$$ = new $proto$partner$PartnerKey$$, $jspb$Message$setField$$($opt_collection_partnerKey$$, 1, $locationKey_opt_partner$$)) : $opt_collection_partnerKey$$ = null;
    if ($locationKey_opt_partner$$ && $deviceKey_opt_location$jscomp$1$$) {
      $locationKey_opt_partner$$ = new $proto$partner$PartnerLocationKey$$, $jspb$Message$setField$$($locationKey_opt_partner$$, 2, $deviceKey_opt_location$jscomp$1$$), $jspb$Message$setWrapperField$$($locationKey_opt_partner$$, 1, $opt_collection_partnerKey$$);
    } else {
      if ($locationKey_opt_partner$$ && $deviceKey_opt_location$jscomp$1$$) {
        throw new $bloombox$telemetry$ContextException$$("Cannot provide location context without partner context.");
      }
      $locationKey_opt_partner$$ = null;
    }
    this.location = $locationKey_opt_partner$$;
    $opt_device_userKey$$ && "string" === typeof $opt_device_userKey$$ ? ($deviceKey_opt_location$jscomp$1$$ = new $proto$partner$PartnerDeviceKey$$, $jspb$Message$setField$$($deviceKey_opt_location$jscomp$1$$, 2, $opt_device_userKey$$), $deviceKey_opt_location$jscomp$1$$.$setLocation$($locationKey_opt_partner$$)) : $deviceKey_opt_location$jscomp$1$$ = null;
    this.$g$ = $deviceKey_opt_location$jscomp$1$$;
    $opt_user$jscomp$2_orderKey_user$$ ? ($opt_device_userKey$$ = new $proto$identity$UserKey$$, $jspb$Message$setField$$($opt_device_userKey$$, 1, $opt_user$jscomp$2_orderKey_user$$), $opt_user$jscomp$2_orderKey_user$$ = $opt_device_userKey$$) : $opt_user$jscomp$2_orderKey_user$$ = null;
    this.$j$ = $opt_user$jscomp$2_orderKey_user$$;
    $opt_order_order$jscomp$1$$ ? ($opt_user$jscomp$2_orderKey_user$$ = new $proto$commerce$OrderKey$$, $jspb$Message$setField$$($opt_user$jscomp$2_orderKey_user$$, 1, $opt_order_order$jscomp$1$$), $opt_order_order$jscomp$1$$ = $opt_user$jscomp$2_orderKey_user$$) : $opt_order_order$jscomp$1$$ = null;
    this.$l$ = $opt_order_order$jscomp$1$$;
    this.$f$ = $opt_browser$$ || null;
  }
  function $bloombox$telemetry$Context$resolveVersion$$($protob$jscomp$3$$) {
    return $protob$jscomp$3$$ && $protob$jscomp$3$$.getName() ? {name:$protob$jscomp$3$$.getName()} : {};
  }
  function $bloombox$telemetry$Context$serializeBrowserContext$$($protob$jscomp$4$$) {
    return {browserType:$jspb$Message$getFieldWithDefault$$($protob$jscomp$4$$, 1, 0), deviceType:$jspb$Message$getFieldWithDefault$$($protob$jscomp$4$$, 2, 0), version:$bloombox$telemetry$Context$resolveVersion$$($jspb$Message$getWrapperField$$($protob$jscomp$4$$, $proto$structs$VersionSpec$$, 4)), os:{type:$jspb$Message$getWrapperField$$($protob$jscomp$4$$, $proto$analytics$context$DeviceOS$$, 5).$getType$(), version:$bloombox$telemetry$Context$resolveVersion$$($jspb$Message$getWrapperField$$($jspb$Message$getWrapperField$$($protob$jscomp$4$$, 
    $proto$analytics$context$DeviceOS$$, 5), $proto$structs$VersionSpec$$, 2))}, app:{type:$jspb$Message$getWrapperField$$($protob$jscomp$4$$, $proto$analytics$context$DeviceApplication$$, 6).$getType$(), origin:$jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($protob$jscomp$4$$, $proto$analytics$context$DeviceApplication$$, 6), 10, "")}, library:{variant:$jspb$Message$getWrapperField$$($protob$jscomp$4$$, $proto$analytics$context$DeviceLibrary$$, 3).$getVariant$(), version:$bloombox$telemetry$Context$resolveVersion$$($jspb$Message$getWrapperField$$($jspb$Message$getWrapperField$$($protob$jscomp$4$$, 
    $proto$analytics$context$DeviceLibrary$$, 3), $proto$structs$VersionSpec$$, 2))}};
  }
  $bloombox$telemetry$Context$$.prototype.$b$ = function $$bloombox$telemetry$Context$$$$$b$$() {
    var $baseContext$jscomp$1$$ = {};
    this.$c$ && ($baseContext$jscomp$1$$.collection = this.$c$.$b$());
    this.$h$ && ($baseContext$jscomp$1$$.fingerprint = this.$h$);
    this.$i$ && ($baseContext$jscomp$1$$.group = this.$i$);
    this.$j$ && ($baseContext$jscomp$1$$.user = {uid:$jspb$Message$getFieldWithDefault$$(this.$j$, 1, "")});
    this.$l$ && ($baseContext$jscomp$1$$.order = {id:this.$l$.$getId$()});
    this.$g$ && ($baseContext$jscomp$1$$.device = $jspb$Message$getFieldWithDefault$$(this.$g$, 2, ""));
    this.$partner$ && this.location && ($baseContext$jscomp$1$$.location = {code:$jspb$Message$getFieldWithDefault$$(this.location, 2, ""), partner:{code:$jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$(this.location, $proto$partner$PartnerKey$$, 1), 1, "")}});
    this.$f$ && ($baseContext$jscomp$1$$.browser = $bloombox$telemetry$Context$serializeBrowserContext$$(this.$f$));
    return $baseContext$jscomp$1$$;
  };
  $bloombox$telemetry$Context$$.prototype.$a$ = function $$bloombox$telemetry$Context$$$$$a$$() {
    var $context$jscomp$5$$ = new $proto$analytics$Context$$;
    this.$h$ && $jspb$Message$setField$$($context$jscomp$5$$, 4, this.$h$);
    this.$i$ && $jspb$Message$setField$$($context$jscomp$5$$, 5, this.$i$);
    if (this.$c$) {
      var $scope$jscomp$2_value$jscomp$inline_643$$ = this.$c$.$a$();
      $jspb$Message$setWrapperField$$($context$jscomp$5$$, 1, $scope$jscomp$2_value$jscomp$inline_643$$);
    }
    this.$j$ && $jspb$Message$setWrapperField$$($context$jscomp$5$$, 2, this.$j$);
    $scope$jscomp$2_value$jscomp$inline_643$$ = new $proto$analytics$Scope$$;
    if (this.location) {
      var $value$jscomp$inline_649_value$jscomp$inline_652$$ = this.$g$ ? "partner/" + $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$(this.location, $proto$partner$PartnerKey$$, 1), 1, "") + "location/" + $jspb$Message$getFieldWithDefault$$(this.location, 2, "") + "device/" + $jspb$Message$getFieldWithDefault$$(this.$g$, 2, "") : "partner/" + $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$(this.location, $proto$partner$PartnerKey$$, 1), 1, "") + "location/" + 
      $jspb$Message$getFieldWithDefault$$(this.location, 2, "");
      $jspb$Message$setField$$($scope$jscomp$2_value$jscomp$inline_643$$, 1, $value$jscomp$inline_649_value$jscomp$inline_652$$);
    }
    this.$f$ && $jspb$Message$setOneofWrapperField$$($context$jscomp$5$$, 61, $proto$analytics$Context$oneofGroups_$$[0], this.$f$);
    return $context$jscomp$5$$;
  };
  var $bloombox$telemetry$GLOBAL_CONTEXT$$ = null, $bloombox$telemetry$DEVICE_FINGERPRINT$$ = null, $bloombox$telemetry$SESSION_ID$$ = null;
  function $bloombox$telemetry$rpc$TelemetryRPC$$($apiKey$jscomp$2_uuid$jscomp$1$$, $rpcMethod$jscomp$1$$, $success$jscomp$1$$, $failure$$, $opt_payload$jscomp$1$$, $endpoint$jscomp$inline_661_opt_context$jscomp$17_targetEndpoint$jscomp$2$$, $JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$) {
    $apiKey$jscomp$2_uuid$jscomp$1$$ = $bloombox$config$$.active().key;
    if ($JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$ && "string" !== typeof $JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$) {
      throw new $bloombox$rpc$RPCException$$("Invalid explicit RPC endpoint: " + $JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$);
    }
    if (null !== $opt_payload$jscomp$1$$ && void 0 !== $opt_payload$jscomp$1$$ && "object" !== typeof $opt_payload$jscomp$1$$) {
      throw new $bloombox$rpc$RPCException$$("Cannot provide non-object type as payload: " + $opt_payload$jscomp$1$$);
    }
    if (!$apiKey$jscomp$2_uuid$jscomp$1$$ || "string" !== typeof $apiKey$jscomp$2_uuid$jscomp$1$$) {
      throw new $bloombox$rpc$RPCException$$("API key could not be resolved. Please call `setup` before any RPC methods.");
    }
    if (!$JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$) {
      $JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$ = $bloombox$telemetry$TelemetryEndpoint$$[$rpcMethod$jscomp$1$$];
      if (!$JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$) {
        throw new $bloombox$rpc$RPCException$$('Cannot render RPC of type "' + $rpcMethod$jscomp$1$$ + '".');
      }
      $JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$ = $JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$($endpoint$jscomp$inline_661_opt_context$jscomp$17_targetEndpoint$jscomp$2$$);
    }
    $endpoint$jscomp$inline_661_opt_context$jscomp$17_targetEndpoint$jscomp$2$$ = $JSCompiler_temp$jscomp$825_opt_endpoint_renderer$jscomp$inline_896$$;
    $endpoint$jscomp$inline_661_opt_context$jscomp$17_targetEndpoint$jscomp$2$$ = [["https://telemetry.api.bloombox.cloud/telemetry/v1beta2", $endpoint$jscomp$inline_661_opt_context$jscomp$17_targetEndpoint$jscomp$2$$.startsWith("/") ? $endpoint$jscomp$inline_661_opt_context$jscomp$17_targetEndpoint$jscomp$2$$.slice(1) : $endpoint$jscomp$inline_661_opt_context$jscomp$17_targetEndpoint$jscomp$2$$].join("/"), ["key", $apiKey$jscomp$2_uuid$jscomp$1$$].join("=")].join("?");
    this.$a$ = $rpcMethod$jscomp$1$$;
    this.$h$ = $bloombox$telemetry$TelemetryHTTPMethod$$[$rpcMethod$jscomp$1$$];
    this.$f$ = $endpoint$jscomp$inline_661_opt_context$jscomp$17_targetEndpoint$jscomp$2$$;
    this.$b$ = void 0 === $opt_payload$jscomp$1$$ ? null : $opt_payload$jscomp$1$$;
    this.$c$ = $success$jscomp$1$$;
    this.$g$ = $failure$$;
  }
  ;function $goog$structs$Node$$($key$jscomp$121$$, $value$jscomp$1144$$) {
    this.$a$ = $key$jscomp$121$$;
    this.$b$ = $value$jscomp$1144$$;
  }
  ;function $goog$structs$Heap$$($opt_heap_values$jscomp$inline_666$$) {
    this.$a$ = [];
    if ($opt_heap_values$jscomp$inline_666$$) {
      a: {
        if ($opt_heap_values$jscomp$inline_666$$ instanceof $goog$structs$Heap$$) {
          var $keys$jscomp$inline_665$$ = $opt_heap_values$jscomp$inline_666$$.$getKeys$();
          $opt_heap_values$jscomp$inline_666$$ = $opt_heap_values$jscomp$inline_666$$.$getValues$();
          if (0 >= this.$getCount$()) {
            for (var $nodes$jscomp$inline_667$$ = this.$a$, $i$jscomp$inline_668$$ = 0; $i$jscomp$inline_668$$ < $keys$jscomp$inline_665$$.length; $i$jscomp$inline_668$$++) {
              $nodes$jscomp$inline_667$$.push(new $goog$structs$Node$$($keys$jscomp$inline_665$$[$i$jscomp$inline_668$$], $opt_heap_values$jscomp$inline_666$$[$i$jscomp$inline_668$$]));
            }
            break a;
          }
        } else {
          $keys$jscomp$inline_665$$ = $goog$object$getKeys$$($opt_heap_values$jscomp$inline_666$$), $opt_heap_values$jscomp$inline_666$$ = $goog$object$getValues$$($opt_heap_values$jscomp$inline_666$$);
        }
        for ($i$jscomp$inline_668$$ = 0; $i$jscomp$inline_668$$ < $keys$jscomp$inline_665$$.length; $i$jscomp$inline_668$$++) {
          $JSCompiler_StaticMethods_insert$$(this, $keys$jscomp$inline_665$$[$i$jscomp$inline_668$$], $opt_heap_values$jscomp$inline_666$$[$i$jscomp$inline_668$$]);
        }
      }
    }
  }
  function $JSCompiler_StaticMethods_insert$$($JSCompiler_StaticMethods_insert$self_nodes$jscomp$inline_672$$, $index$jscomp$inline_671_key$jscomp$122$$, $node$jscomp$inline_673_value$jscomp$1145$$) {
    var $nodes$jscomp$3_parentIndex$jscomp$inline_674$$ = $JSCompiler_StaticMethods_insert$self_nodes$jscomp$inline_672$$.$a$;
    $nodes$jscomp$3_parentIndex$jscomp$inline_674$$.push(new $goog$structs$Node$$($index$jscomp$inline_671_key$jscomp$122$$, $node$jscomp$inline_673_value$jscomp$1145$$));
    $index$jscomp$inline_671_key$jscomp$122$$ = $nodes$jscomp$3_parentIndex$jscomp$inline_674$$.length - 1;
    $JSCompiler_StaticMethods_insert$self_nodes$jscomp$inline_672$$ = $JSCompiler_StaticMethods_insert$self_nodes$jscomp$inline_672$$.$a$;
    for ($node$jscomp$inline_673_value$jscomp$1145$$ = $JSCompiler_StaticMethods_insert$self_nodes$jscomp$inline_672$$[$index$jscomp$inline_671_key$jscomp$122$$]; 0 < $index$jscomp$inline_671_key$jscomp$122$$;) {
      if ($nodes$jscomp$3_parentIndex$jscomp$inline_674$$ = $index$jscomp$inline_671_key$jscomp$122$$ - 1 >> 1, $JSCompiler_StaticMethods_insert$self_nodes$jscomp$inline_672$$[$nodes$jscomp$3_parentIndex$jscomp$inline_674$$].$a$ > $node$jscomp$inline_673_value$jscomp$1145$$.$a$) {
        $JSCompiler_StaticMethods_insert$self_nodes$jscomp$inline_672$$[$index$jscomp$inline_671_key$jscomp$122$$] = $JSCompiler_StaticMethods_insert$self_nodes$jscomp$inline_672$$[$nodes$jscomp$3_parentIndex$jscomp$inline_674$$], $index$jscomp$inline_671_key$jscomp$122$$ = $nodes$jscomp$3_parentIndex$jscomp$inline_674$$;
      } else {
        break;
      }
    }
    $JSCompiler_StaticMethods_insert$self_nodes$jscomp$inline_672$$[$index$jscomp$inline_671_key$jscomp$122$$] = $node$jscomp$inline_673_value$jscomp$1145$$;
  }
  function $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$$($JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$) {
    var $index$jscomp$inline_899_nodes$jscomp$5$$ = $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$.$a$, $count$jscomp$28_count$jscomp$inline_901$$ = $index$jscomp$inline_899_nodes$jscomp$5$$.length, $rootNode$$ = $index$jscomp$inline_899_nodes$jscomp$5$$[0];
    if (!(0 >= $count$jscomp$28_count$jscomp$inline_901$$)) {
      if (1 == $count$jscomp$28_count$jscomp$inline_901$$) {
        $goog$array$clear$$($index$jscomp$inline_899_nodes$jscomp$5$$);
      } else {
        $index$jscomp$inline_899_nodes$jscomp$5$$[0] = $index$jscomp$inline_899_nodes$jscomp$5$$.pop();
        $index$jscomp$inline_899_nodes$jscomp$5$$ = 0;
        $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$ = $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$.$a$;
        $count$jscomp$28_count$jscomp$inline_901$$ = $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$.length;
        for (var $node$jscomp$inline_902$$ = $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$[$index$jscomp$inline_899_nodes$jscomp$5$$]; $index$jscomp$inline_899_nodes$jscomp$5$$ < $count$jscomp$28_count$jscomp$inline_901$$ >> 1;) {
          var $leftChildIndex$jscomp$inline_903_smallerChildIndex$jscomp$inline_905$$ = 2 * $index$jscomp$inline_899_nodes$jscomp$5$$ + 1, $rightChildIndex$jscomp$inline_904$$ = 2 * $index$jscomp$inline_899_nodes$jscomp$5$$ + 2;
          $leftChildIndex$jscomp$inline_903_smallerChildIndex$jscomp$inline_905$$ = $rightChildIndex$jscomp$inline_904$$ < $count$jscomp$28_count$jscomp$inline_901$$ && $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$[$rightChildIndex$jscomp$inline_904$$].$a$ < $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$[$leftChildIndex$jscomp$inline_903_smallerChildIndex$jscomp$inline_905$$].$a$ ? $rightChildIndex$jscomp$inline_904$$ : 
          $leftChildIndex$jscomp$inline_903_smallerChildIndex$jscomp$inline_905$$;
          if ($JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$[$leftChildIndex$jscomp$inline_903_smallerChildIndex$jscomp$inline_905$$].$a$ > $node$jscomp$inline_902$$.$a$) {
            break;
          }
          $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$[$index$jscomp$inline_899_nodes$jscomp$5$$] = $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$[$leftChildIndex$jscomp$inline_903_smallerChildIndex$jscomp$inline_905$$];
          $index$jscomp$inline_899_nodes$jscomp$5$$ = $leftChildIndex$jscomp$inline_903_smallerChildIndex$jscomp$inline_905$$;
        }
        $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$self_nodes$jscomp$inline_900$$[$index$jscomp$inline_899_nodes$jscomp$5$$] = $node$jscomp$inline_902$$;
      }
      return $rootNode$$.$b$;
    }
  }
  $goog$structs$Heap$$.prototype.$getValues$ = function $$goog$structs$Heap$$$$$getValues$$() {
    for (var $nodes$jscomp$9$$ = this.$a$, $rv$jscomp$18$$ = [], $l$jscomp$20$$ = $nodes$jscomp$9$$.length, $i$jscomp$220$$ = 0; $i$jscomp$220$$ < $l$jscomp$20$$; $i$jscomp$220$$++) {
      $rv$jscomp$18$$.push($nodes$jscomp$9$$[$i$jscomp$220$$].$b$);
    }
    return $rv$jscomp$18$$;
  };
  $goog$structs$Heap$$.prototype.$getKeys$ = function $$goog$structs$Heap$$$$$getKeys$$() {
    for (var $nodes$jscomp$10$$ = this.$a$, $rv$jscomp$19$$ = [], $l$jscomp$21$$ = $nodes$jscomp$10$$.length, $i$jscomp$221$$ = 0; $i$jscomp$221$$ < $l$jscomp$21$$; $i$jscomp$221$$++) {
      $rv$jscomp$19$$.push($nodes$jscomp$10$$[$i$jscomp$221$$].$a$);
    }
    return $rv$jscomp$19$$;
  };
  $goog$structs$Heap$$.prototype.$getCount$ = function $$goog$structs$Heap$$$$$getCount$$() {
    return this.$a$.length;
  };
  function $goog$structs$PriorityQueue$$() {
    $goog$structs$Heap$$.call(this);
  }
  $goog$inherits$$($goog$structs$PriorityQueue$$, $goog$structs$Heap$$);
  function $bloombox$telemetry$internals$QueuedEvent$$($uuid$jscomp$3$$, $rpc$jscomp$5$$, $priority$jscomp$2$$) {
    this.$a$ = $rpc$jscomp$5$$;
    this.$f$ = $uuid$jscomp$3$$;
    this.$b$ = $priority$jscomp$2$$;
  }
  function $JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$dequeue$$($mapper$$) {
    for (var $JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$dequeue$self$$ = $bloombox$telemetry$internals$EVENT_QUEUE$$, $i$jscomp$222$$ = 0; 5 > $i$jscomp$222$$;) {
      var $ev$jscomp$1$$ = $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$$($JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$dequeue$self$$.$a$);
      if ($ev$jscomp$1$$) {
        $JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$dequeue$self$$.count--, $bloombox$telemetry$internals$state$QUEUED_EVENT_COUNT_$$ = $JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$dequeue$self$$.count, $mapper$$($ev$jscomp$1$$), $i$jscomp$222$$++;
      } else {
        break;
      }
    }
    return $i$jscomp$222$$;
  }
  ;var $bloombox$telemetry$internals$HTTP_HEADERS$$ = new $goog$structs$Map$$({Accept:"application/json;*/*"}), $bloombox$telemetry$TelemetryHTTPMethod$$ = {PING:"GET", EVENT:"POST", EXCEPTION:"POST", SECTION_IMPRESSION:"GET", SECTION_VIEW:"GET", SECTION_ACTION:"GET", PRODUCT_IMPRESSION:"GET", PRODUCT_VIEW:"GET", PRODUCT_ACTION:"GET", USER_ACTION:"GET", ORDER_ACTION:"GET"}, $bloombox$telemetry$TelemetryEndpoint$$ = {PING:function() {
    return "ping";
  }, EVENT:function($context$jscomp$7$$) {
    return "events/" + $jspb$Message$getWrapperField$$($context$jscomp$7$$, $proto$analytics$context$Collection$$, 1).getName();
  }, EXCEPTION:function($context$jscomp$8$$) {
    return "exceptions/" + $jspb$Message$getWrapperField$$($context$jscomp$8$$, $proto$analytics$context$Collection$$, 1).getName();
  }};
  function $goog$events$EventHandler$$($opt_scope$jscomp$4$$) {
    $goog$Disposable$$.call(this);
    this.$b$ = $opt_scope$jscomp$4$$;
    this.$a$ = {};
  }
  $goog$inherits$$($goog$events$EventHandler$$, $goog$Disposable$$);
  var $goog$events$EventHandler$typeArray_$$ = [];
  $goog$events$EventHandler$$.prototype.$G$ = function $$goog$events$EventHandler$$$$$G$$($src$jscomp$23$$, $type$jscomp$160_type$jscomp$inline_686$$, $opt_fn$$, $opt_options$jscomp$82$$) {
    $goog$isArray$$($type$jscomp$160_type$jscomp$inline_686$$) || ($type$jscomp$160_type$jscomp$inline_686$$ && ($goog$events$EventHandler$typeArray_$$[0] = $type$jscomp$160_type$jscomp$inline_686$$.toString()), $type$jscomp$160_type$jscomp$inline_686$$ = $goog$events$EventHandler$typeArray_$$);
    for (var $i$jscomp$inline_690$$ = 0; $i$jscomp$inline_690$$ < $type$jscomp$160_type$jscomp$inline_686$$.length; $i$jscomp$inline_690$$++) {
      var $listenerObj$jscomp$inline_691$$ = $goog$events$listen$$($src$jscomp$23$$, $type$jscomp$160_type$jscomp$inline_686$$[$i$jscomp$inline_690$$], $opt_fn$$ || this.handleEvent, $opt_options$jscomp$82$$ || !1, this.$b$ || this);
      if (!$listenerObj$jscomp$inline_691$$) {
        break;
      }
      this.$a$[$listenerObj$jscomp$inline_691$$.key] = $listenerObj$jscomp$inline_691$$;
    }
    return this;
  };
  $goog$events$EventHandler$$.prototype.$m$ = function $$goog$events$EventHandler$$$$$m$$($listenerMap$jscomp$inline_699_src$jscomp$32$$, $listener$jscomp$83_type$jscomp$166$$, $listener$jscomp$inline_695_opt_fn$jscomp$4$$, $capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$, $opt_handler$jscomp$inline_697_opt_scope$jscomp$8$$) {
    if ($goog$isArray$$($listener$jscomp$83_type$jscomp$166$$)) {
      for (var $i$jscomp$225$$ = 0; $i$jscomp$225$$ < $listener$jscomp$83_type$jscomp$166$$.length; $i$jscomp$225$$++) {
        this.$m$($listenerMap$jscomp$inline_699_src$jscomp$32$$, $listener$jscomp$83_type$jscomp$166$$[$i$jscomp$225$$], $listener$jscomp$inline_695_opt_fn$jscomp$4$$, $capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$, $opt_handler$jscomp$inline_697_opt_scope$jscomp$8$$);
      }
    } else {
      $listener$jscomp$inline_695_opt_fn$jscomp$4$$ = $listener$jscomp$inline_695_opt_fn$jscomp$4$$ || this.handleEvent, $capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$ = $goog$isObject$$($capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$) ? !!$capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$.capture : !!$capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$, $opt_handler$jscomp$inline_697_opt_scope$jscomp$8$$ = 
      $opt_handler$jscomp$inline_697_opt_scope$jscomp$8$$ || this.$b$ || this, $listener$jscomp$inline_695_opt_fn$jscomp$4$$ = $goog$events$wrapListener$$($listener$jscomp$inline_695_opt_fn$jscomp$4$$), $capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$ = !!$capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$, $listener$jscomp$83_type$jscomp$166$$ = $goog$events$Listenable$isImplementedBy$$($listenerMap$jscomp$inline_699_src$jscomp$32$$) ? $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$$($listenerMap$jscomp$inline_699_src$jscomp$32$$.$b$, 
      String($listener$jscomp$83_type$jscomp$166$$), $listener$jscomp$inline_695_opt_fn$jscomp$4$$, $capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$, $opt_handler$jscomp$inline_697_opt_scope$jscomp$8$$) : $listenerMap$jscomp$inline_699_src$jscomp$32$$ ? ($listenerMap$jscomp$inline_699_src$jscomp$32$$ = $goog$events$getListenerMap_$$($listenerMap$jscomp$inline_699_src$jscomp$32$$)) ? $JSCompiler_StaticMethods_goog_events_ListenerMap_prototype$getListener$$($listenerMap$jscomp$inline_699_src$jscomp$32$$, 
      $listener$jscomp$83_type$jscomp$166$$, $listener$jscomp$inline_695_opt_fn$jscomp$4$$, $capture$jscomp$inline_698_opt_capt$jscomp$inline_696_opt_options$jscomp$86$$, $opt_handler$jscomp$inline_697_opt_scope$jscomp$8$$) : null : null, $listener$jscomp$83_type$jscomp$166$$ && ($goog$events$unlistenByKey$$($listener$jscomp$83_type$jscomp$166$$), delete this.$a$[$listener$jscomp$83_type$jscomp$166$$.key]);
    }
  };
  function $JSCompiler_StaticMethods_goog_events_EventHandler_prototype$removeAll$$($JSCompiler_StaticMethods_goog_events_EventHandler_prototype$removeAll$self$$) {
    $goog$object$forEach$$($JSCompiler_StaticMethods_goog_events_EventHandler_prototype$removeAll$self$$.$a$, function($listenerObj$jscomp$8$$, $key$jscomp$127$$) {
      this.$a$.hasOwnProperty($key$jscomp$127$$) && $goog$events$unlistenByKey$$($listenerObj$jscomp$8$$);
    }, $JSCompiler_StaticMethods_goog_events_EventHandler_prototype$removeAll$self$$);
    $JSCompiler_StaticMethods_goog_events_EventHandler_prototype$removeAll$self$$.$a$ = {};
  }
  $goog$events$EventHandler$$.prototype.$disposeInternal$ = function $$goog$events$EventHandler$$$$$disposeInternal$$() {
    $goog$events$EventHandler$$.$superClass_$.$disposeInternal$.call(this);
    $JSCompiler_StaticMethods_goog_events_EventHandler_prototype$removeAll$$(this);
  };
  $goog$events$EventHandler$$.prototype.handleEvent = function $$goog$events$EventHandler$$$$handleEvent$() {
    throw Error("EventHandler.handleEvent not implemented");
  };
  function $goog$structs$Queue$$() {
    this.$b$ = [];
    this.$a$ = [];
  }
  function $JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$$($JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$self$$) {
    0 == $JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$self$$.$b$.length && ($JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$self$$.$b$ = $JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$self$$.$a$, $JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$self$$.$b$.reverse(), $JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$self$$.$a$ = []);
    return $JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$self$$.$b$.pop();
  }
  $goog$structs$Queue$$.prototype.$getCount$ = function $$goog$structs$Queue$$$$$getCount$$() {
    return this.$b$.length + this.$a$.length;
  };
  $goog$structs$Queue$$.prototype.contains = function $$goog$structs$Queue$$$$contains$($obj$jscomp$306$$) {
    return 0 <= $goog$array$indexOf$$(this.$b$, $obj$jscomp$306$$) || 0 <= $goog$array$indexOf$$(this.$a$, $obj$jscomp$306$$);
  };
  $goog$structs$Queue$$.prototype.$getValues$ = function $$goog$structs$Queue$$$$$getValues$$() {
    for (var $res$jscomp$8$$ = [], $i$jscomp$226$$ = this.$b$.length - 1; 0 <= $i$jscomp$226$$; --$i$jscomp$226$$) {
      $res$jscomp$8$$.push(this.$b$[$i$jscomp$226$$]);
    }
    var $len$jscomp$3$$ = this.$a$.length;
    for ($i$jscomp$226$$ = 0; $i$jscomp$226$$ < $len$jscomp$3$$; ++$i$jscomp$226$$) {
      $res$jscomp$8$$.push(this.$a$[$i$jscomp$226$$]);
    }
    return $res$jscomp$8$$;
  };
  function $goog$structs$Set$$() {
    this.$a$ = new $goog$structs$Map$$;
  }
  function $goog$structs$Set$getKey_$$($val$jscomp$40$$) {
    var $type$jscomp$167$$ = typeof $val$jscomp$40$$;
    return "object" == $type$jscomp$167$$ && $val$jscomp$40$$ || "function" == $type$jscomp$167$$ ? "o" + ($val$jscomp$40$$[$goog$UID_PROPERTY_$$] || ($val$jscomp$40$$[$goog$UID_PROPERTY_$$] = ++$goog$uidCounter_$$)) : $type$jscomp$167$$.charAt(0) + $val$jscomp$40$$;
  }
  $goog$structs$Set$$.prototype.$getCount$ = function $$goog$structs$Set$$$$$getCount$$() {
    return this.$a$.$getCount$();
  };
  $goog$structs$Set$$.prototype.add = function $$goog$structs$Set$$$$add$($element$jscomp$11$$) {
    this.$a$.set($goog$structs$Set$getKey_$$($element$jscomp$11$$), $element$jscomp$11$$);
  };
  $goog$structs$Set$$.prototype.contains = function $$goog$structs$Set$$$$contains$($element$jscomp$13_key$jscomp$inline_710$$) {
    $element$jscomp$13_key$jscomp$inline_710$$ = $goog$structs$Set$getKey_$$($element$jscomp$13_key$jscomp$inline_710$$);
    return $goog$structs$Map$hasKey_$$(this.$a$.$b$, $element$jscomp$13_key$jscomp$inline_710$$);
  };
  $goog$structs$Set$$.prototype.$getValues$ = function $$goog$structs$Set$$$$$getValues$$() {
    return this.$a$.$getValues$();
  };
  function $goog$structs$Pool$$($opt_minCount$$, $opt_maxCount$$) {
    $goog$Disposable$$.call(this);
    this.$i$ = $opt_minCount$$ || 0;
    this.$c$ = $opt_maxCount$$ || 10;
    if (this.$i$ > this.$c$) {
      throw Error($goog$structs$Pool$ERROR_MIN_MAX_$$);
    }
    this.$a$ = new $goog$structs$Queue$$;
    this.$b$ = new $goog$structs$Set$$;
    this.$h$ = null;
    this.$adjustForMinMax$();
  }
  $goog$inherits$$($goog$structs$Pool$$, $goog$Disposable$$);
  var $goog$structs$Pool$ERROR_MIN_MAX_$$ = "[goog.structs.Pool] Min can not be greater than max";
  $JSCompiler_prototypeAlias$$ = $goog$structs$Pool$$.prototype;
  $JSCompiler_prototypeAlias$$.$getObject$ = function $$JSCompiler_prototypeAlias$$$$getObject$$() {
    var $time$jscomp$1$$ = $goog$now$$();
    if (!(null != this.$h$ && 0 > $time$jscomp$1$$ - this.$h$)) {
      for (var $obj$jscomp$308_obj$jscomp$inline_713$$; 0 < this.$a$.$getCount$() && ($obj$jscomp$308_obj$jscomp$inline_713$$ = $JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$$(this.$a$), !this.$objectCanBeReused$($obj$jscomp$308_obj$jscomp$inline_713$$));) {
        this.$adjustForMinMax$();
      }
      !$obj$jscomp$308_obj$jscomp$inline_713$$ && this.$getCount$() < this.$c$ && ($obj$jscomp$308_obj$jscomp$inline_713$$ = this.$createObject$());
      $obj$jscomp$308_obj$jscomp$inline_713$$ && (this.$h$ = $time$jscomp$1$$, this.$b$.add($obj$jscomp$308_obj$jscomp$inline_713$$));
      return $obj$jscomp$308_obj$jscomp$inline_713$$;
    }
  };
  function $JSCompiler_StaticMethods_releaseObject$$($JSCompiler_StaticMethods_releaseObject$self$$, $obj$jscomp$309$$) {
    $JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$$($JSCompiler_StaticMethods_releaseObject$self$$.$b$.$a$, $goog$structs$Set$getKey_$$($obj$jscomp$309$$)) && $JSCompiler_StaticMethods_releaseObject$self$$.$addFreeObject$($obj$jscomp$309$$);
  }
  $JSCompiler_prototypeAlias$$.$addFreeObject$ = function $$JSCompiler_prototypeAlias$$$$addFreeObject$$($obj$jscomp$311$$) {
    $JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$$(this.$b$.$a$, $goog$structs$Set$getKey_$$($obj$jscomp$311$$));
    this.$objectCanBeReused$($obj$jscomp$311$$) && this.$getCount$() < this.$c$ ? this.$a$.$a$.push($obj$jscomp$311$$) : $JSCompiler_StaticMethods_disposeObject$$($obj$jscomp$311$$);
  };
  $JSCompiler_prototypeAlias$$.$adjustForMinMax$ = function $$JSCompiler_prototypeAlias$$$$adjustForMinMax$$() {
    for (var $freeQueue$$ = this.$a$; this.$getCount$() < this.$i$;) {
      var $element$jscomp$inline_719$$ = this.$createObject$();
      $freeQueue$$.$a$.push($element$jscomp$inline_719$$);
    }
    for (; this.$getCount$() > this.$c$ && 0 < this.$a$.$getCount$();) {
      $JSCompiler_StaticMethods_disposeObject$$($JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$$($freeQueue$$));
    }
  };
  $JSCompiler_prototypeAlias$$.$createObject$ = function $$JSCompiler_prototypeAlias$$$$createObject$$() {
    return {};
  };
  function $JSCompiler_StaticMethods_disposeObject$$($obj$jscomp$312$$) {
    if ("function" == typeof $obj$jscomp$312$$.$dispose$) {
      $obj$jscomp$312$$.$dispose$();
    } else {
      for (var $i$jscomp$230$$ in $obj$jscomp$312$$) {
        $obj$jscomp$312$$[$i$jscomp$230$$] = null;
      }
    }
  }
  $JSCompiler_prototypeAlias$$.$objectCanBeReused$ = function $$JSCompiler_prototypeAlias$$$$objectCanBeReused$$($obj$jscomp$313$$) {
    return "function" == typeof $obj$jscomp$313$$.$canBeReused$ ? $obj$jscomp$313$$.$canBeReused$() : !0;
  };
  $JSCompiler_prototypeAlias$$.contains = function $$JSCompiler_prototypeAlias$$$contains$($obj$jscomp$314$$) {
    return this.$a$.contains($obj$jscomp$314$$) || this.$b$.contains($obj$jscomp$314$$);
  };
  $JSCompiler_prototypeAlias$$.$getCount$ = function $$JSCompiler_prototypeAlias$$$$getCount$$() {
    return this.$a$.$getCount$() + this.$b$.$getCount$();
  };
  $JSCompiler_prototypeAlias$$.$disposeInternal$ = function $$JSCompiler_prototypeAlias$$$$disposeInternal$$() {
    $goog$structs$Pool$$.$superClass_$.$disposeInternal$.call(this);
    if (0 < this.$b$.$getCount$()) {
      throw Error("[goog.structs.Pool] Objects not released");
    }
    delete this.$b$;
    for (var $freeQueue$jscomp$1$$ = this.$a$; 0 != $freeQueue$jscomp$1$$.$b$.length || 0 != $freeQueue$jscomp$1$$.$a$.length;) {
      $JSCompiler_StaticMethods_disposeObject$$($JSCompiler_StaticMethods_goog_structs_Queue_prototype$dequeue$$($freeQueue$jscomp$1$$));
    }
    delete this.$a$;
  };
  function $goog$structs$PriorityPool$$($opt_minCount$jscomp$1$$, $opt_maxCount$jscomp$1$$) {
    this.$f$ = new $goog$structs$PriorityQueue$$;
    $goog$structs$Pool$$.call(this, $opt_minCount$jscomp$1$$, $opt_maxCount$jscomp$1$$);
  }
  $goog$inherits$$($goog$structs$PriorityPool$$, $goog$structs$Pool$$);
  $JSCompiler_prototypeAlias$$ = $goog$structs$PriorityPool$$.prototype;
  $JSCompiler_prototypeAlias$$.$getObject$ = function $$JSCompiler_prototypeAlias$$$$getObject$$($opt_callback$jscomp$6$$, $opt_priority$jscomp$1$$) {
    if (!$opt_callback$jscomp$6$$) {
      return $goog$structs$PriorityPool$$.$superClass_$.$getObject$.call(this);
    }
    $JSCompiler_StaticMethods_insert$$(this.$f$, $goog$isDef$$($opt_priority$jscomp$1$$) ? $opt_priority$jscomp$1$$ : 100, $opt_callback$jscomp$6$$);
    this.$handleQueueRequests_$();
  };
  $JSCompiler_prototypeAlias$$.$handleQueueRequests_$ = function $$JSCompiler_prototypeAlias$$$$handleQueueRequests_$$() {
    for (var $requestQueue$$ = this.$f$; 0 < $requestQueue$$.$getCount$();) {
      var $obj$jscomp$315$$ = this.$getObject$();
      if ($obj$jscomp$315$$) {
        $JSCompiler_StaticMethods_goog_structs_Heap_prototype$remove$$($requestQueue$$).apply(this, [$obj$jscomp$315$$]);
      } else {
        break;
      }
    }
  };
  $JSCompiler_prototypeAlias$$.$addFreeObject$ = function $$JSCompiler_prototypeAlias$$$$addFreeObject$$($obj$jscomp$316$$) {
    $goog$structs$PriorityPool$$.$superClass_$.$addFreeObject$.call(this, $obj$jscomp$316$$);
    this.$handleQueueRequests_$();
  };
  $JSCompiler_prototypeAlias$$.$adjustForMinMax$ = function $$JSCompiler_prototypeAlias$$$$adjustForMinMax$$() {
    $goog$structs$PriorityPool$$.$superClass_$.$adjustForMinMax$.call(this);
    this.$handleQueueRequests_$();
  };
  $JSCompiler_prototypeAlias$$.$disposeInternal$ = function $$JSCompiler_prototypeAlias$$$$disposeInternal$$() {
    $goog$structs$PriorityPool$$.$superClass_$.$disposeInternal$.call(this);
    $goog$global$$.clearTimeout(void 0);
    $goog$array$clear$$(this.$f$.$a$);
    this.$f$ = null;
  };
  function $goog$net$XhrIoPool$$($opt_headers$jscomp$2$$, $opt_minCount$jscomp$2$$, $opt_maxCount$jscomp$2$$, $opt_withCredentials$jscomp$1$$) {
    this.$j$ = $opt_headers$jscomp$2$$;
    this.$l$ = !!$opt_withCredentials$jscomp$1$$;
    $goog$structs$PriorityPool$$.call(this, $opt_minCount$jscomp$2$$, $opt_maxCount$jscomp$2$$);
  }
  $goog$inherits$$($goog$net$XhrIoPool$$, $goog$structs$PriorityPool$$);
  $goog$net$XhrIoPool$$.prototype.$createObject$ = function $$goog$net$XhrIoPool$$$$$createObject$$() {
    var $xhrIo$$ = new $goog$net$XhrIo$$, $headers$jscomp$1$$ = this.$j$;
    $headers$jscomp$1$$ && $headers$jscomp$1$$.forEach(function($value$jscomp$1149$$, $key$jscomp$128$$) {
      $xhrIo$$.headers.set($key$jscomp$128$$, $value$jscomp$1149$$);
    });
    this.$l$ && ($xhrIo$$.$j$ = !0);
    return $xhrIo$$;
  };
  $goog$net$XhrIoPool$$.prototype.$objectCanBeReused$ = function $$goog$net$XhrIoPool$$$$$objectCanBeReused$$($obj$jscomp$317$$) {
    return !$obj$jscomp$317$$.$g$ && !$obj$jscomp$317$$.$a$;
  };
  function $goog$net$XhrManager$$($opt_maxRetries$$, $opt_headers$jscomp$3$$, $opt_minCount$jscomp$3$$, $opt_maxCount$jscomp$3$$, $opt_timeoutInterval$jscomp$1$$, $opt_withCredentials$jscomp$2$$) {
    $goog$events$EventTarget$$.call(this);
    this.$i$ = $goog$isDef$$($opt_maxRetries$$) ? $opt_maxRetries$$ : 1;
    this.$h$ = $goog$isDef$$($opt_timeoutInterval$jscomp$1$$) ? Math.max(0, $opt_timeoutInterval$jscomp$1$$) : 0;
    this.$j$ = !!$opt_withCredentials$jscomp$2$$;
    this.$c$ = new $goog$net$XhrIoPool$$($opt_headers$jscomp$3$$, $opt_minCount$jscomp$3$$, $opt_maxCount$jscomp$3$$, $opt_withCredentials$jscomp$2$$);
    this.$a$ = new $goog$structs$Map$$;
    this.$f$ = new $goog$events$EventHandler$$(this);
  }
  $goog$inherits$$($goog$net$XhrManager$$, $goog$events$EventTarget$$);
  var $goog$net$XhrManager$XHR_EVENT_TYPES_$$ = "ready complete success error abort timeout".split(" ");
  $JSCompiler_prototypeAlias$$ = $goog$net$XhrManager$$.prototype;
  $JSCompiler_prototypeAlias$$.send = function $$JSCompiler_prototypeAlias$$$send$($callback$jscomp$64_id$jscomp$13$$, $request$jscomp$5_url$jscomp$26$$, $opt_method$jscomp$2$$, $opt_content$jscomp$2$$, $opt_headers$jscomp$4$$, $opt_priority$jscomp$2$$, $opt_callback$jscomp$7$$, $opt_maxRetries$jscomp$1$$, $opt_responseType$$, $opt_withCredentials$jscomp$3$$) {
    if (this.$a$.get($callback$jscomp$64_id$jscomp$13$$)) {
      throw Error("[goog.net.XhrManager] ID in use");
    }
    $request$jscomp$5_url$jscomp$26$$ = new $goog$net$XhrManager$Request$$($request$jscomp$5_url$jscomp$26$$, $goog$bind$$(this.$handleEvent_$, this, $callback$jscomp$64_id$jscomp$13$$), $opt_method$jscomp$2$$, $opt_content$jscomp$2$$, $opt_headers$jscomp$4$$, $opt_callback$jscomp$7$$, $goog$isDef$$($opt_maxRetries$jscomp$1$$) ? $opt_maxRetries$jscomp$1$$ : this.$i$, $opt_responseType$$, $goog$isDef$$($opt_withCredentials$jscomp$3$$) ? $opt_withCredentials$jscomp$3$$ : this.$j$);
    this.$a$.set($callback$jscomp$64_id$jscomp$13$$, $request$jscomp$5_url$jscomp$26$$);
    $callback$jscomp$64_id$jscomp$13$$ = $goog$bind$$(this.$handleAvailableXhr_$, this, $callback$jscomp$64_id$jscomp$13$$);
    this.$c$.$getObject$($callback$jscomp$64_id$jscomp$13$$, $opt_priority$jscomp$2$$);
    return $request$jscomp$5_url$jscomp$26$$;
  };
  $JSCompiler_prototypeAlias$$.abort = function $$JSCompiler_prototypeAlias$$$abort$($id$jscomp$14$$, $opt_force$jscomp$1$$) {
    var $request$jscomp$6$$ = this.$a$.get($id$jscomp$14$$);
    if ($request$jscomp$6$$) {
      var $xhrIo$jscomp$1$$ = $request$jscomp$6$$.$xhrIo$;
      $request$jscomp$6$$.$aborted_$ = !0;
      $opt_force$jscomp$1$$ && ($xhrIo$jscomp$1$$ && (this.$f$.$m$($xhrIo$jscomp$1$$, $goog$net$XhrManager$XHR_EVENT_TYPES_$$, $request$jscomp$6$$.$xhrEventCallback_$), $goog$events$listenOnce$$($xhrIo$jscomp$1$$, "ready", function() {
        $JSCompiler_StaticMethods_releaseObject$$(this.$c$, $xhrIo$jscomp$1$$);
      }, !1, this)), $JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$$(this.$a$, $id$jscomp$14$$));
      $xhrIo$jscomp$1$$ && $xhrIo$jscomp$1$$.abort();
    }
  };
  $JSCompiler_prototypeAlias$$.$handleAvailableXhr_$ = function $$JSCompiler_prototypeAlias$$$$handleAvailableXhr_$$($id$jscomp$15$$, $xhrIo$jscomp$2$$) {
    var $request$jscomp$7$$ = this.$a$.get($id$jscomp$15$$);
    $request$jscomp$7$$ && !$request$jscomp$7$$.$xhrIo$ ? (this.$f$.$G$($xhrIo$jscomp$2$$, $goog$net$XhrManager$XHR_EVENT_TYPES_$$, $request$jscomp$7$$.$xhrEventCallback_$), $xhrIo$jscomp$2$$.$h$ = Math.max(0, this.$h$), $xhrIo$jscomp$2$$.$o$ = $request$jscomp$7$$.$getResponseType$(), $xhrIo$jscomp$2$$.$j$ = $request$jscomp$7$$.$getWithCredentials$(), $request$jscomp$7$$.$xhrIo$ = $xhrIo$jscomp$2$$, $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$(this, new $goog$net$XhrManager$Event$$("ready", 
    this, $id$jscomp$15$$, $xhrIo$jscomp$2$$)), $JSCompiler_StaticMethods_retry_$$(this, $id$jscomp$15$$, $xhrIo$jscomp$2$$), $request$jscomp$7$$.$aborted_$ && $xhrIo$jscomp$2$$.abort()) : $JSCompiler_StaticMethods_releaseObject$$(this.$c$, $xhrIo$jscomp$2$$);
  };
  $JSCompiler_prototypeAlias$$.$handleEvent_$ = function $$JSCompiler_prototypeAlias$$$$handleEvent_$$($JSCompiler_inline_result$jscomp$58_id$jscomp$16$$, $JSCompiler_StaticMethods_hasReachedMaxRetries$self$jscomp$inline_915_e$jscomp$55$$) {
    var $xhrIo$jscomp$3$$ = $JSCompiler_StaticMethods_hasReachedMaxRetries$self$jscomp$inline_915_e$jscomp$55$$.target;
    switch($JSCompiler_StaticMethods_hasReachedMaxRetries$self$jscomp$inline_915_e$jscomp$55$$.type) {
      case "ready":
        $JSCompiler_StaticMethods_retry_$$(this, $JSCompiler_inline_result$jscomp$58_id$jscomp$16$$, $xhrIo$jscomp$3$$);
        break;
      case "complete":
        a: {
          var $request$jscomp$inline_748$$ = this.$a$.get($JSCompiler_inline_result$jscomp$58_id$jscomp$16$$);
          if (7 == $xhrIo$jscomp$3$$.$i$ || $JSCompiler_StaticMethods_isSuccess$$($xhrIo$jscomp$3$$) || $request$jscomp$inline_748$$.$attemptCount_$ > $request$jscomp$inline_748$$.$goog_net_XhrManager_Request$maxRetries_$) {
            if ($JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$(this, new $goog$net$XhrManager$Event$$("complete", this, $JSCompiler_inline_result$jscomp$58_id$jscomp$16$$, $xhrIo$jscomp$3$$)), $request$jscomp$inline_748$$ && ($request$jscomp$inline_748$$.$completed_$ = !0, $request$jscomp$inline_748$$.$completeCallback_$)) {
              $JSCompiler_inline_result$jscomp$58_id$jscomp$16$$ = $request$jscomp$inline_748$$.$completeCallback_$.call($xhrIo$jscomp$3$$, $JSCompiler_StaticMethods_hasReachedMaxRetries$self$jscomp$inline_915_e$jscomp$55$$);
              break a;
            }
          }
          $JSCompiler_inline_result$jscomp$58_id$jscomp$16$$ = null;
        }
        return $JSCompiler_inline_result$jscomp$58_id$jscomp$16$$;
      case "success":
        $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$(this, new $goog$net$XhrManager$Event$$("success", this, $JSCompiler_inline_result$jscomp$58_id$jscomp$16$$, $xhrIo$jscomp$3$$));
        break;
      case "timeout":
      case "error":
        $JSCompiler_StaticMethods_hasReachedMaxRetries$self$jscomp$inline_915_e$jscomp$55$$ = this.$a$.get($JSCompiler_inline_result$jscomp$58_id$jscomp$16$$);
        $JSCompiler_StaticMethods_hasReachedMaxRetries$self$jscomp$inline_915_e$jscomp$55$$.$attemptCount_$ > $JSCompiler_StaticMethods_hasReachedMaxRetries$self$jscomp$inline_915_e$jscomp$55$$.$goog_net_XhrManager_Request$maxRetries_$ && $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$(this, new $goog$net$XhrManager$Event$$("error", this, $JSCompiler_inline_result$jscomp$58_id$jscomp$16$$, $xhrIo$jscomp$3$$));
        break;
      case "abort":
        $JSCompiler_StaticMethods_goog_events_EventTarget_prototype$dispatchEvent$$(this, new $goog$net$XhrManager$Event$$("abort", this, $JSCompiler_inline_result$jscomp$58_id$jscomp$16$$, $xhrIo$jscomp$3$$));
    }
    return null;
  };
  function $JSCompiler_StaticMethods_retry_$$($JSCompiler_StaticMethods_retry_$self$$, $id$jscomp$17$$, $xhrIo$jscomp$4$$) {
    var $request$jscomp$8$$ = $JSCompiler_StaticMethods_retry_$self$$.$a$.get($id$jscomp$17$$);
    !$request$jscomp$8$$ || $request$jscomp$8$$.$completed_$ || $request$jscomp$8$$.$attemptCount_$ > $request$jscomp$8$$.$goog_net_XhrManager_Request$maxRetries_$ ? ($request$jscomp$8$$ && ($JSCompiler_StaticMethods_retry_$self$$.$f$.$m$($xhrIo$jscomp$4$$, $goog$net$XhrManager$XHR_EVENT_TYPES_$$, $request$jscomp$8$$.$xhrEventCallback_$), $JSCompiler_StaticMethods_goog_structs_Map_prototype$remove$$($JSCompiler_StaticMethods_retry_$self$$.$a$, $id$jscomp$17$$)), $JSCompiler_StaticMethods_releaseObject$$($JSCompiler_StaticMethods_retry_$self$$.$c$, 
    $xhrIo$jscomp$4$$)) : ($request$jscomp$8$$.$attemptCount_$++, $xhrIo$jscomp$4$$.send($request$jscomp$8$$.$url_$, $request$jscomp$8$$.$method_$, $request$jscomp$8$$.$content_$, $request$jscomp$8$$.$goog_net_XhrManager_Request$headers_$));
  }
  $JSCompiler_prototypeAlias$$.$disposeInternal$ = function $$JSCompiler_prototypeAlias$$$$disposeInternal$$() {
    $goog$net$XhrManager$$.$superClass_$.$disposeInternal$.call(this);
    this.$c$.$dispose$();
    this.$c$ = null;
    this.$f$.$dispose$();
    this.$f$ = null;
    var $JSCompiler_StaticMethods_goog_structs_Map_prototype$clear$self$jscomp$inline_764$$ = this.$a$;
    $JSCompiler_StaticMethods_goog_structs_Map_prototype$clear$self$jscomp$inline_764$$.$b$ = {};
    $JSCompiler_StaticMethods_goog_structs_Map_prototype$clear$self$jscomp$inline_764$$.$a$.length = 0;
    $JSCompiler_StaticMethods_goog_structs_Map_prototype$clear$self$jscomp$inline_764$$.$c$ = 0;
    this.$a$ = null;
  };
  function $goog$net$XhrManager$Event$$($type$jscomp$168$$, $target$jscomp$69$$, $id$jscomp$22$$, $xhrIo$jscomp$11$$) {
    $goog$events$Event$$.call(this, $type$jscomp$168$$, $target$jscomp$69$$);
    this.id = $id$jscomp$22$$;
    this.$xhrIo$ = $xhrIo$jscomp$11$$;
  }
  $goog$inherits$$($goog$net$XhrManager$Event$$, $goog$events$Event$$);
  function $goog$net$XhrManager$Request$$($url$jscomp$27$$, $xhrEventCallback$$, $opt_method$jscomp$3$$, $opt_content$jscomp$3$$, $opt_headers$jscomp$5$$, $opt_callback$jscomp$8$$, $opt_maxRetries$jscomp$2$$, $opt_responseType$jscomp$1$$, $opt_withCredentials$jscomp$4$$) {
    this.$url_$ = $url$jscomp$27$$;
    this.$method_$ = $opt_method$jscomp$3$$ || "GET";
    this.$content_$ = $opt_content$jscomp$3$$;
    this.$goog_net_XhrManager_Request$headers_$ = $opt_headers$jscomp$5$$ || null;
    this.$goog_net_XhrManager_Request$maxRetries_$ = $goog$isDef$$($opt_maxRetries$jscomp$2$$) ? $opt_maxRetries$jscomp$2$$ : 1;
    this.$attemptCount_$ = 0;
    this.$aborted_$ = this.$completed_$ = !1;
    this.$xhrEventCallback_$ = $xhrEventCallback$$;
    this.$completeCallback_$ = $opt_callback$jscomp$8$$;
    this.$a$ = $opt_responseType$jscomp$1$$ || $goog$net$XhrIo$ResponseType$DEFAULT$$;
    this.$b$ = !!$opt_withCredentials$jscomp$4$$;
    this.$xhrIo$ = null;
  }
  $goog$net$XhrManager$Request$$.prototype.$getWithCredentials$ = function $$goog$net$XhrManager$Request$$$$$getWithCredentials$$() {
    return this.$b$;
  };
  $goog$net$XhrManager$Request$$.prototype.$getResponseType$ = function $$goog$net$XhrManager$Request$$$$$getResponseType$$() {
    return this.$a$;
  };
  var $bloombox$telemetry$internals$RoutinePriority$$ = {PING:5, EVENT:100, EXCEPTION:50, SECTION_IMPRESSION:999, SECTION_VIEW:100, SECTION_ACTION:50, PRODUCT_IMPRESSION:999, PRODUCT_VIEW:100, PRODUCT_ACTION:50, ORDER_ACTION:50}, $bloombox$telemetry$internals$RPC_POOL$$ = new $goog$net$XhrManager$$(3, $bloombox$telemetry$internals$HTTP_HEADERS$$, 1, 5, 15E3, !1);
  $bloombox$telemetry$internals$RPC_POOL$$.$h$ = Math.max(0, 15E3);
  var $bloombox$telemetry$internals$EVENT_QUEUE$$ = new function EventQueue() {
    this.$a$ = new $goog$structs$PriorityQueue$$;
    this.count = 0;
  };
  function $bloombox$telemetry$internals$flush$$() {
    var $stats$jscomp$1$$ = $bloombox$telemetry$internals$statistics$$(), $dequeued$$ = $JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$dequeue$$(function($queuedEvent$$) {
      $bloombox$logging$log$$("Sending telemetry event.", $queuedEvent$$.$f$, $queuedEvent$$.$a$);
      var $rpc$jscomp$inline_770$$ = $queuedEvent$$.$a$, $boundCallback$jscomp$inline_771$$ = $bloombox$telemetry$internals$rpcCallback$$($queuedEvent$$), $serializedPayload$jscomp$inline_772$$ = $rpc$jscomp$inline_770$$.$b$ ? JSON.stringify($rpc$jscomp$inline_770$$.$b$) : void 0;
      "PING" === $rpc$jscomp$inline_770$$.$a$ && ($bloombox$telemetry$internals$state$LAST_PING_SENT_$$ = +new Date);
      $bloombox$telemetry$internals$RPC_POOL$$.send($queuedEvent$$.$f$, $rpc$jscomp$inline_770$$.$f$, $rpc$jscomp$inline_770$$.$h$, $serializedPayload$jscomp$inline_772$$, void 0, $queuedEvent$$.$b$, $boundCallback$jscomp$inline_771$$, 3, "text", !1);
      $bloombox$telemetry$internals$state$SENT_EVENT_COUNT_$$++;
    });
    0 < $stats$jscomp$1$$.$queued$ - $dequeued$$ && $bloombox$telemetry$internals$tick$$();
  }
  function $bloombox$telemetry$internals$rpcCallback$$($queuedEvent$jscomp$2$$) {
    return function respond($event$jscomp$1$$) {
      if ("complete" === $event$jscomp$1$$.type) {
        var $status$7_xhr$jscomp$4$$ = $event$jscomp$1$$.target, $contentType$jscomp$3$$ = $status$7_xhr$jscomp$4$$.getResponseHeader("Content-Type"), $contentLength$jscomp$1$$ = $status$7_xhr$jscomp$4$$.getResponseHeader("Content-Length"), $status$jscomp$8$$ = $status$7_xhr$jscomp$4$$.$getStatus$();
        if (200 === $status$jscomp$8$$ || 201 === $status$jscomp$8$$ || 202 === $status$jscomp$8$$ || 204 === $status$jscomp$8$$) {
          if ($bloombox$logging$log$$("Finished telemetry RPC.", {queuedEvent:$queuedEvent$jscomp$2$$, event:$event$jscomp$1$$, xhr:$status$7_xhr$jscomp$4$$}), !$contentLength$jscomp$1$$ || 0 === parseInt($contentLength$jscomp$1$$, 10)) {
            $queuedEvent$jscomp$2$$.$a$.$c$(0);
          } else {
            if ("application/json" === $contentType$jscomp$3$$ || $contentType$jscomp$3$$.startsWith("application/json")) {
              $bloombox$telemetry$internals$state$EVENT_SUCCESS_COUNT_$$++, $queuedEvent$jscomp$2$$.$a$.$c$(0);
            }
          }
        }
      } else {
        "error" === $event$jscomp$1$$.type && ($status$7_xhr$jscomp$4$$ = $event$jscomp$1$$.target.$getStatus$(), $bloombox$logging$error$$("An error occurred while fulfilling a telemetry service RPC.", {queuedEvent:$queuedEvent$jscomp$2$$, event:$event$jscomp$1$$, xhr:$event$jscomp$1$$.target}), $bloombox$telemetry$internals$state$EVENT_ERROR_COUNT_$$++, $queuedEvent$jscomp$2$$.$a$.$g$(1, 0, $status$7_xhr$jscomp$4$$));
      }
    };
  }
  var $bloombox$telemetry$internals$tick$$ = function($interval$jscomp$4$$, $fn$jscomp$16$$, $opt_immediate$$) {
    var $timeout$jscomp$4$$;
    return function() {
      var $context$jscomp$9$$ = this, $args$jscomp$10$$ = arguments, $callNow$$ = $opt_immediate$$ && !$timeout$jscomp$4$$;
      clearTimeout($timeout$jscomp$4$$);
      $timeout$jscomp$4$$ = setTimeout(function() {
        $timeout$jscomp$4$$ = null;
        $opt_immediate$$ && $fn$jscomp$16$$.apply($context$jscomp$9$$, $args$jscomp$10$$);
      }, $interval$jscomp$4$$);
      $callNow$$ && $fn$jscomp$16$$.apply($context$jscomp$9$$, $args$jscomp$10$$);
    };
  }(2500, function() {
    $bloombox$telemetry$internals$state$$.$ENABLED_$ ? $bloombox$telemetry$internals$state$$.$ENABLED_$ && $bloombox$telemetry$internals$state$$.$ACTIVE_$ ? 0 < $bloombox$telemetry$internals$statistics$$().$queued$ ? 5 <= $bloombox$telemetry$internals$RPC_POOL$$.$a$.$getCount$() ? $bloombox$telemetry$internals$tick$$() : $bloombox$telemetry$internals$flush$$() : $bloombox$logging$log$$("No telemetry RPCs to send.") : ($bloombox$logging$log$$("Tick skipped: telemetry is not active."), $bloombox$telemetry$internals$tick$$()) : 
    $bloombox$logging$warn$$("Tick skipped: telemetry is not enabled.");
  }, !0);
  function $bloombox$telemetry$enqueue$$($ev$jscomp$2_rpc$jscomp$7$$) {
    var $priority$jscomp$5$$ = $bloombox$telemetry$internals$RoutinePriority$$[$ev$jscomp$2_rpc$jscomp$7$$.$a$], $JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$enqueue$self$jscomp$inline_785_uuid$jscomp$inline_781$$ = $bloombox$util$generateUUID$$();
    $ev$jscomp$2_rpc$jscomp$7$$ = new $bloombox$telemetry$internals$QueuedEvent$$($JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$enqueue$self$jscomp$inline_785_uuid$jscomp$inline_781$$, $ev$jscomp$2_rpc$jscomp$7$$, $priority$jscomp$5$$);
    $JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$enqueue$self$jscomp$inline_785_uuid$jscomp$inline_781$$ = $bloombox$telemetry$internals$EVENT_QUEUE$$;
    $JSCompiler_StaticMethods_insert$$($JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$enqueue$self$jscomp$inline_785_uuid$jscomp$inline_781$$.$a$, $priority$jscomp$5$$, $ev$jscomp$2_rpc$jscomp$7$$);
    $JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$enqueue$self$jscomp$inline_785_uuid$jscomp$inline_781$$.count++;
    $bloombox$telemetry$internals$state$QUEUED_EVENT_COUNT_$$ = $JSCompiler_StaticMethods_bloombox_telemetry_internals_EventQueue_prototype$enqueue$self$jscomp$inline_785_uuid$jscomp$inline_781$$.count;
    $bloombox$logging$log$$("Enqueued telemetry event with UUID: " + $ev$jscomp$2_rpc$jscomp$7$$.$f$ + ".");
    $bloombox$telemetry$internals$tick$$();
  }
  ;function $bloombox$telemetry$BaseEvent$$($context$jscomp$10$$, $method$jscomp$4$$, $opt_payload$jscomp$2$$, $opt_occurred$$, $opt_uuid$jscomp$1$$) {
    this.$f$ = $opt_uuid$jscomp$1$$ || $bloombox$util$generateUUID$$();
    this.$j$ = $context$jscomp$10$$;
    $opt_payload$jscomp$2$$ && Object.isFrozen && !Object.isFrozen($opt_payload$jscomp$2$$) && Object.freeze($opt_payload$jscomp$2$$);
    this.$b$ = $opt_payload$jscomp$2$$ || null;
    this.$i$ = $opt_occurred$$ || +new Date;
    this.$g$ = this.$h$ = null;
  }
  $JSCompiler_prototypeAlias$$ = $bloombox$telemetry$BaseEvent$$.prototype;
  $JSCompiler_prototypeAlias$$.$onSuccess$ = function $$JSCompiler_prototypeAlias$$$$onSuccess$$($status$jscomp$9$$) {
    this.$h$ && "function" === typeof this.$h$ && this.$h$($status$jscomp$9$$);
    this.$h$ = null;
  };
  $JSCompiler_prototypeAlias$$.$onFailure$ = function $$JSCompiler_prototypeAlias$$$$onFailure$$($op$$, $error$jscomp$9$$, $code$jscomp$4$$) {
    this.$g$ && "function" === typeof this.$g$ && this.$g$($op$$, $error$jscomp$9$$, $code$jscomp$4$$);
    this.$g$ = null;
  };
  $JSCompiler_prototypeAlias$$.abort = function $$JSCompiler_prototypeAlias$$$abort$() {
    $bloombox$telemetry$internals$RPC_POOL$$.abort(this.$f$);
  };
  $JSCompiler_prototypeAlias$$.send = function $$JSCompiler_prototypeAlias$$$send$() {
    this.$g$ = this.$h$ = null;
    if (null === $bloombox$telemetry$GLOBAL_CONTEXT$$) {
      var $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$ = $bloombox$config$$.active();
      var $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$ = $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$.$partner$ || null;
      $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$ = $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$.location || null;
      var $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$;
      null === $bloombox$telemetry$DEVICE_FINGERPRINT$$ && (($body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ = window.localStorage.getItem("bb:v1:t.df")) && "string" === typeof $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ ? 
      $bloombox$telemetry$DEVICE_FINGERPRINT$$ = $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ : ($bloombox$telemetry$DEVICE_FINGERPRINT$$ = $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ = $bloombox$util$generateUUID$$(), 
      window.localStorage.setItem("bb:v1:t.df", $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$), $bloombox$logging$log$$('Established device fingerprint: "' + $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ + "'.")));
      $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ = $bloombox$telemetry$DEVICE_FINGERPRINT$$;
      var $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$;
      null === $bloombox$telemetry$SESSION_ID$$ && (($b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = window.sessionStorage.getItem("bb:v1:t.sid")) && "string" === typeof $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ ? 
      $bloombox$telemetry$SESSION_ID$$ = $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ : ($bloombox$telemetry$SESSION_ID$$ = $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = 
      $bloombox$util$generateUUID$$(), window.sessionStorage.setItem("bb:v1:t.sid", $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$), $bloombox$logging$log$$('Established user session at ID: "' + $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ + 
      "'.")));
      $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $bloombox$telemetry$SESSION_ID$$;
      var $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$ = new $proto$analytics$context$BrowserDeviceContext$$, $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 0;
      $goog$userAgent$product$CHROME$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 1 : $goog$userAgent$product$SAFARI$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 
      2 : $goog$userAgent$product$FIREFOX$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 3 : $goog$userAgent$OPERA$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 
      4 : $goog$userAgent$EDGE_OR_IE$$ && ($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 5);
      $jspb$Message$setField$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 1, $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$);
      $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 0;
      $goog$labs$userAgent$device$isDesktop$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 1 : $goog$labs$userAgent$device$isTablet$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 
      3 : $goog$labs$userAgent$device$isMobile$$ && ($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 2);
      $jspb$Message$setField$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 2, $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$);
      $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = new $proto$structs$VersionSpec$$;
      $jspb$Message$setOneofField$$($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$, 1, $proto$structs$VersionSpec$oneofGroups_$$[0], $goog$userAgent$VERSION$$);
      $jspb$Message$setWrapperField$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 4, $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$);
      $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 0;
      $goog$userAgent$IPAD$$ || $goog$userAgent$IPHONE$$ || $goog$userAgent$IPOD$$ || $goog$userAgent$IOS$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 100 : ($goog$userAgent$WINDOWS$$ || $goog$userAgent$EDGE_OR_IE$$) && $goog$userAgent$MOBILE$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 
      5 : $goog$userAgent$WINDOWS$$ || $goog$userAgent$EDGE_OR_IE$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 4 : $goog$userAgent$product$ANDROID$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 
      200 : $goog$userAgent$MAC$$ ? $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 101 : $goog$userAgent$LINUX$$ && ($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 
      6);
      var $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$ = new $proto$analytics$context$DeviceOS$$, $blockCount$jscomp$inline_1027_osVersionObj$jscomp$inline_1014$$ = new $proto$structs$VersionSpec$$;
      $jspb$Message$setOneofField$$($blockCount$jscomp$inline_1027_osVersionObj$jscomp$inline_1014$$, 1, $proto$structs$VersionSpec$oneofGroups_$$[0], $goog$userAgent$platform$VERSION$$);
      $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$.$setType$($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$);
      $jspb$Message$setWrapperField$$($app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$, 2, $blockCount$jscomp$inline_1027_osVersionObj$jscomp$inline_1014$$);
      $jspb$Message$setWrapperField$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 5, $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$);
      $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = window.document.origin;
      $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$ = new $proto$analytics$context$DeviceApplication$$;
      $jspb$Message$setOneofField$$($app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$, 10, $proto$analytics$context$DeviceApplication$oneofGroups_$$[0], $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$);
      $jspb$Message$setWrapperField$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 6, $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$);
      $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = new $proto$analytics$context$DeviceLibrary$$;
      $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$ = new $proto$structs$VersionSpec$$;
      $jspb$Message$setOneofField$$($app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$, 1, $proto$structs$VersionSpec$oneofGroups_$$[0], "v1.0.0-beta");
      $jspb$Message$setWrapperField$$($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$, 2, $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$);
      $jspb$Message$setField$$($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$, 1, "full");
      $jspb$Message$setWrapperField$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 3, $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$);
      $bloombox$telemetry$GLOBAL_CONTEXT$$ = new $bloombox$telemetry$Context$$(null, $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$, $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$, 
      $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$, null, null, null, $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$);
    }
    $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$ = $bloombox$telemetry$GLOBAL_CONTEXT$$.$a$();
    $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$ = this.$j$.$a$();
    $goog$asserts$assertInstanceof$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $jspb$Message$$);
    $goog$asserts$assertInstanceof$$($config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$, $jspb$Message$$);
    $goog$asserts$assert$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$.constructor === $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$.constructor, "Merge source and target should have the same type.");
    $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$ = $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$.$toArray$();
    if (0 === $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$.length) {
      $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$ = $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$;
    } else {
      $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$ = new $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$.constructor($jspb$Message$clone_$$($config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$.$toArray$()));
      $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ = $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$.$toArray$();
      for ($b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = 0; $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ < $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$.length; $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$++) {
        $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$ = $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$[$b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$], 
        void 0 !== $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$ && ($body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$[$b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$] = 
        $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$);
      }
      $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$ = $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$;
    }
    this.$validateContext$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$);
    $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ = {payload:this.$b$};
    $config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$ = this.$f$;
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = {};
    $jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$context$Collection$$, 1) && $jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$context$Collection$$, 1).getName() && ($b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.collection = 
    {name:$jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$context$Collection$$, 1).getName()});
    $jspb$Message$getFieldWithDefault$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 4, "") && ($b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.fingerprint = $jspb$Message$getFieldWithDefault$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 
    4, ""));
    $jspb$Message$getFieldWithDefault$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 5, "") && ($b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.group = $jspb$Message$getFieldWithDefault$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 
    5, ""));
    $jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$identity$UserKey$$, 2) && $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$identity$UserKey$$, 2), 1, 
    "") && ($b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.user = {uid:$jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$identity$UserKey$$, 2), 
    1, "")});
    $jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$Scope$$, 8) && ($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$ = {}, $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 
    $proto$analytics$Scope$$, 8), 1, "") && ($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.partner = $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$Scope$$, 8), 1, "")), $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 
    $proto$analytics$Scope$$, 8), 2, "") && ($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.commercial = $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$Scope$$, 8), 2, "")), $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.scope = 
    $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$);
    switch($jspb$Message$computeOneofCase$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$Context$oneofGroups_$$[0])) {
      case 61:
        $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.browser = $bloombox$telemetry$Context$serializeBrowserContext$$($jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$context$BrowserDeviceContext$$, 
        61));
    }
    $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ = Object.assign({}, null === $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$ ? {} : $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$, 
    {context:$b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$});
    $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$ = new $jspb$BinaryWriter$$;
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$context$Collection$$, 1);
    null != $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ && $JSCompiler_StaticMethods_writeMessage$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 1, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$, 
    $proto$analytics$context$Collection$serializeBinaryToWriter$$);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$identity$UserKey$$, 2);
    null != $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ && $JSCompiler_StaticMethods_writeMessage$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 2, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$, 
    $proto$identity$UserKey$serializeBinaryToWriter$$);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $jspb$Message$getFieldWithDefault$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 4, "");
    0 < $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.length && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 4, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $jspb$Message$getFieldWithDefault$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 5, "");
    0 < $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.length && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 5, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $jspb$Message$getFieldWithDefault$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 6, "");
    0 < $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.length && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 6, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $jspb$Message$getFieldWithDefault$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, 7, "");
    0 < $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.length && $JSCompiler_StaticMethods_jspb_BinaryWriter_prototype$writeString$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 7, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$Scope$$, 8);
    null != $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ && $JSCompiler_StaticMethods_writeMessage$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 8, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$, 
    $proto$analytics$Scope$serializeBinaryToWriter$$);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$context$NativeDeviceContext$$, 60);
    null != $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ && $JSCompiler_StaticMethods_writeMessage$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 60, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$, 
    $proto$analytics$context$NativeDeviceContext$serializeBinaryToWriter$$);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = $jspb$Message$getWrapperField$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$, $proto$analytics$context$BrowserDeviceContext$$, 61);
    null != $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ && $JSCompiler_StaticMethods_writeMessage$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 61, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$, 
    $proto$analytics$context$BrowserDeviceContext$serializeBinaryToWriter$$);
    $goog$asserts$assert$$(0 == $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.$f$.length);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = new Uint8Array($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.$b$ + $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.$a$.length());
    $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$ = $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.$c$;
    $blockCount$jscomp$inline_1027_osVersionObj$jscomp$inline_1014$$ = $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$.length;
    for (var $i$jscomp$inline_1029$$ = $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 0; $i$jscomp$inline_1029$$ < $blockCount$jscomp$inline_1027_osVersionObj$jscomp$inline_1014$$; $i$jscomp$inline_1029$$++) {
      var $block$jscomp$inline_1030$$ = $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$[$i$jscomp$inline_1029$$];
      $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.set($block$jscomp$inline_1030$$, $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$);
      $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ += $block$jscomp$inline_1030$$.length;
    }
    $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$ = $JSCompiler_StaticMethods_jspb_BinaryEncoder_prototype$end$$($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.$a$);
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.set($app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$, $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$);
    $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ += $app$jscomp$inline_1016_blocks$jscomp$inline_1026_libVersionObj$jscomp$inline_1018_osObj$jscomp$inline_1013_tail$jscomp$inline_1031$$.length;
    $goog$asserts$assert$$($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ == $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.length);
    $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.$c$ = [$b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$];
    $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$ = [];
    for ($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = 0; $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ < 
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.length; $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ += 32768) {
      $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.push(String.fromCharCode.apply(null, $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.subarray($browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$, 
      $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ + 32768)));
    }
    $b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$ = btoa($c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$.join(""));
    $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$ = JSON.stringify($body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$).length;
    $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ = JSON.stringify(Object.assign({}, {payload:$body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$.payload})).length;
    $bloombox$logging$log$$("Preparing RPC.", {payloads:{current:$body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$, context:$b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$}, comparison:{current:$c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, 
    b64encoded:$b64encoded$jscomp$inline_936_baseContext$jscomp$inline_990_existingID$jscomp$inline_1005_f$jscomp$inline_1022_flat$jscomp$inline_1025_i$jscomp$inline_985_newSessionID$jscomp$inline_1006_sessionID$jscomp$inline_975$$.length, reduced:$c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$ > $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ ? 
    $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$ - $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ : $browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$ - 
    $c$jscomp$inline_997_context$jscomp$inline_1008_currentLength$jscomp$inline_937_fromValue$jscomp$inline_986_scopeObj$jscomp$inline_991_writer$jscomp$inline_994$$, next:$browserType$jscomp$inline_1009_browserVersionObj$jscomp$inline_1011_deviceType$jscomp$inline_1010_i$jscomp$inline_998_libObj$jscomp$inline_1017_offset$jscomp$inline_1028_origin$jscomp$inline_1015_osType$jscomp$inline_1012_reducedLength$jscomp$inline_938$$}});
    $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$ = new $bloombox$telemetry$rpc$TelemetryRPC$$($config$jscomp$inline_971_global$jscomp$inline_979_locationCode$jscomp$inline_973_toClone$jscomp$inline_983_uuid$jscomp$inline_932$$, "EVENT", this.$onSuccess$, this.$onFailure$, $body$jscomp$inline_934_deviceFingerprint$jscomp$inline_974_existingFingerprint$jscomp$inline_1002_newDeviceFingerprint$jscomp$inline_1003_rpcPayload$jscomp$inline_931_to$jscomp$inline_984$$, 
    $from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$);
    $bloombox$telemetry$enqueue$$($from$jscomp$inline_982_fromMessage$jscomp$inline_981_merged$jscomp$inline_980_mergedContext$jscomp$inline_930_partnerCode$jscomp$inline_972_rpc$jscomp$inline_792$$);
  };
  $JSCompiler_prototypeAlias$$.$validateContext$ = function $$JSCompiler_prototypeAlias$$$$validateContext$$($context$jscomp$11$$) {
    if (!$jspb$Message$getFieldWithDefault$$($context$jscomp$11$$, 4, "")) {
      throw new $bloombox$telemetry$ContextException$$("Missing device fingerprint ID.");
    }
    if (!$jspb$Message$getFieldWithDefault$$($context$jscomp$11$$, 5, "")) {
      throw new $bloombox$telemetry$ContextException$$("Missing device session ID.");
    }
  };
  function $bloombox$telemetry$Event$$($collection$jscomp$1_supercontext$$, $opt_payload$jscomp$3$$, $opt_context$jscomp$18$$, $opt_occurred$jscomp$1$$) {
    this.$c$ = $collection$jscomp$1_supercontext$$;
    this.$i$ = $opt_occurred$jscomp$1$$ || +new Date;
    $collection$jscomp$1_supercontext$$ = new $bloombox$telemetry$Context$$(this.$c$);
    $bloombox$telemetry$BaseEvent$$.apply(this, [$collection$jscomp$1_supercontext$$, "EVENT", $opt_payload$jscomp$3$$, this.$i$]);
  }
  $goog$inherits$$($bloombox$telemetry$Event$$, $bloombox$telemetry$BaseEvent$$);
  $bloombox$telemetry$Event$$.prototype.$l$ = function $$bloombox$telemetry$Event$$$$$l$$() {
    return this.$c$.name.startsWith("_bloom_");
  };
  $bloombox$telemetry$Event$$.prototype.$validateContext$ = function $$bloombox$telemetry$Event$$$$$validateContext$$($context$jscomp$12_contextKey$jscomp$1$$) {
    $bloombox$telemetry$BaseEvent$$.prototype.$validateContext$.apply(this, [$context$jscomp$12_contextKey$jscomp$1$$]);
    if (!this.$l$ && ($context$jscomp$12_contextKey$jscomp$1$$ = $jspb$Message$getFieldWithDefault$$($jspb$Message$getWrapperField$$($context$jscomp$12_contextKey$jscomp$1$$, $proto$analytics$Scope$$, 8), 1, ""), -1 === $context$jscomp$12_contextKey$jscomp$1$$.indexOf("partner/") || -1 === $context$jscomp$12_contextKey$jscomp$1$$.indexOf("location/"))) {
      throw new $bloombox$telemetry$ContextException$$("Must specify a location code before sending analytics events.");
    }
  };
  $bloombox$telemetry$Event$$.prototype.$a$ = function $$bloombox$telemetry$Event$$$$$a$$() {
    var $event$jscomp$2$$ = new $proto$analytics$generic$Event$$, $occurrence$$ = new $proto$temporal$Instant$$, $payload$jscomp$2_value$jscomp$inline_809$$ = {payload:this.$b$}, $now$jscomp$inline_803$$ = +new Date;
    $jspb$Message$setOneofField$$($occurrence$$, 2, $proto$temporal$Instant$oneofGroups_$$[0], this.$i$ || $now$jscomp$inline_803$$);
    $payload$jscomp$2_value$jscomp$inline_809$$ && "object" === typeof $payload$jscomp$2_value$jscomp$inline_809$$ && ($payload$jscomp$2_value$jscomp$inline_809$$ = $proto$google$protobuf$Struct$fromJavaScript$$($payload$jscomp$2_value$jscomp$inline_809$$), $jspb$Message$setWrapperField$$($event$jscomp$2$$, 1, $payload$jscomp$2_value$jscomp$inline_809$$));
    $jspb$Message$setWrapperField$$($event$jscomp$2$$, 2, $occurrence$$);
    return $event$jscomp$2$$;
  };
  function $bloombox$telemetry$event$$($collection$jscomp$2_resolvedCollection$$, $opt_payload$jscomp$4$$, $opt_context$jscomp$19$$, $opt_occurred$jscomp$2$$) {
    $collection$jscomp$2_resolvedCollection$$ = "string" !== typeof $collection$jscomp$2_resolvedCollection$$ ? $collection$jscomp$2_resolvedCollection$$ : $bloombox$telemetry$Collection$named$$($collection$jscomp$2_resolvedCollection$$);
    return new $bloombox$telemetry$Event$$($collection$jscomp$2_resolvedCollection$$, $opt_payload$jscomp$4$$, null, $opt_occurred$jscomp$2$$);
  }
  $goog$exportSymbol$$("bloombox.telemetry.event", $bloombox$telemetry$event$$);
  function $bloombox$telemetry$ping$$($callback$jscomp$65_rpc$jscomp$9$$) {
    $callback$jscomp$65_rpc$jscomp$9$$ = new $bloombox$telemetry$rpc$TelemetryRPC$$($bloombox$util$generateUUID$$(), "PING", $bloombox$telemetry$onPingSuccess_$$($callback$jscomp$65_rpc$jscomp$9$$), $bloombox$telemetry$onPingError_$$);
    $bloombox$telemetry$enqueue$$($callback$jscomp$65_rpc$jscomp$9$$);
  }
  $goog$exportSymbol$$("bloombox.telemetry.ping", $bloombox$telemetry$ping$$);
  function $bloombox$telemetry$onPingError_$$() {
    $bloombox$logging$warn$$("Telemetry ping failed.");
  }
  function $bloombox$telemetry$onPingSuccess_$$($callback$jscomp$66$$) {
    return function respond$jscomp$1() {
      $bloombox$telemetry$internals$state$LAST_PONG_RECEIVED_$$ = +new Date;
      var $stats$jscomp$3$$ = $bloombox$telemetry$internals$statistics$$();
      $callback$jscomp$66$$($stats$jscomp$3$$.$lastPong$ - $stats$jscomp$3$$.$lastPing$);
    };
  }
  ;function $bloombox$telemetry$setup$$($config$jscomp$12_partner$jscomp$5$$, $location$jscomp$28$$, $apikey$jscomp$1$$, $callback$jscomp$67$$, $endpoint$jscomp$5_merged$jscomp$2$$) {
    $config$jscomp$12_partner$jscomp$5$$ && $location$jscomp$28$$ ? ($config$jscomp$12_partner$jscomp$5$$ = $bloombox$config$$.active(), $endpoint$jscomp$5_merged$jscomp$2$$ = Object.assign({}, $config$jscomp$12_partner$jscomp$5$$, {endpoints:Object.assign({}, $config$jscomp$12_partner$jscomp$5$$.$endpoints$ || {}, {shop:$endpoint$jscomp$5_merged$jscomp$2$$ || "https://telemetry.api.bloombox.cloud"})}), $bloombox$config$$.$configure$($endpoint$jscomp$5_merged$jscomp$2$$), $bloombox$logging$log$$("Telemetry is ready for use.", 
    {version:"v1beta2r1", debug:!0, config:$bloombox$config$$.active()}), $callback$jscomp$67$$(), $bloombox$telemetry$boot$$()) : $bloombox$logging$error$$("Partner or location code is not defined.");
  }
  $goog$exportSymbol$$("bloombox.telemetry.setup", $bloombox$telemetry$setup$$);
  function $bloombox$telemetry$boot$$() {
    $bloombox$telemetry$didOptOut$$() ? $bloombox$logging$warn$$("User opted-out of telemetry, skipping initial ping.") : ($bloombox$logging$log$$("Sending initial telemetry ping..."), $bloombox$telemetry$ping$$(function($latency$jscomp$1$$) {
      $bloombox$logging$log$$("Telemetry service is online. Ping latency: " + $latency$jscomp$1$$ + "ms.");
      $bloombox$telemetry$didOptOut$$() ? $bloombox$logging$warn$$("User opted-out of telemetry, skipping initial events.") : $bloombox$telemetry$event$$("_bloom_:v1beta2:library", {distribution:"js-client"}).send();
    }));
  }
  ;$goog$exportSymbol$$("bloombox.VARIANT", "full");
  $goog$exportSymbol$$("bloombox.setup", function($partner$jscomp$6$$, $location$jscomp$29$$, $apikey$jscomp$2$$, $callback$jscomp$68$$) {
    $partner$jscomp$6$$ && $location$jscomp$29$$ ? ($bloombox$config$$.key = $apikey$jscomp$2$$, $bloombox$config$$.$partner$ = $partner$jscomp$6$$, $bloombox$config$$.location = $location$jscomp$29$$, $bloombox$logging$log$$("BBJS is initializing.", {version:"v1.0.0-beta", debug:!0, config:$bloombox$config$$, variant:"full"}), $bloombox$telemetry$setup$$($partner$jscomp$6$$, $location$jscomp$29$$, $apikey$jscomp$2$$, function() {
      $bloombox$shop$setup$$($partner$jscomp$6$$, $location$jscomp$29$$, $apikey$jscomp$2$$, function() {
        $callback$jscomp$68$$();
      });
    })) : $bloombox$logging$error$$("Partner or location code is not defined.");
  });
  }).call(this);
  