var shadow$provide = {};
var CLOSURE_NO_DEPS = true;
var CLOSURE_BASE_PATH = '/js/cljs-runtime/';
var CLOSURE_DEFINES = {"shadow.cljs.devtools.client.env.repl_pprint":true,"shadow.cljs.devtools.client.env.reload_strategy":"optimized","shadow.cljs.devtools.client.env.devtools_url":"","shadow.cljs.devtools.client.env.autoload":true,"shadow.cljs.devtools.client.env.proc_id":"51640c77-bf55-4017-9da5-bcee301cb9ac","shadow.cljs.devtools.client.env.use_document_protocol":false,"goog.ENABLE_DEBUG_LOADER":false,"shadow.cljs.devtools.client.env.server_port":9630,"shadow.cljs.devtools.client.env.server_token":"2e23abc3-0e39-4ba7-8595-82221208d40e","shadow.cljs.devtools.client.env.use_document_host":true,"shadow.cljs.devtools.client.env.module_format":"goog","goog.LOCALE":"en","shadow.cljs.devtools.client.env.build_id":"main","shadow.cljs.devtools.client.env.ignore_warnings":false,"goog.DEBUG":true,"shadow.cljs.devtools.client.env.log":true,"shadow.cljs.devtools.client.env.ssl":false,"shadow.cljs.devtools.client.env.enabled":true,"shadow.cljs.devtools.client.env.server_host":"localhost","shadow.cljs.devtools.client.env.worker_client_id":2,"goog.TRANSPILE":"never"};
var COMPILED = false;
var goog = goog || {};
goog.global = this || self;
goog.global.CLOSURE_UNCOMPILED_DEFINES;
goog.global.CLOSURE_DEFINES;
goog.isDef = function(val) {
  return val !== void 0;
};
goog.isString = function(val) {
  return typeof val == "string";
};
goog.isBoolean = function(val) {
  return typeof val == "boolean";
};
goog.isNumber = function(val) {
  return typeof val == "number";
};
goog.exportPath_ = function(name, object, overwriteImplicit, objectToExportTo) {
  var parts = name.split(".");
  var cur = objectToExportTo || goog.global;
  if (!(parts[0] in cur) && typeof cur.execScript != "undefined") {
    cur.execScript("var " + parts[0]);
  }
  var part;
  for (; parts.length && (part = parts.shift());) {
    if (!parts.length && object !== undefined) {
      if (!overwriteImplicit && goog.isObject(object) && goog.isObject(cur[part])) {
        var prop;
        for (prop in object) {
          if (object.hasOwnProperty(prop)) {
            cur[part][prop] = object[prop];
          }
        }
      } else {
        cur[part] = object;
      }
    } else if (cur[part] && cur[part] !== Object.prototype[part]) {
      cur = cur[part];
    } else {
      cur = cur[part] = {};
    }
  }
};
goog.define = function(name, defaultValue) {
  var value = defaultValue;
  if (!COMPILED) {
    var uncompiledDefines = goog.global.CLOSURE_UNCOMPILED_DEFINES;
    var defines = goog.global.CLOSURE_DEFINES;
    if (uncompiledDefines && uncompiledDefines.nodeType === undefined && Object.prototype.hasOwnProperty.call(uncompiledDefines, name)) {
      value = uncompiledDefines[name];
    } else if (defines && defines.nodeType === undefined && Object.prototype.hasOwnProperty.call(defines, name)) {
      value = defines[name];
    }
  }
  return value;
};
goog.FEATURESET_YEAR = goog.define("goog.FEATURESET_YEAR", 2012);
goog.DEBUG = goog.define("goog.DEBUG", true);
goog.LOCALE = goog.define("goog.LOCALE", "en");
goog.TRUSTED_SITE = goog.define("goog.TRUSTED_SITE", true);
goog.DISALLOW_TEST_ONLY_CODE = goog.define("goog.DISALLOW_TEST_ONLY_CODE", COMPILED && !goog.DEBUG);
goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING = goog.define("goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING", false);
goog.provide = function(name) {
  if (goog.isInModuleLoader_()) {
    throw new Error("goog.provide cannot be used within a module.");
  }
  if (!COMPILED) {
    if (goog.isProvided_(name)) {
      throw new Error('Namespace "' + name + '" already declared.');
    }
  }
  goog.constructNamespace_(name);
};
goog.constructNamespace_ = function(name, object, overwriteImplicit) {
  if (!COMPILED) {
    delete goog.implicitNamespaces_[name];
    var namespace = name;
    for (; namespace = namespace.substring(0, namespace.lastIndexOf("."));) {
      if (goog.getObjectByName(namespace)) {
        break;
      }
      goog.implicitNamespaces_[namespace] = true;
    }
  }
  goog.exportPath_(name, object, overwriteImplicit);
};
goog.NONCE_PATTERN_ = /^[\w+/_-]+[=]{0,2}$/;
goog.getScriptNonce_ = function(opt_window) {
  var doc = (opt_window || goog.global).document;
  var script = doc.querySelector && doc.querySelector("script[nonce]");
  if (script) {
    var nonce = script["nonce"] || script.getAttribute("nonce");
    if (nonce && goog.NONCE_PATTERN_.test(nonce)) {
      return nonce;
    }
  }
  return "";
};
goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
goog.module = function(name) {
  if (typeof name !== "string" || !name || name.search(goog.VALID_MODULE_RE_) == -1) {
    throw new Error("Invalid module identifier");
  }
  if (!goog.isInGoogModuleLoader_()) {
    throw new Error("Module " + name + " has been loaded incorrectly. Note, " + "modules cannot be loaded as normal scripts. They require some kind of " + "pre-processing step. You're likely trying to load a module via a " + "script tag or as a part of a concatenated bundle without rewriting the " + "module. For more info see: " + "https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");
  }
  if (goog.moduleLoaderState_.moduleName) {
    throw new Error("goog.module may only be called once per module.");
  }
  goog.moduleLoaderState_.moduleName = name;
  if (!COMPILED) {
    if (goog.isProvided_(name)) {
      throw new Error('Namespace "' + name + '" already declared.');
    }
    delete goog.implicitNamespaces_[name];
  }
};
goog.module.get = function(name) {
  return goog.module.getInternal_(name);
};
goog.module.getInternal_ = function(name) {
  if (!COMPILED) {
    if (name in goog.loadedModules_) {
      return goog.loadedModules_[name].exports;
    } else if (!goog.implicitNamespaces_[name]) {
      var ns = goog.getObjectByName(name);
      return ns != null ? ns : null;
    }
  }
  return null;
};
goog.ModuleType = {ES6:"es6", GOOG:"goog"};
goog.moduleLoaderState_ = null;
goog.isInModuleLoader_ = function() {
  return goog.isInGoogModuleLoader_() || goog.isInEs6ModuleLoader_();
};
goog.isInGoogModuleLoader_ = function() {
  return !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.GOOG;
};
goog.isInEs6ModuleLoader_ = function() {
  var inLoader = !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.ES6;
  if (inLoader) {
    return true;
  }
  var jscomp = goog.global["$jscomp"];
  if (jscomp) {
    if (typeof jscomp.getCurrentModulePath != "function") {
      return false;
    }
    return !!jscomp.getCurrentModulePath();
  }
  return false;
};
goog.module.declareLegacyNamespace = function() {
  if (!COMPILED && !goog.isInGoogModuleLoader_()) {
    throw new Error("goog.module.declareLegacyNamespace must be called from " + "within a goog.module");
  }
  if (!COMPILED && !goog.moduleLoaderState_.moduleName) {
    throw new Error("goog.module must be called prior to " + "goog.module.declareLegacyNamespace.");
  }
  goog.moduleLoaderState_.declareLegacyNamespace = true;
};
goog.declareModuleId = function(namespace) {
  if (!COMPILED) {
    if (!goog.isInEs6ModuleLoader_()) {
      throw new Error("goog.declareModuleId may only be called from " + "within an ES6 module");
    }
    if (goog.moduleLoaderState_ && goog.moduleLoaderState_.moduleName) {
      throw new Error("goog.declareModuleId may only be called once per module.");
    }
    if (namespace in goog.loadedModules_) {
      throw new Error('Module with namespace "' + namespace + '" already exists.');
    }
  }
  if (goog.moduleLoaderState_) {
    goog.moduleLoaderState_.moduleName = namespace;
  } else {
    var jscomp = goog.global["$jscomp"];
    if (!jscomp || typeof jscomp.getCurrentModulePath != "function") {
      throw new Error('Module with namespace "' + namespace + '" has been loaded incorrectly.');
    }
    var exports = jscomp.require(jscomp.getCurrentModulePath());
    goog.loadedModules_[namespace] = {exports:exports, type:goog.ModuleType.ES6, moduleId:namespace};
  }
};
goog.setTestOnly = function(opt_message) {
  if (goog.DISALLOW_TEST_ONLY_CODE) {
    opt_message = opt_message || "";
    throw new Error("Importing test-only code into non-debug environment" + (opt_message ? ": " + opt_message : "."));
  }
};
goog.forwardDeclare = function(name) {
};
goog.forwardDeclare("Document");
goog.forwardDeclare("HTMLScriptElement");
goog.forwardDeclare("XMLHttpRequest");
if (!COMPILED) {
  goog.isProvided_ = function(name) {
    return name in goog.loadedModules_ || !goog.implicitNamespaces_[name] && goog.getObjectByName(name) != null;
  };
  goog.implicitNamespaces_ = {"goog.module":true};
}
goog.getObjectByName = function(name, opt_obj) {
  var parts = name.split(".");
  var cur = opt_obj || goog.global;
  var i = 0;
  for (; i < parts.length; i++) {
    cur = cur[parts[i]];
    if (cur == null) {
      return null;
    }
  }
  return cur;
};
goog.addDependency = function(relPath, provides, requires, opt_loadFlags) {
  if (!COMPILED && goog.DEPENDENCIES_ENABLED) {
    goog.debugLoader_.addDependency(relPath, provides, requires, opt_loadFlags);
  }
};
goog.ENABLE_DEBUG_LOADER = goog.define("goog.ENABLE_DEBUG_LOADER", true);
goog.logToConsole_ = function(msg) {
  if (goog.global.console) {
    goog.global.console["error"](msg);
  }
};
goog.require = function(namespace) {
  if (!COMPILED) {
    if (goog.ENABLE_DEBUG_LOADER) {
      goog.debugLoader_.requested(namespace);
    }
    if (goog.isProvided_(namespace)) {
      if (goog.isInModuleLoader_()) {
        return goog.module.getInternal_(namespace);
      }
    } else if (goog.ENABLE_DEBUG_LOADER) {
      var moduleLoaderState = goog.moduleLoaderState_;
      goog.moduleLoaderState_ = null;
      try {
        goog.debugLoader_.load_(namespace);
      } finally {
        goog.moduleLoaderState_ = moduleLoaderState;
      }
    }
    return null;
  }
};
goog.requireType = function(namespace) {
  return {};
};
goog.basePath = "";
goog.global.CLOSURE_BASE_PATH;
goog.global.CLOSURE_NO_DEPS;
goog.global.CLOSURE_IMPORT_SCRIPT;
goog.abstractMethod = function() {
  throw new Error("unimplemented abstract method");
};
goog.addSingletonGetter = function(ctor) {
  ctor.instance_ = undefined;
  ctor.getInstance = function() {
    if (ctor.instance_) {
      return ctor.instance_;
    }
    if (goog.DEBUG) {
      goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = ctor;
    }
    return ctor.instance_ = new ctor();
  };
};
goog.instantiatedSingletons_ = [];
goog.LOAD_MODULE_USING_EVAL = goog.define("goog.LOAD_MODULE_USING_EVAL", true);
goog.SEAL_MODULE_EXPORTS = goog.define("goog.SEAL_MODULE_EXPORTS", goog.DEBUG);
goog.loadedModules_ = {};
goog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER;
goog.TRANSPILE = goog.define("goog.TRANSPILE", "detect");
goog.ASSUME_ES_MODULES_TRANSPILED = goog.define("goog.ASSUME_ES_MODULES_TRANSPILED", false);
goog.TRUSTED_TYPES_POLICY_NAME = goog.define("goog.TRUSTED_TYPES_POLICY_NAME", "goog");
goog.hasBadLetScoping = null;
goog.loadModule = function(moduleDef) {
  var previousState = goog.moduleLoaderState_;
  try {
    goog.moduleLoaderState_ = {moduleName:"", declareLegacyNamespace:false, type:goog.ModuleType.GOOG};
    var origExports = {};
    var exports = origExports;
    if (typeof moduleDef === "function") {
      exports = moduleDef.call(undefined, exports);
    } else if (typeof moduleDef === "string") {
      exports = goog.loadModuleFromSource_.call(undefined, exports, moduleDef);
    } else {
      throw new Error("Invalid module definition");
    }
    var moduleName = goog.moduleLoaderState_.moduleName;
    if (typeof moduleName === "string" && moduleName) {
      if (goog.moduleLoaderState_.declareLegacyNamespace) {
        var isDefaultExport = origExports !== exports;
        goog.constructNamespace_(moduleName, exports, isDefaultExport);
      } else if (goog.SEAL_MODULE_EXPORTS && Object.seal && typeof exports == "object" && exports != null) {
        Object.seal(exports);
      }
      var data = {exports:exports, type:goog.ModuleType.GOOG, moduleId:goog.moduleLoaderState_.moduleName};
      goog.loadedModules_[moduleName] = data;
    } else {
      throw new Error('Invalid module name "' + moduleName + '"');
    }
  } finally {
    goog.moduleLoaderState_ = previousState;
  }
};
goog.loadModuleFromSource_ = function(exports) {
  eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(arguments[1]));
  return exports;
};
goog.normalizePath_ = function(path) {
  var components = path.split("/");
  var i = 0;
  for (; i < components.length;) {
    if (components[i] == ".") {
      components.splice(i, 1);
    } else if (i && components[i] == ".." && components[i - 1] && components[i - 1] != "..") {
      components.splice(--i, 2);
    } else {
      i++;
    }
  }
  return components.join("/");
};
goog.global.CLOSURE_LOAD_FILE_SYNC;
goog.loadFileSync_ = function(src) {
  if (goog.global.CLOSURE_LOAD_FILE_SYNC) {
    return goog.global.CLOSURE_LOAD_FILE_SYNC(src);
  } else {
    try {
      var xhr = new goog.global["XMLHttpRequest"]();
      xhr.open("get", src, false);
      xhr.send();
      return xhr.status == 0 || xhr.status == 200 ? xhr.responseText : null;
    } catch (err) {
      return null;
    }
  }
};
goog.typeOf = function(value) {
  var s = typeof value;
  if (s != "object") {
    return s;
  }
  if (!value) {
    return "null";
  }
  if (Array.isArray(value)) {
    return "array";
  }
  return s;
};
goog.isNull = function(val) {
  return val === null;
};
goog.isDefAndNotNull = function(val) {
  return val != null;
};
goog.isArray = function(val) {
  return goog.typeOf(val) == "array";
};
goog.isArrayLike = function(val) {
  var type = goog.typeOf(val);
  return type == "array" || type == "object" && typeof val.length == "number";
};
goog.isDateLike = function(val) {
  return goog.isObject(val) && typeof val.getFullYear == "function";
};
goog.isObject = function(val) {
  var type = typeof val;
  return type == "object" && val != null || type == "function";
};
goog.getUid = function(obj) {
  return Object.prototype.hasOwnProperty.call(obj, goog.UID_PROPERTY_) && obj[goog.UID_PROPERTY_] || (obj[goog.UID_PROPERTY_] = ++goog.uidCounter_);
};
goog.hasUid = function(obj) {
  return !!obj[goog.UID_PROPERTY_];
};
goog.removeUid = function(obj) {
  if (obj !== null && "removeAttribute" in obj) {
    obj.removeAttribute(goog.UID_PROPERTY_);
  }
  try {
    delete obj[goog.UID_PROPERTY_];
  } catch (ex) {
  }
};
goog.UID_PROPERTY_ = "closure_uid_" + (Math.random() * 1e9 >>> 0);
goog.uidCounter_ = 0;
goog.cloneObject = function(obj) {
  var type = goog.typeOf(obj);
  if (type == "object" || type == "array") {
    if (typeof obj.clone === "function") {
      return obj.clone();
    }
    if (typeof Map !== "undefined" && obj instanceof Map) {
      return new Map(obj);
    } else if (typeof Set !== "undefined" && obj instanceof Set) {
      return new Set(obj);
    }
    var clone = type == "array" ? [] : {};
    var key;
    for (key in obj) {
      clone[key] = goog.cloneObject(obj[key]);
    }
    return clone;
  }
  return obj;
};
goog.bindNative_ = function(fn, selfObj, var_args) {
  return fn.call.apply(fn.bind, arguments);
};
goog.bindJs_ = function(fn, selfObj, var_args) {
  if (!fn) {
    throw new Error();
  }
  if (arguments.length > 2) {
    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.apply(selfObj, newArgs);
    };
  } else {
    return function() {
      return fn.apply(selfObj, arguments);
    };
  }
};
goog.bind = function(fn, selfObj, var_args) {
  if (Function.prototype.bind && Function.prototype.bind.toString().indexOf("native code") != -1) {
    goog.bind = goog.bindNative_;
  } else {
    goog.bind = goog.bindJs_;
  }
  return goog.bind.apply(null, arguments);
};
goog.partial = function(fn, var_args) {
  var args = Array.prototype.slice.call(arguments, 1);
  return function() {
    var newArgs = args.slice();
    newArgs.push.apply(newArgs, arguments);
    return fn.apply(this, newArgs);
  };
};
goog.now = function() {
  return Date.now();
};
goog.globalEval = function(script) {
  (0,eval)(script);
};
goog.cssNameMapping_;
goog.cssNameMappingStyle_;
goog.global.CLOSURE_CSS_NAME_MAP_FN;
goog.getCssName = function(className, opt_modifier) {
  if (String(className).charAt(0) == ".") {
    throw new Error('className passed in goog.getCssName must not start with ".".' + " You passed: " + className);
  }
  var getMapping = function(cssName) {
    return goog.cssNameMapping_[cssName] || cssName;
  };
  var renameByParts = function(cssName) {
    var parts = cssName.split("-");
    var mapped = [];
    var i = 0;
    for (; i < parts.length; i++) {
      mapped.push(getMapping(parts[i]));
    }
    return mapped.join("-");
  };
  var rename;
  if (goog.cssNameMapping_) {
    rename = goog.cssNameMappingStyle_ == "BY_WHOLE" ? getMapping : renameByParts;
  } else {
    rename = function(a) {
      return a;
    };
  }
  var result = opt_modifier ? className + "-" + rename(opt_modifier) : rename(className);
  if (goog.global.CLOSURE_CSS_NAME_MAP_FN) {
    return goog.global.CLOSURE_CSS_NAME_MAP_FN(result);
  }
  return result;
};
goog.setCssNameMapping = function(mapping, opt_style) {
  goog.cssNameMapping_ = mapping;
  goog.cssNameMappingStyle_ = opt_style;
};
goog.global.CLOSURE_CSS_NAME_MAPPING;
if (!COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING) {
  goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING;
}
goog.GetMsgOptions = function() {
};
goog.GetMsgOptions.prototype.html;
goog.GetMsgOptions.prototype.unescapeHtmlEntities;
goog.GetMsgOptions.prototype.original_code;
goog.GetMsgOptions.prototype.example;
goog.getMsg = function(str, opt_values, opt_options) {
  if (opt_options && opt_options.html) {
    str = str.replace(/</g, "\x26lt;");
  }
  if (opt_options && opt_options.unescapeHtmlEntities) {
    str = str.replace(/&lt;/g, "\x3c").replace(/&gt;/g, "\x3e").replace(/&apos;/g, "'").replace(/&quot;/g, '"').replace(/&amp;/g, "\x26");
  }
  if (opt_values) {
    str = str.replace(/\{\$([^}]+)}/g, function(match, key) {
      return opt_values != null && key in opt_values ? opt_values[key] : match;
    });
  }
  return str;
};
goog.getMsgWithFallback = function(a, b) {
  return a;
};
goog.exportSymbol = function(publicPath, object, objectToExportTo) {
  goog.exportPath_(publicPath, object, true, objectToExportTo);
};
goog.exportProperty = function(object, publicName, symbol) {
  object[publicName] = symbol;
};
goog.inherits = function(childCtor, parentCtor) {
  function tempCtor() {
  }
  tempCtor.prototype = parentCtor.prototype;
  childCtor.superClass_ = parentCtor.prototype;
  childCtor.prototype = new tempCtor();
  childCtor.prototype.constructor = childCtor;
  childCtor.base = function(me, methodName, var_args) {
    var args = new Array(arguments.length - 2);
    var i = 2;
    for (; i < arguments.length; i++) {
      args[i - 2] = arguments[i];
    }
    return parentCtor.prototype[methodName].apply(me, args);
  };
};
goog.scope = function(fn) {
  if (goog.isInModuleLoader_()) {
    throw new Error("goog.scope is not supported within a module.");
  }
  fn.call(goog.global);
};
if (!COMPILED) {
  goog.global["COMPILED"] = COMPILED;
}
goog.defineClass = function(superClass, def) {
  var constructor = def.constructor;
  var statics = def.statics;
  if (!constructor || constructor == Object.prototype.constructor) {
    constructor = function() {
      throw new Error("cannot instantiate an interface (no constructor defined).");
    };
  }
  var cls = goog.defineClass.createSealingConstructor_(constructor, superClass);
  if (superClass) {
    goog.inherits(cls, superClass);
  }
  delete def.constructor;
  delete def.statics;
  goog.defineClass.applyProperties_(cls.prototype, def);
  if (statics != null) {
    if (statics instanceof Function) {
      statics(cls);
    } else {
      goog.defineClass.applyProperties_(cls, statics);
    }
  }
  return cls;
};
goog.defineClass.ClassDescriptor;
goog.defineClass.SEAL_CLASS_INSTANCES = goog.define("goog.defineClass.SEAL_CLASS_INSTANCES", goog.DEBUG);
goog.defineClass.createSealingConstructor_ = function(ctr, superClass) {
  if (!goog.defineClass.SEAL_CLASS_INSTANCES) {
    return ctr;
  }
  var wrappedCtr = function() {
    var instance = ctr.apply(this, arguments) || this;
    instance[goog.UID_PROPERTY_] = instance[goog.UID_PROPERTY_];
    return instance;
  };
  return wrappedCtr;
};
goog.defineClass.OBJECT_PROTOTYPE_FIELDS_ = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"];
goog.defineClass.applyProperties_ = function(target, source) {
  var key;
  for (key in source) {
    if (Object.prototype.hasOwnProperty.call(source, key)) {
      target[key] = source[key];
    }
  }
  var i = 0;
  for (; i < goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length; i++) {
    key = goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[i];
    if (Object.prototype.hasOwnProperty.call(source, key)) {
      target[key] = source[key];
    }
  }
};
goog.identity_ = function(s) {
  return s;
};
goog.createTrustedTypesPolicy = function(name) {
  var policy = null;
  var policyFactory = goog.global.trustedTypes;
  if (!policyFactory || !policyFactory.createPolicy) {
    return policy;
  }
  try {
    policy = policyFactory.createPolicy(name, {createHTML:goog.identity_, createScript:goog.identity_, createScriptURL:goog.identity_});
  } catch (e) {
    goog.logToConsole_(e.message);
  }
  return policy;
};
if (!COMPILED && goog.DEPENDENCIES_ENABLED) {
  goog.isEdge_ = function() {
    var userAgent = goog.global.navigator && goog.global.navigator.userAgent ? goog.global.navigator.userAgent : "";
    var edgeRe = /Edge\/(\d+)(\.\d)*/i;
    return !!userAgent.match(edgeRe);
  };
  goog.inHtmlDocument_ = function() {
    var doc = goog.global.document;
    return doc != null && "write" in doc;
  };
  goog.isDocumentLoading_ = function() {
    var doc = goog.global.document;
    return doc.attachEvent ? doc.readyState != "complete" : doc.readyState == "loading";
  };
  goog.findBasePath_ = function() {
    if (goog.global.CLOSURE_BASE_PATH != undefined && typeof goog.global.CLOSURE_BASE_PATH === "string") {
      goog.basePath = goog.global.CLOSURE_BASE_PATH;
      return;
    } else if (!goog.inHtmlDocument_()) {
      return;
    }
    var doc = goog.global.document;
    var currentScript = doc.currentScript;
    if (currentScript) {
      var scripts = [currentScript];
    } else {
      scripts = doc.getElementsByTagName("SCRIPT");
    }
    var i = scripts.length - 1;
    for (; i >= 0; --i) {
      var script = scripts[i];
      var src = script.src;
      var qmark = src.lastIndexOf("?");
      var l = qmark == -1 ? src.length : qmark;
      if (src.slice(l - 7, l) == "base.js") {
        goog.basePath = src.slice(0, l - 7);
        return;
      }
    }
  };
  goog.findBasePath_();
  goog.protectScriptTag_ = function(str) {
    return str.replace(/<\/(SCRIPT)/ig, "\\x3c/$1");
  };
  goog.DebugLoader_ = function() {
    this.dependencies_ = {};
    this.idToPath_ = {};
    this.written_ = {};
    this.loadingDeps_ = [];
    this.depsToLoad_ = [];
    this.paused_ = false;
    this.factory_ = new goog.DependencyFactory();
    this.deferredCallbacks_ = {};
    this.deferredQueue_ = [];
  };
  goog.DebugLoader_.prototype.bootstrap = function(namespaces, callback) {
    function resolve() {
      if (cb) {
        goog.global.setTimeout(cb, 0);
        cb = null;
      }
    }
    var cb = callback;
    if (!namespaces.length) {
      resolve();
      return;
    }
    var deps = [];
    var i = 0;
    for (; i < namespaces.length; i++) {
      var path = this.getPathFromDeps_(namespaces[i]);
      if (!path) {
        throw new Error("Unregonized namespace: " + namespaces[i]);
      }
      deps.push(this.dependencies_[path]);
    }
    var require = goog.require;
    var loaded = 0;
    i = 0;
    for (; i < namespaces.length; i++) {
      require(namespaces[i]);
      deps[i].onLoad(function() {
        if (++loaded == namespaces.length) {
          resolve();
        }
      });
    }
  };
  goog.DebugLoader_.prototype.loadClosureDeps = function() {
    var relPath = "deps.js";
    this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath + relPath), relPath, [], [], {}));
    this.loadDeps_();
  };
  goog.DebugLoader_.prototype.requested = function(absPathOrId, opt_force) {
    var path = this.getPathFromDeps_(absPathOrId);
    if (path && (opt_force || this.areDepsLoaded_(this.dependencies_[path].requires))) {
      var callback = this.deferredCallbacks_[path];
      if (callback) {
        delete this.deferredCallbacks_[path];
        callback();
      }
    }
  };
  goog.DebugLoader_.prototype.setDependencyFactory = function(factory) {
    this.factory_ = factory;
  };
  goog.DebugLoader_.prototype.load_ = function(namespace) {
    if (!this.getPathFromDeps_(namespace)) {
      var errorMessage = "goog.require could not find: " + namespace;
      goog.logToConsole_(errorMessage);
    } else {
      var loader = this;
      var deps = [];
      var visit = function(namespace) {
        var path = loader.getPathFromDeps_(namespace);
        if (!path) {
          throw new Error("Bad dependency path or symbol: " + namespace);
        }
        if (loader.written_[path]) {
          return;
        }
        loader.written_[path] = true;
        var dep = loader.dependencies_[path];
        var i = 0;
        for (; i < dep.requires.length; i++) {
          if (!goog.isProvided_(dep.requires[i])) {
            visit(dep.requires[i]);
          }
        }
        deps.push(dep);
      };
      visit(namespace);
      var wasLoading = !!this.depsToLoad_.length;
      this.depsToLoad_ = this.depsToLoad_.concat(deps);
      if (!this.paused_ && !wasLoading) {
        this.loadDeps_();
      }
    }
  };
  goog.DebugLoader_.prototype.loadDeps_ = function() {
    var loader = this;
    var paused = this.paused_;
    for (; this.depsToLoad_.length && !paused;) {
      (function() {
        var loadCallDone = false;
        var dep = loader.depsToLoad_.shift();
        var loaded = false;
        loader.loading_(dep);
        var controller = {pause:function() {
          if (loadCallDone) {
            throw new Error("Cannot call pause after the call to load.");
          } else {
            paused = true;
          }
        }, resume:function() {
          if (loadCallDone) {
            loader.resume_();
          } else {
            paused = false;
          }
        }, loaded:function() {
          if (loaded) {
            throw new Error("Double call to loaded.");
          }
          loaded = true;
          loader.loaded_(dep);
        }, pending:function() {
          var pending = [];
          var i = 0;
          for (; i < loader.loadingDeps_.length; i++) {
            pending.push(loader.loadingDeps_[i]);
          }
          return pending;
        }, setModuleState:function(type) {
          goog.moduleLoaderState_ = {type:type, moduleName:"", declareLegacyNamespace:false};
        }, registerEs6ModuleExports:function(path, exports, opt_closureNamespace) {
          if (opt_closureNamespace) {
            goog.loadedModules_[opt_closureNamespace] = {exports:exports, type:goog.ModuleType.ES6, moduleId:opt_closureNamespace || ""};
          }
        }, registerGoogModuleExports:function(moduleId, exports) {
          goog.loadedModules_[moduleId] = {exports:exports, type:goog.ModuleType.GOOG, moduleId:moduleId};
        }, clearModuleState:function() {
          goog.moduleLoaderState_ = null;
        }, defer:function(callback) {
          if (loadCallDone) {
            throw new Error("Cannot register with defer after the call to load.");
          }
          loader.defer_(dep, callback);
        }, areDepsLoaded:function() {
          return loader.areDepsLoaded_(dep.requires);
        }};
        try {
          dep.load(controller);
        } finally {
          loadCallDone = true;
        }
      })();
    }
    if (paused) {
      this.pause_();
    }
  };
  goog.DebugLoader_.prototype.pause_ = function() {
    this.paused_ = true;
  };
  goog.DebugLoader_.prototype.resume_ = function() {
    if (this.paused_) {
      this.paused_ = false;
      this.loadDeps_();
    }
  };
  goog.DebugLoader_.prototype.loading_ = function(dep) {
    this.loadingDeps_.push(dep);
  };
  goog.DebugLoader_.prototype.loaded_ = function(dep) {
    var i = 0;
    for (; i < this.loadingDeps_.length; i++) {
      if (this.loadingDeps_[i] == dep) {
        this.loadingDeps_.splice(i, 1);
        break;
      }
    }
    i = 0;
    for (; i < this.deferredQueue_.length; i++) {
      if (this.deferredQueue_[i] == dep.path) {
        this.deferredQueue_.splice(i, 1);
        break;
      }
    }
    if (this.loadingDeps_.length == this.deferredQueue_.length && !this.depsToLoad_.length) {
      for (; this.deferredQueue_.length;) {
        this.requested(this.deferredQueue_.shift(), true);
      }
    }
    dep.loaded();
  };
  goog.DebugLoader_.prototype.areDepsLoaded_ = function(pathsOrIds) {
    var i = 0;
    for (; i < pathsOrIds.length; i++) {
      var path = this.getPathFromDeps_(pathsOrIds[i]);
      if (!path || !(path in this.deferredCallbacks_) && !goog.isProvided_(pathsOrIds[i])) {
        return false;
      }
    }
    return true;
  };
  goog.DebugLoader_.prototype.getPathFromDeps_ = function(absPathOrId) {
    if (absPathOrId in this.idToPath_) {
      return this.idToPath_[absPathOrId];
    } else if (absPathOrId in this.dependencies_) {
      return absPathOrId;
    } else {
      return null;
    }
  };
  goog.DebugLoader_.prototype.defer_ = function(dependency, callback) {
    this.deferredCallbacks_[dependency.path] = callback;
    this.deferredQueue_.push(dependency.path);
  };
  goog.LoadController = function() {
  };
  goog.LoadController.prototype.pause = function() {
  };
  goog.LoadController.prototype.resume = function() {
  };
  goog.LoadController.prototype.loaded = function() {
  };
  goog.LoadController.prototype.pending = function() {
  };
  goog.LoadController.prototype.registerEs6ModuleExports = function(path, exports, opt_closureNamespace) {
  };
  goog.LoadController.prototype.setModuleState = function(type) {
  };
  goog.LoadController.prototype.clearModuleState = function() {
  };
  goog.LoadController.prototype.defer = function(callback) {
  };
  goog.LoadController.prototype.areDepsLoaded = function() {
  };
  goog.Dependency = function(path, relativePath, provides, requires, loadFlags) {
    this.path = path;
    this.relativePath = relativePath;
    this.provides = provides;
    this.requires = requires;
    this.loadFlags = loadFlags;
    this.loaded_ = false;
    this.loadCallbacks_ = [];
  };
  goog.Dependency.prototype.getPathName = function() {
    var pathName = this.path;
    var protocolIndex = pathName.indexOf("://");
    if (protocolIndex >= 0) {
      pathName = pathName.substring(protocolIndex + 3);
      var slashIndex = pathName.indexOf("/");
      if (slashIndex >= 0) {
        pathName = pathName.substring(slashIndex + 1);
      }
    }
    return pathName;
  };
  goog.Dependency.prototype.onLoad = function(callback) {
    if (this.loaded_) {
      callback();
    } else {
      this.loadCallbacks_.push(callback);
    }
  };
  goog.Dependency.prototype.loaded = function() {
    this.loaded_ = true;
    var callbacks = this.loadCallbacks_;
    this.loadCallbacks_ = [];
    var i = 0;
    for (; i < callbacks.length; i++) {
      callbacks[i]();
    }
  };
  goog.Dependency.defer_ = false;
  goog.Dependency.callbackMap_ = {};
  goog.Dependency.registerCallback_ = function(callback) {
    var key = Math.random().toString(32);
    goog.Dependency.callbackMap_[key] = callback;
    return key;
  };
  goog.Dependency.unregisterCallback_ = function(key) {
    delete goog.Dependency.callbackMap_[key];
  };
  goog.Dependency.callback_ = function(key, var_args) {
    if (key in goog.Dependency.callbackMap_) {
      var callback = goog.Dependency.callbackMap_[key];
      var args = [];
      var i = 1;
      for (; i < arguments.length; i++) {
        args.push(arguments[i]);
      }
      callback.apply(undefined, args);
    } else {
      var errorMessage = "Callback key " + key + " does not exist (was base.js loaded more than once?).";
      throw Error(errorMessage);
    }
  };
  goog.Dependency.prototype.load = function(controller) {
    if (goog.global.CLOSURE_IMPORT_SCRIPT) {
      if (goog.global.CLOSURE_IMPORT_SCRIPT(this.path)) {
        controller.loaded();
      } else {
        controller.pause();
      }
      return;
    }
    if (!goog.inHtmlDocument_()) {
      goog.logToConsole_("Cannot use default debug loader outside of HTML documents.");
      if (this.relativePath == "deps.js") {
        goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, " + "or setting CLOSURE_NO_DEPS to true.");
        controller.loaded();
      } else {
        controller.pause();
      }
      return;
    }
    var doc = goog.global.document;
    if (doc.readyState == "complete" && !goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING) {
      var isDeps = /\bdeps.js$/.test(this.path);
      if (isDeps) {
        controller.loaded();
        return;
      } else {
        throw Error('Cannot write "' + this.path + '" after document load');
      }
    }
    var nonce = goog.getScriptNonce_();
    if (!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING && goog.isDocumentLoading_()) {
      var key;
      var callback = function(script) {
        if (script.readyState && script.readyState != "complete") {
          script.onload = callback;
          return;
        }
        goog.Dependency.unregisterCallback_(key);
        controller.loaded();
      };
      key = goog.Dependency.registerCallback_(callback);
      var defer = goog.Dependency.defer_ ? " defer" : "";
      var nonceAttr = nonce ? ' nonce\x3d"' + nonce + '"' : "";
      var script = '\x3cscript src\x3d"' + this.path + '"' + nonceAttr + defer + ' id\x3d"script-' + key + '"\x3e\x3c/script\x3e';
      script = script + ("\x3cscript" + nonceAttr + "\x3e");
      if (goog.Dependency.defer_) {
        script = script + ("document.getElementById('script-" + key + "').onload \x3d function() {\n" + "  goog.Dependency.callback_('" + key + "', this);\n" + "};\n");
      } else {
        script = script + ("goog.Dependency.callback_('" + key + "', document.getElementById('script-" + key + "'));");
      }
      script = script + "\x3c/script\x3e";
      doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script);
    } else {
      var scriptEl = doc.createElement("script");
      scriptEl.defer = goog.Dependency.defer_;
      scriptEl.async = false;
      if (nonce) {
        scriptEl.nonce = nonce;
      }
      scriptEl.onload = function() {
        scriptEl.onload = null;
        controller.loaded();
      };
      scriptEl.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path) : this.path;
      doc.head.appendChild(scriptEl);
    }
  };
  goog.Es6ModuleDependency = function(path, relativePath, provides, requires, loadFlags) {
    goog.Es6ModuleDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags);
  };
  goog.inherits(goog.Es6ModuleDependency, goog.Dependency);
  goog.Es6ModuleDependency.prototype.load = function(controller) {
    function write(src, contents) {
      var nonceAttr = "";
      var nonce = goog.getScriptNonce_();
      if (nonce) {
        nonceAttr = ' nonce\x3d"' + nonce + '"';
      }
      if (contents) {
        var script = '\x3cscript type\x3d"module" crossorigin' + nonceAttr + "\x3e" + contents + "\x3c/" + "script\x3e";
        doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script);
      } else {
        script = '\x3cscript type\x3d"module" crossorigin src\x3d"' + src + '"' + nonceAttr + "\x3e\x3c/" + "script\x3e";
        doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script);
      }
    }
    function append(src, contents) {
      var scriptEl = doc.createElement("script");
      scriptEl.defer = true;
      scriptEl.async = false;
      scriptEl.type = "module";
      scriptEl.setAttribute("crossorigin", true);
      var nonce = goog.getScriptNonce_();
      if (nonce) {
        scriptEl.nonce = nonce;
      }
      if (contents) {
        scriptEl.text = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScript(contents) : contents;
      } else {
        scriptEl.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(src) : src;
      }
      doc.head.appendChild(scriptEl);
    }
    if (goog.global.CLOSURE_IMPORT_SCRIPT) {
      if (goog.global.CLOSURE_IMPORT_SCRIPT(this.path)) {
        controller.loaded();
      } else {
        controller.pause();
      }
      return;
    }
    if (!goog.inHtmlDocument_()) {
      goog.logToConsole_("Cannot use default debug loader outside of HTML documents.");
      controller.pause();
      return;
    }
    var doc = goog.global.document;
    var dep = this;
    var create;
    if (goog.isDocumentLoading_()) {
      create = write;
      goog.Dependency.defer_ = true;
    } else {
      create = append;
    }
    var beforeKey = goog.Dependency.registerCallback_(function() {
      goog.Dependency.unregisterCallback_(beforeKey);
      controller.setModuleState(goog.ModuleType.ES6);
    });
    create(undefined, 'goog.Dependency.callback_("' + beforeKey + '")');
    create(this.path, undefined);
    var registerKey = goog.Dependency.registerCallback_(function(exports) {
      goog.Dependency.unregisterCallback_(registerKey);
      controller.registerEs6ModuleExports(dep.path, exports, goog.moduleLoaderState_.moduleName);
    });
    create(undefined, 'import * as m from "' + this.path + '"; goog.Dependency.callback_("' + registerKey + '", m)');
    var afterKey = goog.Dependency.registerCallback_(function() {
      goog.Dependency.unregisterCallback_(afterKey);
      controller.clearModuleState();
      controller.loaded();
    });
    create(undefined, 'goog.Dependency.callback_("' + afterKey + '")');
  };
  goog.TransformedDependency = function(path, relativePath, provides, requires, loadFlags) {
    goog.TransformedDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags);
    this.contents_ = null;
    this.lazyFetch_ = !goog.inHtmlDocument_() || !("noModule" in goog.global.document.createElement("script"));
  };
  goog.inherits(goog.TransformedDependency, goog.Dependency);
  goog.TransformedDependency.prototype.load = function(controller) {
    function fetch() {
      dep.contents_ = goog.loadFileSync_(dep.path);
      if (dep.contents_) {
        dep.contents_ = dep.transform(dep.contents_);
        if (dep.contents_) {
          dep.contents_ += "\n//# sourceURL\x3d" + dep.path;
        }
      }
    }
    function load() {
      if (dep.lazyFetch_) {
        fetch();
      }
      if (!dep.contents_) {
        return;
      }
      if (isEs6) {
        controller.setModuleState(goog.ModuleType.ES6);
      }
      var namespace;
      try {
        var contents = dep.contents_;
        dep.contents_ = null;
        goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(contents));
        if (isEs6) {
          namespace = goog.moduleLoaderState_.moduleName;
        }
      } finally {
        if (isEs6) {
          controller.clearModuleState();
        }
      }
      if (isEs6) {
        goog.global["$jscomp"]["require"]["ensure"]([dep.getPathName()], function() {
          controller.registerEs6ModuleExports(dep.path, goog.global["$jscomp"]["require"](dep.getPathName()), namespace);
        });
      }
      controller.loaded();
    }
    function fetchInOwnScriptThenLoad() {
      var doc = goog.global.document;
      var key = goog.Dependency.registerCallback_(function() {
        goog.Dependency.unregisterCallback_(key);
        load();
      });
      var nonce = goog.getScriptNonce_();
      var nonceAttr = nonce ? ' nonce\x3d"' + nonce + '"' : "";
      var script = "\x3cscript" + nonceAttr + "\x3e" + goog.protectScriptTag_('goog.Dependency.callback_("' + key + '");') + "\x3c/" + "script\x3e";
      doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script);
    }
    var dep = this;
    if (goog.global.CLOSURE_IMPORT_SCRIPT) {
      fetch();
      if (this.contents_ && goog.global.CLOSURE_IMPORT_SCRIPT("", this.contents_)) {
        this.contents_ = null;
        controller.loaded();
      } else {
        controller.pause();
      }
      return;
    }
    var isEs6 = this.loadFlags["module"] == goog.ModuleType.ES6;
    if (!this.lazyFetch_) {
      fetch();
    }
    var anythingElsePending = controller.pending().length > 1;
    var needsAsyncLoading = goog.Dependency.defer_ && (anythingElsePending || goog.isDocumentLoading_());
    if (needsAsyncLoading) {
      controller.defer(function() {
        load();
      });
      return;
    }
    var doc = goog.global.document;
    var isInternetExplorerOrEdge = goog.inHtmlDocument_() && ("ActiveXObject" in goog.global || goog.isEdge_());
    if (isEs6 && goog.inHtmlDocument_() && goog.isDocumentLoading_() && !isInternetExplorerOrEdge) {
      goog.Dependency.defer_ = true;
      controller.pause();
      var oldCallback = doc.onreadystatechange;
      doc.onreadystatechange = function() {
        if (doc.readyState == "interactive") {
          doc.onreadystatechange = oldCallback;
          load();
          controller.resume();
        }
        if (typeof oldCallback === "function") {
          oldCallback.apply(undefined, arguments);
        }
      };
    } else {
      if (!goog.inHtmlDocument_() || !goog.isDocumentLoading_()) {
        load();
      } else {
        fetchInOwnScriptThenLoad();
      }
    }
  };
  goog.TransformedDependency.prototype.transform = function(contents) {
  };
  goog.PreTranspiledEs6ModuleDependency = function(path, relativePath, provides, requires, loadFlags) {
    goog.PreTranspiledEs6ModuleDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags);
  };
  goog.inherits(goog.PreTranspiledEs6ModuleDependency, goog.TransformedDependency);
  goog.PreTranspiledEs6ModuleDependency.prototype.transform = function(contents) {
    return contents;
  };
  goog.GoogModuleDependency = function(path, relativePath, provides, requires, loadFlags) {
    goog.GoogModuleDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags);
  };
  goog.inherits(goog.GoogModuleDependency, goog.TransformedDependency);
  goog.GoogModuleDependency.prototype.transform = function(contents) {
    if (!goog.LOAD_MODULE_USING_EVAL || goog.global.JSON === undefined) {
      return "" + "goog.loadModule(function(exports) {" + '"use strict";' + contents + "\n" + ";return exports" + "});" + "\n//# sourceURL\x3d" + this.path + "\n";
    } else {
      return "" + "goog.loadModule(" + goog.global.JSON.stringify(contents + "\n//# sourceURL\x3d" + this.path + "\n") + ");";
    }
  };
  goog.DebugLoader_.prototype.addDependency = function(relPath, provides, requires, opt_loadFlags) {
    provides = provides || [];
    relPath = relPath.replace(/\\/g, "/");
    var path = goog.normalizePath_(goog.basePath + relPath);
    if (!opt_loadFlags || typeof opt_loadFlags === "boolean") {
      opt_loadFlags = opt_loadFlags ? {"module":goog.ModuleType.GOOG} : {};
    }
    var dep = this.factory_.createDependency(path, relPath, provides, requires, opt_loadFlags);
    this.dependencies_[path] = dep;
    var i = 0;
    for (; i < provides.length; i++) {
      this.idToPath_[provides[i]] = path;
    }
    this.idToPath_[relPath] = path;
  };
  goog.DependencyFactory = function() {
  };
  goog.DependencyFactory.prototype.createDependency = function(path, relativePath, provides, requires, loadFlags) {
    if (loadFlags["module"] == goog.ModuleType.GOOG) {
      return new goog.GoogModuleDependency(path, relativePath, provides, requires, loadFlags);
    } else {
      if (loadFlags["module"] == goog.ModuleType.ES6) {
        if (goog.ASSUME_ES_MODULES_TRANSPILED) {
          return new goog.PreTranspiledEs6ModuleDependency(path, relativePath, provides, requires, loadFlags);
        } else {
          return new goog.Es6ModuleDependency(path, relativePath, provides, requires, loadFlags);
        }
      } else {
        return new goog.Dependency(path, relativePath, provides, requires, loadFlags);
      }
    }
  };
  goog.debugLoader_ = new goog.DebugLoader_();
  goog.loadClosureDeps = function() {
    goog.debugLoader_.loadClosureDeps();
  };
  goog.setDependencyFactory = function(factory) {
    goog.debugLoader_.setDependencyFactory(factory);
  };
  goog.TRUSTED_TYPES_POLICY_ = goog.TRUSTED_TYPES_POLICY_NAME ? goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME + "#base") : null;
  if (!goog.global.CLOSURE_NO_DEPS) {
    goog.debugLoader_.loadClosureDeps();
  }
  goog.bootstrap = function(namespaces, callback) {
    goog.debugLoader_.bootstrap(namespaces, callback);
  };
}
if (!COMPILED) {
  var isChrome87 = false;
  try {
    isChrome87 = eval(goog.global.trustedTypes.emptyScript) !== goog.global.trustedTypes.emptyScript;
  } catch (err) {
  }
  goog.CLOSURE_EVAL_PREFILTER_ = goog.global.trustedTypes && isChrome87 && goog.createTrustedTypesPolicy("goog#base#devonly#eval") || {createScript:goog.identity_};
}

var SHADOW_ENV = function() {
  var env = {};

  var loadedFiles = env.loadedFiles = {};

  var doc = goog.global.document;

  if (!doc) {
    throw new Error("browser bootstrap used in incorrect target");
  }

  var scriptBase = goog.global.window.location.origin;
  if (CLOSURE_BASE_PATH[0] == '/') {
    scriptBase = scriptBase + CLOSURE_BASE_PATH;
  } else {
    // FIXME: need to handle relative paths
    scriptBase = CLOSURE_BASE_PATH;
  }


  env.scriptBase = scriptBase;

  var wentAsync = false;

  var canDocumentWrite = function() {
    return !wentAsync && doc.readyState == "loading";
  };

  var reportError = function(path, e) {
    // chrome displays e.stack in a usable way while firefox is just a garbled mess
    if (e.constructor.toString().indexOf("function cljs$core$ExceptionInfo") === 0 && navigator.appVersion.indexOf("Chrome") != -1) {
      console.error(e);
      console.error(e.stack);
    } else {
      console.error(e);
    }
    console.warn("The above error occurred when loading \"" + path + "\". Any additional errors after that one may be the result of that failure. In general your code cannot be trusted to execute properly after such a failure. Make sure to fix the first one before looking at others.");
  };

  var asyncLoad = (function() {
    var loadOrder = [];
    var loadState = {};

    function loadPending() {
      for (var i = 0, len = loadOrder.length; i < len; i++) {
        var uri = loadOrder[i];
        var state = loadState[uri];

        if (typeof state === "string") {
          loadState[uri] = true;
          if (state != "") {
            var code = state + "\n//# sourceURL=" + uri + "\n";
            try {
              goog.globalEval(code);
            } catch (e) {
              reportError(uri, e);
            }
          }
        } else if (state === true) {
          continue;
        } else {
          break;
        }
      }
    }

    // ie11 doesn't have fetch, use xhr instead
    // FIXME: not sure if fetch provides any benefit over xhr
    if (typeof window.fetch === "undefined") {
      return function asyncXhr(uri) {
        loadOrder.push(uri);
        loadState[uri] = false;
        var req = new XMLHttpRequest();
        req.onload = function(e) {
          loadState[uri] = req.responseText;
          loadPending();
        };
        req.open("GET", uri);
        req.send();
      }
    } else {
      function responseText(response) {
        // FIXME: check status
        return response.text();
      }

      function evalFetch(uri) {
        return function(code) {
          loadState[uri] = code;
          loadPending();
        };
      }

      return function asyncFetch(uri) {
        if (loadState[uri] == undefined) {
          loadState[uri] = false;
          loadOrder.push(uri);
          fetch(uri)
            .then(responseText)
            .then(evalFetch(uri));
        }
      };
    }
  })();

  env.load = function(opts, paths) {
    var docWrite = opts.forceAsync ? false : canDocumentWrite();

    paths.forEach(function(path) {
      if (!loadedFiles[path]) {
        loadedFiles[path] = true;

        var uri = scriptBase + path;

        if (docWrite) {
          document.write(
            "<script src='" + uri + "' type='text/javascript'></script>"
          );
        } else {
          // once async always async
          wentAsync = true;
          asyncLoad(uri);
        }
      }
    });
  };

  env.isLoaded = function(path) {
    return loadedFiles[path] || false; // false is better than undefined
  };

  env.setLoaded = function(path) {
    loadedFiles[path] = true;
  };

  env.evalLoad = function(path, sourceMap, code) {
    loadedFiles[path] = true;
    code += ("\n//# sourceURL=" + scriptBase + path);
    if (sourceMap) {
      code += ("\n//# sourceMappingURL=" + path + ".map");
    }
    try {
      goog.globalEval(code);
    } catch (e) {
      reportError(path, e);
    }
  }

  return env;
}.call(this);


goog.global["$CLJS"] = goog.global;



SHADOW_ENV.evalLoad("goog.debug.error.js", true, "goog.loadModule(function(exports) {\n  function DebugError(msg \x3d undefined, cause \x3d undefined) {\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, DebugError);\n    } else {\n      const stack \x3d (new Error()).stack;\n      if (stack) {\n        this.stack \x3d stack;\n      }\n    }\n    if (msg) {\n      this.message \x3d String(msg);\n    }\n    if (cause !\x3d\x3d undefined) {\n      this.cause \x3d cause;\n    }\n    this.reportErrorToServer \x3d true;\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.debug.Error\x22);\n  goog.module.declareLegacyNamespace();\n  goog.inherits(DebugError, Error);\n  DebugError.prototype.name \x3d \x22CustomError\x22;\n  exports \x3d DebugError;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.dom.nodetype.js", true, "goog.provide(\x22goog.dom.NodeType\x22);\ngoog.dom.NodeType \x3d {ELEMENT:1, ATTRIBUTE:2, TEXT:3, CDATA_SECTION:4, ENTITY_REFERENCE:5, ENTITY:6, PROCESSING_INSTRUCTION:7, COMMENT:8, DOCUMENT:9, DOCUMENT_TYPE:10, DOCUMENT_FRAGMENT:11, NOTATION:12};\n");
SHADOW_ENV.evalLoad("goog.asserts.asserts.js", true, "goog.loadModule(function(exports) {\n  function AssertionError(messagePattern, messageArgs) {\n    DebugError.call(this, subs(messagePattern, messageArgs));\n    this.messagePattern \x3d messagePattern;\n  }\n  function subs(pattern, subs) {\n    const splitParts \x3d pattern.split(\x22%s\x22);\n    let returnString \x3d \x22\x22;\n    const subLast \x3d splitParts.length - 1;\n    for (let i \x3d 0; i \x3c subLast; i++) {\n      const sub \x3d i \x3c subs.length ? subs[i] : \x22%s\x22;\n      returnString \x3d returnString + (splitParts[i] + sub);\n    }\n    return returnString + splitParts[subLast];\n  }\n  function doAssertFailure(defaultMessage, defaultArgs, givenMessage, givenArgs) {\n    let message \x3d \x22Assertion failed\x22;\n    let args;\n    if (givenMessage) {\n      message \x3d message + (\x22: \x22 + givenMessage);\n      args \x3d givenArgs;\n    } else if (defaultMessage) {\n      message \x3d message + (\x22: \x22 + defaultMessage);\n      args \x3d defaultArgs;\n    }\n    const e \x3d new AssertionError(\x22\x22 + message, args || []);\n    errorHandler_(e);\n  }\n  function getType(value) {\n    if (value instanceof Function) {\n      return value.displayName || value.name || \x22unknown type name\x22;\n    } else if (value instanceof Object) {\n      return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n    } else {\n      return value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n    }\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.asserts\x22);\n  goog.module.declareLegacyNamespace();\n  const DebugError \x3d goog.require(\x22goog.debug.Error\x22);\n  const NodeType \x3d goog.require(\x22goog.dom.NodeType\x22);\n  exports.ENABLE_ASSERTS \x3d goog.define(\x22goog.asserts.ENABLE_ASSERTS\x22, goog.DEBUG);\n  goog.inherits(AssertionError, DebugError);\n  exports.AssertionError \x3d AssertionError;\n  AssertionError.prototype.name \x3d \x22AssertionError\x22;\n  exports.DEFAULT_ERROR_HANDLER \x3d function(e) {\n    throw e;\n  };\n  let errorHandler_ \x3d exports.DEFAULT_ERROR_HANDLER;\n  exports.setErrorHandler \x3d function(errorHandler) {\n    if (exports.ENABLE_ASSERTS) {\n      errorHandler_ \x3d errorHandler;\n    }\n  };\n  exports.assert \x3d function(condition, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 !condition) {\n      doAssertFailure(\x22\x22, null, opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return condition;\n  };\n  exports.assertExists \x3d function(value, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 value \x3d\x3d null) {\n      doAssertFailure(\x22Expected to exist: %s.\x22, [value], opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return value;\n  };\n  exports.fail \x3d function(opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS) {\n      errorHandler_(new AssertionError(\x22Failure\x22 + (opt_message ? \x22: \x22 + opt_message : \x22\x22), Array.prototype.slice.call(arguments, 1)));\n    }\n  };\n  exports.assertNumber \x3d function(value, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22number\x22) {\n      doAssertFailure(\x22Expected number but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return value;\n  };\n  exports.assertString \x3d function(value, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22string\x22) {\n      doAssertFailure(\x22Expected string but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return value;\n  };\n  exports.assertFunction \x3d function(value, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22function\x22) {\n      doAssertFailure(\x22Expected function but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return value;\n  };\n  exports.assertObject \x3d function(value, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 !goog.isObject(value)) {\n      doAssertFailure(\x22Expected object but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return value;\n  };\n  exports.assertArray \x3d function(value, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 !Array.isArray(value)) {\n      doAssertFailure(\x22Expected array but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return value;\n  };\n  exports.assertBoolean \x3d function(value, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22boolean\x22) {\n      doAssertFailure(\x22Expected boolean but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return value;\n  };\n  exports.assertElement \x3d function(value, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 (!goog.isObject(value) || value.nodeType !\x3d NodeType.ELEMENT)) {\n      doAssertFailure(\x22Expected Element but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return value;\n  };\n  exports.assertInstanceof \x3d function(value, type, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 !(value instanceof type)) {\n      doAssertFailure(\x22Expected instanceof %s but got %s.\x22, [getType(type), getType(value)], opt_message, Array.prototype.slice.call(arguments, 3));\n    }\n    return value;\n  };\n  exports.assertFinite \x3d function(value, opt_message, var_args) {\n    if (exports.ENABLE_ASSERTS \x26\x26 (typeof value !\x3d \x22number\x22 || !isFinite(value))) {\n      doAssertFailure(\x22Expected %s to be a finite number but it is not.\x22, [value], opt_message, Array.prototype.slice.call(arguments, 2));\n    }\n    return value;\n  };\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.reflect.reflect.js", true, "goog.provide(\x22goog.reflect\x22);\ngoog.reflect.object \x3d function(type, object) {\n  return object;\n};\ngoog.reflect.objectProperty \x3d function(prop, object) {\n  return prop;\n};\ngoog.reflect.sinkValue \x3d function(x) {\n  goog.reflect.sinkValue[\x22 \x22](x);\n  return x;\n};\ngoog.reflect.sinkValue[\x22 \x22] \x3d function() {\n};\ngoog.reflect.canAccessProperty \x3d function(obj, prop) {\n  try {\n    goog.reflect.sinkValue(obj[prop]);\n    return true;\n  } catch (e) {\n  }\n  return false;\n};\ngoog.reflect.cache \x3d function(cacheObj, key, valueFn, opt_keyFn) {\n  const storedKey \x3d opt_keyFn ? opt_keyFn(key) : key;\n  if (Object.prototype.hasOwnProperty.call(cacheObj, storedKey)) {\n    return cacheObj[storedKey];\n  }\n  return cacheObj[storedKey] \x3d valueFn(key);\n};\n");
SHADOW_ENV.evalLoad("goog.math.long.js", true, "goog.loadModule(function(exports) {\n  function getCachedIntValue_(value) {\n    return reflect.cache(IntCache_, value, function(val) {\n      return new Long(val, val \x3c 0 ? -1 : 0);\n    });\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.math.Long\x22);\n  goog.module.declareLegacyNamespace();\n  const asserts \x3d goog.require(\x22goog.asserts\x22);\n  const reflect \x3d goog.require(\x22goog.reflect\x22);\n  class Long {\n    constructor(low, high) {\n      this.low_ \x3d low | 0;\n      this.high_ \x3d high | 0;\n    }\n    toInt() {\n      return this.low_;\n    }\n    toNumber() {\n      return this.high_ * TWO_PWR_32_DBL_ + this.getLowBitsUnsigned();\n    }\n    isSafeInteger() {\n      var top11Bits \x3d this.high_ \x3e\x3e 21;\n      return top11Bits \x3d\x3d 0 || top11Bits \x3d\x3d -1 \x26\x26 !(this.low_ \x3d\x3d 0 \x26\x26 this.high_ \x3d\x3d (4292870144 | 0));\n    }\n    toString(opt_radix) {\n      var radix \x3d opt_radix || 10;\n      if (radix \x3c 2 || 36 \x3c radix) {\n        throw new Error(\x22radix out of range: \x22 + radix);\n      }\n      if (this.isSafeInteger()) {\n        var asNumber \x3d this.toNumber();\n        return radix \x3d\x3d 10 ? \x22\x22 + asNumber : asNumber.toString(radix);\n      }\n      var safeDigits \x3d 14 - (radix \x3e\x3e 2);\n      var radixPowSafeDigits \x3d Math.pow(radix, safeDigits);\n      var radixToPower \x3d Long.fromBits(radixPowSafeDigits, radixPowSafeDigits / TWO_PWR_32_DBL_);\n      var remDiv \x3d this.div(radixToPower);\n      var val \x3d Math.abs(this.subtract(remDiv.multiply(radixToPower)).toNumber());\n      var digits \x3d radix \x3d\x3d 10 ? \x22\x22 + val : val.toString(radix);\n      if (digits.length \x3c safeDigits) {\n        digits \x3d \x220000000000000\x22.slice(digits.length - safeDigits) + digits;\n      }\n      val \x3d remDiv.toNumber();\n      return (radix \x3d\x3d 10 ? val : val.toString(radix)) + digits;\n    }\n    toUnsignedString(opt_radix) {\n      if (this.high_ \x3e\x3d 0) {\n        return this.toString(opt_radix);\n      }\n      var radix \x3d opt_radix || 10;\n      if (radix \x3c 2 || 36 \x3c radix) {\n        throw new Error(\x22radix out of range: \x22 + radix);\n      }\n      var longRadix \x3d Long.fromInt(radix);\n      var quotient \x3d this.shiftRightUnsigned(1).div(longRadix).shiftLeft(1);\n      var remainder \x3d this.subtract(quotient.multiply(longRadix));\n      if (remainder.greaterThanOrEqual(longRadix)) {\n        quotient \x3d quotient.add(Long.getOne());\n        remainder \x3d this.subtract(quotient.multiply(longRadix));\n      }\n      return quotient.toString(radix) + remainder.toString(radix);\n    }\n    getHighBits() {\n      return this.high_;\n    }\n    getLowBits() {\n      return this.low_;\n    }\n    getLowBitsUnsigned() {\n      return this.low_ \x3e\x3e\x3e 0;\n    }\n    getNumBitsAbs() {\n      if (this.isNegative()) {\n        if (this.equals(Long.getMinValue())) {\n          return 64;\n        } else {\n          return this.negate().getNumBitsAbs();\n        }\n      } else {\n        var val \x3d this.high_ !\x3d 0 ? this.high_ : this.low_;\n        var bit \x3d 31;\n        for (; bit \x3e 0; bit--) {\n          if ((val \x26 1 \x3c\x3c bit) !\x3d 0) {\n            break;\n          }\n        }\n        return this.high_ !\x3d 0 ? bit + 33 : bit + 1;\n      }\n    }\n    isZero() {\n      return this.low_ \x3d\x3d 0 \x26\x26 this.high_ \x3d\x3d 0;\n    }\n    isNegative() {\n      return this.high_ \x3c 0;\n    }\n    isOdd() {\n      return (this.low_ \x26 1) \x3d\x3d 1;\n    }\n    hashCode() {\n      return this.getLowBits() ^ this.getHighBits();\n    }\n    equals(other) {\n      return this.low_ \x3d\x3d other.low_ \x26\x26 this.high_ \x3d\x3d other.high_;\n    }\n    notEquals(other) {\n      return !this.equals(other);\n    }\n    lessThan(other) {\n      return this.compare(other) \x3c 0;\n    }\n    lessThanOrEqual(other) {\n      return this.compare(other) \x3c\x3d 0;\n    }\n    greaterThan(other) {\n      return this.compare(other) \x3e 0;\n    }\n    greaterThanOrEqual(other) {\n      return this.compare(other) \x3e\x3d 0;\n    }\n    compare(other) {\n      if (this.high_ \x3d\x3d other.high_) {\n        if (this.low_ \x3d\x3d other.low_) {\n          return 0;\n        }\n        return this.getLowBitsUnsigned() \x3e other.getLowBitsUnsigned() ? 1 : -1;\n      }\n      return this.high_ \x3e other.high_ ? 1 : -1;\n    }\n    negate() {\n      var negLow \x3d ~this.low_ + 1 | 0;\n      var overflowFromLow \x3d !negLow;\n      var negHigh \x3d ~this.high_ + overflowFromLow | 0;\n      return Long.fromBits(negLow, negHigh);\n    }\n    add(other) {\n      var a48 \x3d this.high_ \x3e\x3e\x3e 16;\n      var a32 \x3d this.high_ \x26 65535;\n      var a16 \x3d this.low_ \x3e\x3e\x3e 16;\n      var a00 \x3d this.low_ \x26 65535;\n      var b48 \x3d other.high_ \x3e\x3e\x3e 16;\n      var b32 \x3d other.high_ \x26 65535;\n      var b16 \x3d other.low_ \x3e\x3e\x3e 16;\n      var b00 \x3d other.low_ \x26 65535;\n      var c48 \x3d 0;\n      var c32 \x3d 0;\n      var c16 \x3d 0;\n      var c00 \x3d 0;\n      c00 \x3d c00 + (a00 + b00);\n      c16 \x3d c16 + (c00 \x3e\x3e\x3e 16);\n      c00 \x3d c00 \x26 65535;\n      c16 \x3d c16 + (a16 + b16);\n      c32 \x3d c32 + (c16 \x3e\x3e\x3e 16);\n      c16 \x3d c16 \x26 65535;\n      c32 \x3d c32 + (a32 + b32);\n      c48 \x3d c48 + (c32 \x3e\x3e\x3e 16);\n      c32 \x3d c32 \x26 65535;\n      c48 \x3d c48 + (a48 + b48);\n      c48 \x3d c48 \x26 65535;\n      return Long.fromBits(c16 \x3c\x3c 16 | c00, c48 \x3c\x3c 16 | c32);\n    }\n    subtract(other) {\n      return this.add(other.negate());\n    }\n    multiply(other) {\n      if (this.isZero()) {\n        return this;\n      }\n      if (other.isZero()) {\n        return other;\n      }\n      var a48 \x3d this.high_ \x3e\x3e\x3e 16;\n      var a32 \x3d this.high_ \x26 65535;\n      var a16 \x3d this.low_ \x3e\x3e\x3e 16;\n      var a00 \x3d this.low_ \x26 65535;\n      var b48 \x3d other.high_ \x3e\x3e\x3e 16;\n      var b32 \x3d other.high_ \x26 65535;\n      var b16 \x3d other.low_ \x3e\x3e\x3e 16;\n      var b00 \x3d other.low_ \x26 65535;\n      var c48 \x3d 0;\n      var c32 \x3d 0;\n      var c16 \x3d 0;\n      var c00 \x3d 0;\n      c00 \x3d c00 + a00 * b00;\n      c16 \x3d c16 + (c00 \x3e\x3e\x3e 16);\n      c00 \x3d c00 \x26 65535;\n      c16 \x3d c16 + a16 * b00;\n      c32 \x3d c32 + (c16 \x3e\x3e\x3e 16);\n      c16 \x3d c16 \x26 65535;\n      c16 \x3d c16 + a00 * b16;\n      c32 \x3d c32 + (c16 \x3e\x3e\x3e 16);\n      c16 \x3d c16 \x26 65535;\n      c32 \x3d c32 + a32 * b00;\n      c48 \x3d c48 + (c32 \x3e\x3e\x3e 16);\n      c32 \x3d c32 \x26 65535;\n      c32 \x3d c32 + a16 * b16;\n      c48 \x3d c48 + (c32 \x3e\x3e\x3e 16);\n      c32 \x3d c32 \x26 65535;\n      c32 \x3d c32 + a00 * b32;\n      c48 \x3d c48 + (c32 \x3e\x3e\x3e 16);\n      c32 \x3d c32 \x26 65535;\n      c48 \x3d c48 + (a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48);\n      c48 \x3d c48 \x26 65535;\n      return Long.fromBits(c16 \x3c\x3c 16 | c00, c48 \x3c\x3c 16 | c32);\n    }\n    div(other) {\n      if (other.isZero()) {\n        throw new Error(\x22division by zero\x22);\n      }\n      if (this.isNegative()) {\n        if (this.equals(Long.getMinValue())) {\n          if (other.equals(Long.getOne()) || other.equals(Long.getNegOne())) {\n            return Long.getMinValue();\n          }\n          if (other.equals(Long.getMinValue())) {\n            return Long.getOne();\n          }\n          var halfThis \x3d this.shiftRight(1);\n          var approx \x3d halfThis.div(other).shiftLeft(1);\n          if (approx.equals(Long.getZero())) {\n            return other.isNegative() ? Long.getOne() : Long.getNegOne();\n          }\n          var rem \x3d this.subtract(other.multiply(approx));\n          var result \x3d approx.add(rem.div(other));\n          return result;\n        }\n        if (other.isNegative()) {\n          return this.negate().div(other.negate());\n        }\n        return this.negate().div(other).negate();\n      }\n      if (this.isZero()) {\n        return Long.getZero();\n      }\n      if (other.isNegative()) {\n        if (other.equals(Long.getMinValue())) {\n          return Long.getZero();\n        }\n        return this.div(other.negate()).negate();\n      }\n      var res \x3d Long.getZero();\n      rem \x3d this;\n      for (; rem.greaterThanOrEqual(other);) {\n        approx \x3d Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));\n        var log2 \x3d Math.ceil(Math.log(approx) / Math.LN2);\n        var delta \x3d log2 \x3c\x3d 48 ? 1 : Math.pow(2, log2 - 48);\n        var approxRes \x3d Long.fromNumber(approx);\n        var approxRem \x3d approxRes.multiply(other);\n        for (; approxRem.isNegative() || approxRem.greaterThan(rem);) {\n          approx \x3d approx - delta;\n          approxRes \x3d Long.fromNumber(approx);\n          approxRem \x3d approxRes.multiply(other);\n        }\n        if (approxRes.isZero()) {\n          approxRes \x3d Long.getOne();\n        }\n        res \x3d res.add(approxRes);\n        rem \x3d rem.subtract(approxRem);\n      }\n      return res;\n    }\n    modulo(other) {\n      return this.subtract(this.div(other).multiply(other));\n    }\n    not() {\n      return Long.fromBits(~this.low_, ~this.high_);\n    }\n    and(other) {\n      return Long.fromBits(this.low_ \x26 other.low_, this.high_ \x26 other.high_);\n    }\n    or(other) {\n      return Long.fromBits(this.low_ | other.low_, this.high_ | other.high_);\n    }\n    xor(other) {\n      return Long.fromBits(this.low_ ^ other.low_, this.high_ ^ other.high_);\n    }\n    shiftLeft(numBits) {\n      numBits \x3d numBits \x26 63;\n      if (numBits \x3d\x3d 0) {\n        return this;\n      } else {\n        var low \x3d this.low_;\n        if (numBits \x3c 32) {\n          var high \x3d this.high_;\n          return Long.fromBits(low \x3c\x3c numBits, high \x3c\x3c numBits | low \x3e\x3e\x3e 32 - numBits);\n        } else {\n          return Long.fromBits(0, low \x3c\x3c numBits - 32);\n        }\n      }\n    }\n    shiftRight(numBits) {\n      numBits \x3d numBits \x26 63;\n      if (numBits \x3d\x3d 0) {\n        return this;\n      } else {\n        var high \x3d this.high_;\n        if (numBits \x3c 32) {\n          var low \x3d this.low_;\n          return Long.fromBits(low \x3e\x3e\x3e numBits | high \x3c\x3c 32 - numBits, high \x3e\x3e numBits);\n        } else {\n          return Long.fromBits(high \x3e\x3e numBits - 32, high \x3e\x3d 0 ? 0 : -1);\n        }\n      }\n    }\n    shiftRightUnsigned(numBits) {\n      numBits \x3d numBits \x26 63;\n      if (numBits \x3d\x3d 0) {\n        return this;\n      } else {\n        var high \x3d this.high_;\n        if (numBits \x3c 32) {\n          var low \x3d this.low_;\n          return Long.fromBits(low \x3e\x3e\x3e numBits | high \x3c\x3c 32 - numBits, high \x3e\x3e\x3e numBits);\n        } else if (numBits \x3d\x3d 32) {\n          return Long.fromBits(high, 0);\n        } else {\n          return Long.fromBits(high \x3e\x3e\x3e numBits - 32, 0);\n        }\n      }\n    }\n    static fromInt(value) {\n      var intValue \x3d value | 0;\n      asserts.assert(value \x3d\x3d\x3d intValue, \x22value should be a 32-bit integer\x22);\n      if (-128 \x3c\x3d intValue \x26\x26 intValue \x3c 128) {\n        return getCachedIntValue_(intValue);\n      } else {\n        return new Long(intValue, intValue \x3c 0 ? -1 : 0);\n      }\n    }\n    static fromNumber(value) {\n      if (value \x3e 0) {\n        if (value \x3e\x3d TWO_PWR_63_DBL_) {\n          return Long.getMaxValue();\n        }\n        return new Long(value, value / TWO_PWR_32_DBL_);\n      } else if (value \x3c 0) {\n        if (value \x3c\x3d -TWO_PWR_63_DBL_) {\n          return Long.getMinValue();\n        }\n        return (new Long(-value, -value / TWO_PWR_32_DBL_)).negate();\n      } else {\n        return Long.getZero();\n      }\n    }\n    static fromBits(lowBits, highBits) {\n      return new Long(lowBits, highBits);\n    }\n    static fromString(str, opt_radix) {\n      if (str.charAt(0) \x3d\x3d \x22-\x22) {\n        return Long.fromString(str.substring(1), opt_radix).negate();\n      }\n      var numberValue \x3d parseInt(str, opt_radix || 10);\n      if (numberValue \x3c\x3d MAX_SAFE_INTEGER_) {\n        return new Long(numberValue % TWO_PWR_32_DBL_ | 0, numberValue / TWO_PWR_32_DBL_ | 0);\n      }\n      if (str.length \x3d\x3d 0) {\n        throw new Error(\x22number format error: empty string\x22);\n      }\n      if (str.indexOf(\x22-\x22) \x3e\x3d 0) {\n        throw new Error(\x27number format error: interior \x22-\x22 character: \x27 + str);\n      }\n      var radix \x3d opt_radix || 10;\n      if (radix \x3c 2 || 36 \x3c radix) {\n        throw new Error(\x22radix out of range: \x22 + radix);\n      }\n      var radixToPower \x3d Long.fromNumber(Math.pow(radix, 8));\n      var result \x3d Long.getZero();\n      var i \x3d 0;\n      for (; i \x3c str.length; i \x3d i + 8) {\n        var size \x3d Math.min(8, str.length - i);\n        var value \x3d parseInt(str.substring(i, i + size), radix);\n        if (size \x3c 8) {\n          var power \x3d Long.fromNumber(Math.pow(radix, size));\n          result \x3d result.multiply(power).add(Long.fromNumber(value));\n        } else {\n          result \x3d result.multiply(radixToPower);\n          result \x3d result.add(Long.fromNumber(value));\n        }\n      }\n      return result;\n    }\n    static isStringInRange(str, opt_radix) {\n      var radix \x3d opt_radix || 10;\n      if (radix \x3c 2 || 36 \x3c radix) {\n        throw new Error(\x22radix out of range: \x22 + radix);\n      }\n      var extremeValue \x3d str.charAt(0) \x3d\x3d \x22-\x22 ? MIN_VALUE_FOR_RADIX_[radix] : MAX_VALUE_FOR_RADIX_[radix];\n      if (str.length \x3c extremeValue.length) {\n        return true;\n      } else if (str.length \x3d\x3d extremeValue.length \x26\x26 str \x3c\x3d extremeValue) {\n        return true;\n      } else {\n        return false;\n      }\n    }\n    static getZero() {\n      return ZERO_;\n    }\n    static getOne() {\n      return ONE_;\n    }\n    static getNegOne() {\n      return NEG_ONE_;\n    }\n    static getMaxValue() {\n      return MAX_VALUE_;\n    }\n    static getMinValue() {\n      return MIN_VALUE_;\n    }\n    static getTwoPwr24() {\n      return TWO_PWR_24_;\n    }\n  }\n  exports \x3d Long;\n  const IntCache_ \x3d {};\n  const MAX_VALUE_FOR_RADIX_ \x3d [\x22\x22, \x22\x22, \x22111111111111111111111111111111111111111111111111111111111111111\x22, \x222021110011022210012102010021220101220221\x22, \x2213333333333333333333333333333333\x22, \x221104332401304422434310311212\x22, \x221540241003031030222122211\x22, \x2222341010611245052052300\x22, \x22777777777777777777777\x22, \x2267404283172107811827\x22, \x229223372036854775807\x22, \x221728002635214590697\x22, \x2241a792678515120367\x22, \x2210b269549075433c37\x22, \x224340724c6c71dc7a7\x22, \x22160e2ad3246366807\x22, \x227fffffffffffffff\x22, \x2233d3d8307b214008\x22, \x2216agh595df825fa7\x22, \n  \x22ba643dci0ffeehh\x22, \x225cbfjia3fh26ja7\x22, \x222heiciiie82dh97\x22, \x221adaibb21dckfa7\x22, \x22i6k448cf4192c2\x22, \x22acd772jnc9l0l7\x22, \x2264ie1focnn5g77\x22, \x223igoecjbmca687\x22, \x2227c48l5b37oaop\x22, \x221bk39f3ah3dmq7\x22, \x22q1se8f0m04isb\x22, \x22hajppbc1fc207\x22, \x22bm03i95hia437\x22, \x227vvvvvvvvvvvv\x22, \x225hg4ck9jd4u37\x22, \x223tdtk1v8j6tpp\x22, \x222pijmikexrxp7\x22, \x221y2p0ij32e8e7\x22];\n  const MIN_VALUE_FOR_RADIX_ \x3d [\x22\x22, \x22\x22, \x22-1000000000000000000000000000000000000000000000000000000000000000\x22, \x22-2021110011022210012102010021220101220222\x22, \x22-20000000000000000000000000000000\x22, \x22-1104332401304422434310311213\x22, \x22-1540241003031030222122212\x22, \x22-22341010611245052052301\x22, \x22-1000000000000000000000\x22, \x22-67404283172107811828\x22, \x22-9223372036854775808\x22, \x22-1728002635214590698\x22, \x22-41a792678515120368\x22, \x22-10b269549075433c38\x22, \x22-4340724c6c71dc7a8\x22, \x22-160e2ad3246366808\x22, \x22-8000000000000000\x22, \x22-33d3d8307b214009\x22, \n  \x22-16agh595df825fa8\x22, \x22-ba643dci0ffeehi\x22, \x22-5cbfjia3fh26ja8\x22, \x22-2heiciiie82dh98\x22, \x22-1adaibb21dckfa8\x22, \x22-i6k448cf4192c3\x22, \x22-acd772jnc9l0l8\x22, \x22-64ie1focnn5g78\x22, \x22-3igoecjbmca688\x22, \x22-27c48l5b37oaoq\x22, \x22-1bk39f3ah3dmq8\x22, \x22-q1se8f0m04isc\x22, \x22-hajppbc1fc208\x22, \x22-bm03i95hia438\x22, \x22-8000000000000\x22, \x22-5hg4ck9jd4u38\x22, \x22-3tdtk1v8j6tpq\x22, \x22-2pijmikexrxp8\x22, \x22-1y2p0ij32e8e8\x22];\n  const MAX_SAFE_INTEGER_ \x3d 9007199254740991;\n  const TWO_PWR_32_DBL_ \x3d 4294967296;\n  const TWO_PWR_63_DBL_ \x3d 0x7fffffffffffffff;\n  const ZERO_ \x3d Long.fromBits(0, 0);\n  const ONE_ \x3d Long.fromBits(1, 0);\n  const NEG_ONE_ \x3d Long.fromBits(-1, -1);\n  const MAX_VALUE_ \x3d Long.fromBits(4294967295, 2147483647);\n  const MIN_VALUE_ \x3d Long.fromBits(0, 2147483648);\n  const TWO_PWR_24_ \x3d Long.fromBits(1 \x3c\x3c 24, 0);\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.math.integer.js", true, "goog.provide(\x22goog.math.Integer\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.math.Integer \x3d function(bits, sign) {\n  this.sign_ \x3d sign;\n  var localBits \x3d [];\n  var top \x3d true;\n  var i \x3d bits.length - 1;\n  for (; i \x3e\x3d 0; i--) {\n    var val \x3d bits[i] | 0;\n    if (!top || val !\x3d sign) {\n      localBits[i] \x3d val;\n      top \x3d false;\n    }\n  }\n  this.bits_ \x3d localBits;\n};\ngoog.math.Integer.IntCache_ \x3d {};\ngoog.math.Integer.fromInt \x3d function(value) {\n  if (-128 \x3c\x3d value \x26\x26 value \x3c 128) {\n    return goog.reflect.cache(goog.math.Integer.IntCache_, value, function(val) {\n      return new goog.math.Integer([val | 0], val \x3c 0 ? -1 : 0);\n    });\n  }\n  return new goog.math.Integer([value | 0], value \x3c 0 ? -1 : 0);\n};\ngoog.math.Integer.fromNumber \x3d function(value) {\n  if (isNaN(value) || !isFinite(value)) {\n    return goog.math.Integer.ZERO;\n  } else if (value \x3c 0) {\n    return goog.math.Integer.fromNumber(-value).negate();\n  } else {\n    var bits \x3d [];\n    var pow \x3d 1;\n    var i \x3d 0;\n    for (; value \x3e\x3d pow; i++) {\n      bits[i] \x3d value / pow | 0;\n      pow \x3d pow * goog.math.Integer.TWO_PWR_32_DBL_;\n    }\n    return new goog.math.Integer(bits, 0);\n  }\n};\ngoog.math.Integer.fromBits \x3d function(bits) {\n  var high \x3d bits[bits.length - 1];\n  return new goog.math.Integer(bits, high \x26 1 \x3c\x3c 31 ? -1 : 0);\n};\ngoog.math.Integer.fromString \x3d function(str, opt_radix) {\n  if (str.length \x3d\x3d 0) {\n    throw new Error(\x22number format error: empty string\x22);\n  }\n  var radix \x3d opt_radix || 10;\n  if (radix \x3c 2 || 36 \x3c radix) {\n    throw new Error(\x22radix out of range: \x22 + radix);\n  }\n  if (str.charAt(0) \x3d\x3d \x22-\x22) {\n    return goog.math.Integer.fromString(str.substring(1), radix).negate();\n  } else if (str.indexOf(\x22-\x22) \x3e\x3d 0) {\n    throw new Error(\x27number format error: interior \x22-\x22 character\x27);\n  }\n  var radixToPower \x3d goog.math.Integer.fromNumber(Math.pow(radix, 8));\n  var result \x3d goog.math.Integer.ZERO;\n  var i \x3d 0;\n  for (; i \x3c str.length; i \x3d i + 8) {\n    var size \x3d Math.min(8, str.length - i);\n    var value \x3d parseInt(str.substring(i, i + size), radix);\n    if (size \x3c 8) {\n      var power \x3d goog.math.Integer.fromNumber(Math.pow(radix, size));\n      result \x3d result.multiply(power).add(goog.math.Integer.fromNumber(value));\n    } else {\n      result \x3d result.multiply(radixToPower);\n      result \x3d result.add(goog.math.Integer.fromNumber(value));\n    }\n  }\n  return result;\n};\ngoog.math.Integer.TWO_PWR_32_DBL_ \x3d (1 \x3c\x3c 16) * (1 \x3c\x3c 16);\ngoog.math.Integer.ZERO \x3d goog.math.Integer.fromInt(0);\ngoog.math.Integer.ONE \x3d goog.math.Integer.fromInt(1);\ngoog.math.Integer.TWO_PWR_24_ \x3d goog.math.Integer.fromInt(1 \x3c\x3c 24);\ngoog.math.Integer.prototype.toInt \x3d function() {\n  return this.bits_.length \x3e 0 ? this.bits_[0] : this.sign_;\n};\ngoog.math.Integer.prototype.toNumber \x3d function() {\n  if (this.isNegative()) {\n    return -this.negate().toNumber();\n  } else {\n    var val \x3d 0;\n    var pow \x3d 1;\n    var i \x3d 0;\n    for (; i \x3c this.bits_.length; i++) {\n      val \x3d val + this.getBitsUnsigned(i) * pow;\n      pow \x3d pow * goog.math.Integer.TWO_PWR_32_DBL_;\n    }\n    return val;\n  }\n};\ngoog.math.Integer.prototype.toString \x3d function(opt_radix) {\n  var radix \x3d opt_radix || 10;\n  if (radix \x3c 2 || 36 \x3c radix) {\n    throw new Error(\x22radix out of range: \x22 + radix);\n  }\n  if (this.isZero()) {\n    return \x220\x22;\n  } else if (this.isNegative()) {\n    return \x22-\x22 + this.negate().toString(radix);\n  }\n  var radixToPower \x3d goog.math.Integer.fromNumber(Math.pow(radix, 6));\n  var rem \x3d this;\n  var result \x3d \x22\x22;\n  for (; true;) {\n    var remDiv \x3d rem.divide(radixToPower);\n    var intval \x3d rem.subtract(remDiv.multiply(radixToPower)).toInt() \x3e\x3e\x3e 0;\n    var digits \x3d intval.toString(radix);\n    rem \x3d remDiv;\n    if (rem.isZero()) {\n      return digits + result;\n    } else {\n      for (; digits.length \x3c 6;) {\n        digits \x3d \x220\x22 + digits;\n      }\n      result \x3d \x22\x22 + digits + result;\n    }\n  }\n};\ngoog.math.Integer.prototype.getBits \x3d function(index) {\n  if (index \x3c 0) {\n    return 0;\n  } else if (index \x3c this.bits_.length) {\n    return this.bits_[index];\n  } else {\n    return this.sign_;\n  }\n};\ngoog.math.Integer.prototype.getBitsUnsigned \x3d function(index) {\n  var val \x3d this.getBits(index);\n  return val \x3e\x3d 0 ? val : goog.math.Integer.TWO_PWR_32_DBL_ + val;\n};\ngoog.math.Integer.prototype.getSign \x3d function() {\n  return this.sign_;\n};\ngoog.math.Integer.prototype.isZero \x3d function() {\n  if (this.sign_ !\x3d 0) {\n    return false;\n  }\n  var i \x3d 0;\n  for (; i \x3c this.bits_.length; i++) {\n    if (this.bits_[i] !\x3d 0) {\n      return false;\n    }\n  }\n  return true;\n};\ngoog.math.Integer.prototype.isNegative \x3d function() {\n  return this.sign_ \x3d\x3d -1;\n};\ngoog.math.Integer.prototype.isOdd \x3d function() {\n  return this.bits_.length \x3d\x3d 0 \x26\x26 this.sign_ \x3d\x3d -1 || this.bits_.length \x3e 0 \x26\x26 (this.bits_[0] \x26 1) !\x3d 0;\n};\ngoog.math.Integer.prototype.equals \x3d function(other) {\n  if (this.sign_ !\x3d other.sign_) {\n    return false;\n  }\n  var len \x3d Math.max(this.bits_.length, other.bits_.length);\n  var i \x3d 0;\n  for (; i \x3c len; i++) {\n    if (this.getBits(i) !\x3d other.getBits(i)) {\n      return false;\n    }\n  }\n  return true;\n};\ngoog.math.Integer.prototype.notEquals \x3d function(other) {\n  return !this.equals(other);\n};\ngoog.math.Integer.prototype.greaterThan \x3d function(other) {\n  return this.compare(other) \x3e 0;\n};\ngoog.math.Integer.prototype.greaterThanOrEqual \x3d function(other) {\n  return this.compare(other) \x3e\x3d 0;\n};\ngoog.math.Integer.prototype.lessThan \x3d function(other) {\n  return this.compare(other) \x3c 0;\n};\ngoog.math.Integer.prototype.lessThanOrEqual \x3d function(other) {\n  return this.compare(other) \x3c\x3d 0;\n};\ngoog.math.Integer.prototype.compare \x3d function(other) {\n  var diff \x3d this.subtract(other);\n  if (diff.isNegative()) {\n    return -1;\n  } else if (diff.isZero()) {\n    return 0;\n  } else {\n    return +1;\n  }\n};\ngoog.math.Integer.prototype.shorten \x3d function(numBits) {\n  var arr_index \x3d numBits - 1 \x3e\x3e 5;\n  var bit_index \x3d (numBits - 1) % 32;\n  var bits \x3d [];\n  var i \x3d 0;\n  for (; i \x3c arr_index; i++) {\n    bits[i] \x3d this.getBits(i);\n  }\n  var sigBits \x3d bit_index \x3d\x3d 31 ? 4294967295 : (1 \x3c\x3c bit_index + 1) - 1;\n  var val \x3d this.getBits(arr_index) \x26 sigBits;\n  if (val \x26 1 \x3c\x3c bit_index) {\n    val \x3d val | 4294967295 - sigBits;\n    bits[arr_index] \x3d val;\n    return new goog.math.Integer(bits, -1);\n  } else {\n    bits[arr_index] \x3d val;\n    return new goog.math.Integer(bits, 0);\n  }\n};\ngoog.math.Integer.prototype.negate \x3d function() {\n  return this.not().add(goog.math.Integer.ONE);\n};\ngoog.math.Integer.prototype.abs \x3d function() {\n  return this.isNegative() ? this.negate() : this;\n};\ngoog.math.Integer.prototype.add \x3d function(other) {\n  var len \x3d Math.max(this.bits_.length, other.bits_.length);\n  var arr \x3d [];\n  var carry \x3d 0;\n  var i \x3d 0;\n  for (; i \x3c\x3d len; i++) {\n    var a1 \x3d this.getBits(i) \x3e\x3e\x3e 16;\n    var a0 \x3d this.getBits(i) \x26 65535;\n    var b1 \x3d other.getBits(i) \x3e\x3e\x3e 16;\n    var b0 \x3d other.getBits(i) \x26 65535;\n    var c0 \x3d carry + a0 + b0;\n    var c1 \x3d (c0 \x3e\x3e\x3e 16) + a1 + b1;\n    carry \x3d c1 \x3e\x3e\x3e 16;\n    c0 \x3d c0 \x26 65535;\n    c1 \x3d c1 \x26 65535;\n    arr[i] \x3d c1 \x3c\x3c 16 | c0;\n  }\n  return goog.math.Integer.fromBits(arr);\n};\ngoog.math.Integer.prototype.subtract \x3d function(other) {\n  return this.add(other.negate());\n};\ngoog.math.Integer.prototype.multiply \x3d function(other) {\n  if (this.isZero()) {\n    return goog.math.Integer.ZERO;\n  } else if (other.isZero()) {\n    return goog.math.Integer.ZERO;\n  }\n  if (this.isNegative()) {\n    if (other.isNegative()) {\n      return this.negate().multiply(other.negate());\n    } else {\n      return this.negate().multiply(other).negate();\n    }\n  } else if (other.isNegative()) {\n    return this.multiply(other.negate()).negate();\n  }\n  if (this.lessThan(goog.math.Integer.TWO_PWR_24_) \x26\x26 other.lessThan(goog.math.Integer.TWO_PWR_24_)) {\n    return goog.math.Integer.fromNumber(this.toNumber() * other.toNumber());\n  }\n  var len \x3d this.bits_.length + other.bits_.length;\n  var arr \x3d [];\n  var i \x3d 0;\n  for (; i \x3c 2 * len; i++) {\n    arr[i] \x3d 0;\n  }\n  i \x3d 0;\n  for (; i \x3c this.bits_.length; i++) {\n    var j \x3d 0;\n    for (; j \x3c other.bits_.length; j++) {\n      var a1 \x3d this.getBits(i) \x3e\x3e\x3e 16;\n      var a0 \x3d this.getBits(i) \x26 65535;\n      var b1 \x3d other.getBits(j) \x3e\x3e\x3e 16;\n      var b0 \x3d other.getBits(j) \x26 65535;\n      arr[2 * i + 2 * j] +\x3d a0 * b0;\n      goog.math.Integer.carry16_(arr, 2 * i + 2 * j);\n      arr[2 * i + 2 * j + 1] +\x3d a1 * b0;\n      goog.math.Integer.carry16_(arr, 2 * i + 2 * j + 1);\n      arr[2 * i + 2 * j + 1] +\x3d a0 * b1;\n      goog.math.Integer.carry16_(arr, 2 * i + 2 * j + 1);\n      arr[2 * i + 2 * j + 2] +\x3d a1 * b1;\n      goog.math.Integer.carry16_(arr, 2 * i + 2 * j + 2);\n    }\n  }\n  i \x3d 0;\n  for (; i \x3c len; i++) {\n    arr[i] \x3d arr[2 * i + 1] \x3c\x3c 16 | arr[2 * i];\n  }\n  i \x3d len;\n  for (; i \x3c 2 * len; i++) {\n    arr[i] \x3d 0;\n  }\n  return new goog.math.Integer(arr, 0);\n};\ngoog.math.Integer.carry16_ \x3d function(bits, index) {\n  for (; (bits[index] \x26 65535) !\x3d bits[index];) {\n    bits[index + 1] +\x3d bits[index] \x3e\x3e\x3e 16;\n    bits[index] \x26\x3d 65535;\n    index++;\n  }\n};\ngoog.math.Integer.prototype.slowDivide_ \x3d function(other) {\n  if (this.isNegative() || other.isNegative()) {\n    throw new Error(\x22slowDivide_ only works with positive integers.\x22);\n  }\n  var twoPower \x3d goog.math.Integer.ONE;\n  var multiple \x3d other;\n  for (; multiple.lessThanOrEqual(this);) {\n    twoPower \x3d twoPower.shiftLeft(1);\n    multiple \x3d multiple.shiftLeft(1);\n  }\n  var res \x3d twoPower.shiftRight(1);\n  var total \x3d multiple.shiftRight(1);\n  var total2;\n  multiple \x3d multiple.shiftRight(2);\n  twoPower \x3d twoPower.shiftRight(2);\n  for (; !multiple.isZero();) {\n    total2 \x3d total.add(multiple);\n    if (total2.lessThanOrEqual(this)) {\n      res \x3d res.add(twoPower);\n      total \x3d total2;\n    }\n    multiple \x3d multiple.shiftRight(1);\n    twoPower \x3d twoPower.shiftRight(1);\n  }\n  var remainder \x3d this.subtract(res.multiply(other));\n  return new goog.math.Integer.DivisionResult(res, remainder);\n};\ngoog.math.Integer.prototype.divide \x3d function(other) {\n  return this.divideAndRemainder(other).quotient;\n};\ngoog.math.Integer.DivisionResult \x3d function(quotient, remainder) {\n  this.quotient \x3d quotient;\n  this.remainder \x3d remainder;\n};\ngoog.math.Integer.prototype.divideAndRemainder \x3d function(other) {\n  if (other.isZero()) {\n    throw new Error(\x22division by zero\x22);\n  } else if (this.isZero()) {\n    return new goog.math.Integer.DivisionResult(goog.math.Integer.ZERO, goog.math.Integer.ZERO);\n  }\n  if (this.isNegative()) {\n    var result \x3d this.negate().divideAndRemainder(other);\n    return new goog.math.Integer.DivisionResult(result.quotient.negate(), result.remainder.negate());\n  } else if (other.isNegative()) {\n    result \x3d this.divideAndRemainder(other.negate());\n    return new goog.math.Integer.DivisionResult(result.quotient.negate(), result.remainder);\n  }\n  if (this.bits_.length \x3e 30) {\n    return this.slowDivide_(other);\n  }\n  var res \x3d goog.math.Integer.ZERO;\n  var rem \x3d this;\n  for (; rem.greaterThanOrEqual(other);) {\n    var approx \x3d Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));\n    var log2 \x3d Math.ceil(Math.log(approx) / Math.LN2);\n    var delta \x3d log2 \x3c\x3d 48 ? 1 : Math.pow(2, log2 - 48);\n    var approxRes \x3d goog.math.Integer.fromNumber(approx);\n    var approxRem \x3d approxRes.multiply(other);\n    for (; approxRem.isNegative() || approxRem.greaterThan(rem);) {\n      approx \x3d approx - delta;\n      approxRes \x3d goog.math.Integer.fromNumber(approx);\n      approxRem \x3d approxRes.multiply(other);\n    }\n    if (approxRes.isZero()) {\n      approxRes \x3d goog.math.Integer.ONE;\n    }\n    res \x3d res.add(approxRes);\n    rem \x3d rem.subtract(approxRem);\n  }\n  return new goog.math.Integer.DivisionResult(res, rem);\n};\ngoog.math.Integer.prototype.modulo \x3d function(other) {\n  return this.divideAndRemainder(other).remainder;\n};\ngoog.math.Integer.prototype.not \x3d function() {\n  var len \x3d this.bits_.length;\n  var arr \x3d [];\n  var i \x3d 0;\n  for (; i \x3c len; i++) {\n    arr[i] \x3d ~this.bits_[i];\n  }\n  return new goog.math.Integer(arr, ~this.sign_);\n};\ngoog.math.Integer.prototype.and \x3d function(other) {\n  var len \x3d Math.max(this.bits_.length, other.bits_.length);\n  var arr \x3d [];\n  var i \x3d 0;\n  for (; i \x3c len; i++) {\n    arr[i] \x3d this.getBits(i) \x26 other.getBits(i);\n  }\n  return new goog.math.Integer(arr, this.sign_ \x26 other.sign_);\n};\ngoog.math.Integer.prototype.or \x3d function(other) {\n  var len \x3d Math.max(this.bits_.length, other.bits_.length);\n  var arr \x3d [];\n  var i \x3d 0;\n  for (; i \x3c len; i++) {\n    arr[i] \x3d this.getBits(i) | other.getBits(i);\n  }\n  return new goog.math.Integer(arr, this.sign_ | other.sign_);\n};\ngoog.math.Integer.prototype.xor \x3d function(other) {\n  var len \x3d Math.max(this.bits_.length, other.bits_.length);\n  var arr \x3d [];\n  var i \x3d 0;\n  for (; i \x3c len; i++) {\n    arr[i] \x3d this.getBits(i) ^ other.getBits(i);\n  }\n  return new goog.math.Integer(arr, this.sign_ ^ other.sign_);\n};\ngoog.math.Integer.prototype.shiftLeft \x3d function(numBits) {\n  var arr_delta \x3d numBits \x3e\x3e 5;\n  var bit_delta \x3d numBits % 32;\n  var len \x3d this.bits_.length + arr_delta + (bit_delta \x3e 0 ? 1 : 0);\n  var arr \x3d [];\n  var i \x3d 0;\n  for (; i \x3c len; i++) {\n    if (bit_delta \x3e 0) {\n      arr[i] \x3d this.getBits(i - arr_delta) \x3c\x3c bit_delta | this.getBits(i - arr_delta - 1) \x3e\x3e\x3e 32 - bit_delta;\n    } else {\n      arr[i] \x3d this.getBits(i - arr_delta);\n    }\n  }\n  return new goog.math.Integer(arr, this.sign_);\n};\ngoog.math.Integer.prototype.shiftRight \x3d function(numBits) {\n  var arr_delta \x3d numBits \x3e\x3e 5;\n  var bit_delta \x3d numBits % 32;\n  var len \x3d this.bits_.length - arr_delta;\n  var arr \x3d [];\n  var i \x3d 0;\n  for (; i \x3c len; i++) {\n    if (bit_delta \x3e 0) {\n      arr[i] \x3d this.getBits(i + arr_delta) \x3e\x3e\x3e bit_delta | this.getBits(i + arr_delta + 1) \x3c\x3c 32 - bit_delta;\n    } else {\n      arr[i] \x3d this.getBits(i + arr_delta);\n    }\n  }\n  return new goog.math.Integer(arr, this.sign_);\n};\n");
SHADOW_ENV.evalLoad("goog.dom.htmlelement.js", true, "goog.provide(\x22goog.dom.HtmlElement\x22);\ngoog.dom.HtmlElement \x3d function() {\n};\n");
SHADOW_ENV.evalLoad("goog.dom.tagname.js", true, "goog.provide(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.HtmlElement\x22);\ngoog.dom.TagName \x3d class {\n  static cast(name, type) {\n    return name;\n  }\n  constructor() {\n    this.googDomTagName_doNotImplementThisTypeOrElse_;\n    this.ensureTypeScriptRemembersTypeT_;\n  }\n  toString() {\n  }\n};\ngoog.dom.TagName.A \x3d \x22A\x22;\ngoog.dom.TagName.ABBR \x3d \x22ABBR\x22;\ngoog.dom.TagName.ACRONYM \x3d \x22ACRONYM\x22;\ngoog.dom.TagName.ADDRESS \x3d \x22ADDRESS\x22;\ngoog.dom.TagName.APPLET \x3d \x22APPLET\x22;\ngoog.dom.TagName.AREA \x3d \x22AREA\x22;\ngoog.dom.TagName.ARTICLE \x3d \x22ARTICLE\x22;\ngoog.dom.TagName.ASIDE \x3d \x22ASIDE\x22;\ngoog.dom.TagName.AUDIO \x3d \x22AUDIO\x22;\ngoog.dom.TagName.B \x3d \x22B\x22;\ngoog.dom.TagName.BASE \x3d \x22BASE\x22;\ngoog.dom.TagName.BASEFONT \x3d \x22BASEFONT\x22;\ngoog.dom.TagName.BDI \x3d \x22BDI\x22;\ngoog.dom.TagName.BDO \x3d \x22BDO\x22;\ngoog.dom.TagName.BIG \x3d \x22BIG\x22;\ngoog.dom.TagName.BLOCKQUOTE \x3d \x22BLOCKQUOTE\x22;\ngoog.dom.TagName.BODY \x3d \x22BODY\x22;\ngoog.dom.TagName.BR \x3d \x22BR\x22;\ngoog.dom.TagName.BUTTON \x3d \x22BUTTON\x22;\ngoog.dom.TagName.CANVAS \x3d \x22CANVAS\x22;\ngoog.dom.TagName.CAPTION \x3d \x22CAPTION\x22;\ngoog.dom.TagName.CENTER \x3d \x22CENTER\x22;\ngoog.dom.TagName.CITE \x3d \x22CITE\x22;\ngoog.dom.TagName.CODE \x3d \x22CODE\x22;\ngoog.dom.TagName.COL \x3d \x22COL\x22;\ngoog.dom.TagName.COLGROUP \x3d \x22COLGROUP\x22;\ngoog.dom.TagName.COMMAND \x3d \x22COMMAND\x22;\ngoog.dom.TagName.DATA \x3d \x22DATA\x22;\ngoog.dom.TagName.DATALIST \x3d \x22DATALIST\x22;\ngoog.dom.TagName.DD \x3d \x22DD\x22;\ngoog.dom.TagName.DEL \x3d \x22DEL\x22;\ngoog.dom.TagName.DETAILS \x3d \x22DETAILS\x22;\ngoog.dom.TagName.DFN \x3d \x22DFN\x22;\ngoog.dom.TagName.DIALOG \x3d \x22DIALOG\x22;\ngoog.dom.TagName.DIR \x3d \x22DIR\x22;\ngoog.dom.TagName.DIV \x3d \x22DIV\x22;\ngoog.dom.TagName.DL \x3d \x22DL\x22;\ngoog.dom.TagName.DT \x3d \x22DT\x22;\ngoog.dom.TagName.EM \x3d \x22EM\x22;\ngoog.dom.TagName.EMBED \x3d \x22EMBED\x22;\ngoog.dom.TagName.FIELDSET \x3d \x22FIELDSET\x22;\ngoog.dom.TagName.FIGCAPTION \x3d \x22FIGCAPTION\x22;\ngoog.dom.TagName.FIGURE \x3d \x22FIGURE\x22;\ngoog.dom.TagName.FONT \x3d \x22FONT\x22;\ngoog.dom.TagName.FOOTER \x3d \x22FOOTER\x22;\ngoog.dom.TagName.FORM \x3d \x22FORM\x22;\ngoog.dom.TagName.FRAME \x3d \x22FRAME\x22;\ngoog.dom.TagName.FRAMESET \x3d \x22FRAMESET\x22;\ngoog.dom.TagName.H1 \x3d \x22H1\x22;\ngoog.dom.TagName.H2 \x3d \x22H2\x22;\ngoog.dom.TagName.H3 \x3d \x22H3\x22;\ngoog.dom.TagName.H4 \x3d \x22H4\x22;\ngoog.dom.TagName.H5 \x3d \x22H5\x22;\ngoog.dom.TagName.H6 \x3d \x22H6\x22;\ngoog.dom.TagName.HEAD \x3d \x22HEAD\x22;\ngoog.dom.TagName.HEADER \x3d \x22HEADER\x22;\ngoog.dom.TagName.HGROUP \x3d \x22HGROUP\x22;\ngoog.dom.TagName.HR \x3d \x22HR\x22;\ngoog.dom.TagName.HTML \x3d \x22HTML\x22;\ngoog.dom.TagName.I \x3d \x22I\x22;\ngoog.dom.TagName.IFRAME \x3d \x22IFRAME\x22;\ngoog.dom.TagName.IMG \x3d \x22IMG\x22;\ngoog.dom.TagName.INPUT \x3d \x22INPUT\x22;\ngoog.dom.TagName.INS \x3d \x22INS\x22;\ngoog.dom.TagName.ISINDEX \x3d \x22ISINDEX\x22;\ngoog.dom.TagName.KBD \x3d \x22KBD\x22;\ngoog.dom.TagName.KEYGEN \x3d \x22KEYGEN\x22;\ngoog.dom.TagName.LABEL \x3d \x22LABEL\x22;\ngoog.dom.TagName.LEGEND \x3d \x22LEGEND\x22;\ngoog.dom.TagName.LI \x3d \x22LI\x22;\ngoog.dom.TagName.LINK \x3d \x22LINK\x22;\ngoog.dom.TagName.MAIN \x3d \x22MAIN\x22;\ngoog.dom.TagName.MAP \x3d \x22MAP\x22;\ngoog.dom.TagName.MARK \x3d \x22MARK\x22;\ngoog.dom.TagName.MATH \x3d \x22MATH\x22;\ngoog.dom.TagName.MENU \x3d \x22MENU\x22;\ngoog.dom.TagName.MENUITEM \x3d \x22MENUITEM\x22;\ngoog.dom.TagName.META \x3d \x22META\x22;\ngoog.dom.TagName.METER \x3d \x22METER\x22;\ngoog.dom.TagName.NAV \x3d \x22NAV\x22;\ngoog.dom.TagName.NOFRAMES \x3d \x22NOFRAMES\x22;\ngoog.dom.TagName.NOSCRIPT \x3d \x22NOSCRIPT\x22;\ngoog.dom.TagName.OBJECT \x3d \x22OBJECT\x22;\ngoog.dom.TagName.OL \x3d \x22OL\x22;\ngoog.dom.TagName.OPTGROUP \x3d \x22OPTGROUP\x22;\ngoog.dom.TagName.OPTION \x3d \x22OPTION\x22;\ngoog.dom.TagName.OUTPUT \x3d \x22OUTPUT\x22;\ngoog.dom.TagName.P \x3d \x22P\x22;\ngoog.dom.TagName.PARAM \x3d \x22PARAM\x22;\ngoog.dom.TagName.PICTURE \x3d \x22PICTURE\x22;\ngoog.dom.TagName.PRE \x3d \x22PRE\x22;\ngoog.dom.TagName.PROGRESS \x3d \x22PROGRESS\x22;\ngoog.dom.TagName.Q \x3d \x22Q\x22;\ngoog.dom.TagName.RP \x3d \x22RP\x22;\ngoog.dom.TagName.RT \x3d \x22RT\x22;\ngoog.dom.TagName.RTC \x3d \x22RTC\x22;\ngoog.dom.TagName.RUBY \x3d \x22RUBY\x22;\ngoog.dom.TagName.S \x3d \x22S\x22;\ngoog.dom.TagName.SAMP \x3d \x22SAMP\x22;\ngoog.dom.TagName.SCRIPT \x3d \x22SCRIPT\x22;\ngoog.dom.TagName.SECTION \x3d \x22SECTION\x22;\ngoog.dom.TagName.SELECT \x3d \x22SELECT\x22;\ngoog.dom.TagName.SMALL \x3d \x22SMALL\x22;\ngoog.dom.TagName.SOURCE \x3d \x22SOURCE\x22;\ngoog.dom.TagName.SPAN \x3d \x22SPAN\x22;\ngoog.dom.TagName.STRIKE \x3d \x22STRIKE\x22;\ngoog.dom.TagName.STRONG \x3d \x22STRONG\x22;\ngoog.dom.TagName.STYLE \x3d \x22STYLE\x22;\ngoog.dom.TagName.SUB \x3d \x22SUB\x22;\ngoog.dom.TagName.SUMMARY \x3d \x22SUMMARY\x22;\ngoog.dom.TagName.SUP \x3d \x22SUP\x22;\ngoog.dom.TagName.SVG \x3d \x22SVG\x22;\ngoog.dom.TagName.TABLE \x3d \x22TABLE\x22;\ngoog.dom.TagName.TBODY \x3d \x22TBODY\x22;\ngoog.dom.TagName.TD \x3d \x22TD\x22;\ngoog.dom.TagName.TEMPLATE \x3d \x22TEMPLATE\x22;\ngoog.dom.TagName.TEXTAREA \x3d \x22TEXTAREA\x22;\ngoog.dom.TagName.TFOOT \x3d \x22TFOOT\x22;\ngoog.dom.TagName.TH \x3d \x22TH\x22;\ngoog.dom.TagName.THEAD \x3d \x22THEAD\x22;\ngoog.dom.TagName.TIME \x3d \x22TIME\x22;\ngoog.dom.TagName.TITLE \x3d \x22TITLE\x22;\ngoog.dom.TagName.TR \x3d \x22TR\x22;\ngoog.dom.TagName.TRACK \x3d \x22TRACK\x22;\ngoog.dom.TagName.TT \x3d \x22TT\x22;\ngoog.dom.TagName.U \x3d \x22U\x22;\ngoog.dom.TagName.UL \x3d \x22UL\x22;\ngoog.dom.TagName.VAR \x3d \x22VAR\x22;\ngoog.dom.TagName.VIDEO \x3d \x22VIDEO\x22;\ngoog.dom.TagName.WBR \x3d \x22WBR\x22;\n");
SHADOW_ENV.evalLoad("goog.dom.element.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.dom.element\x22);\n  goog.module.declareLegacyNamespace();\n  const NodeType \x3d goog.require(\x22goog.dom.NodeType\x22);\n  const TagName \x3d goog.require(\x22goog.dom.TagName\x22);\n  const HTML_NAMESPACE \x3d \x22http://www.w3.org/1999/xhtml\x22;\n  const isElement \x3d value \x3d\x3e {\n    return goog.isObject(value) \x26\x26 value.nodeType \x3d\x3d\x3d NodeType.ELEMENT;\n  };\n  const isHtmlElement \x3d value \x3d\x3e {\n    return goog.isObject(value) \x26\x26 isElement(value) \x26\x26 (!value.namespaceURI || value.namespaceURI \x3d\x3d\x3d HTML_NAMESPACE);\n  };\n  const isHtmlElementOfType \x3d (value, tagName) \x3d\x3e {\n    return goog.isObject(value) \x26\x26 isHtmlElement(value) \x26\x26 value.tagName.toUpperCase() \x3d\x3d\x3d tagName.toString();\n  };\n  const isHtmlAnchorElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.A);\n  };\n  const isHtmlButtonElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.BUTTON);\n  };\n  const isHtmlLinkElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.LINK);\n  };\n  const isHtmlImageElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.IMG);\n  };\n  const isHtmlAudioElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.AUDIO);\n  };\n  const isHtmlVideoElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.VIDEO);\n  };\n  const isHtmlInputElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.INPUT);\n  };\n  const isHtmlTextAreaElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.TEXTAREA);\n  };\n  const isHtmlCanvasElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.CANVAS);\n  };\n  const isHtmlEmbedElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.EMBED);\n  };\n  const isHtmlFormElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.FORM);\n  };\n  const isHtmlFrameElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.FRAME);\n  };\n  const isHtmlIFrameElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.IFRAME);\n  };\n  const isHtmlObjectElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.OBJECT);\n  };\n  const isHtmlScriptElement \x3d value \x3d\x3e {\n    return isHtmlElementOfType(value, TagName.SCRIPT);\n  };\n  exports \x3d {isElement, isHtmlElement, isHtmlElementOfType, isHtmlAnchorElement, isHtmlButtonElement, isHtmlLinkElement, isHtmlImageElement, isHtmlAudioElement, isHtmlVideoElement, isHtmlInputElement, isHtmlTextAreaElement, isHtmlCanvasElement, isHtmlEmbedElement, isHtmlFormElement, isHtmlFrameElement, isHtmlIFrameElement, isHtmlObjectElement, isHtmlScriptElement};\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.asserts.dom.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.asserts.dom\x22);\n  goog.module.declareLegacyNamespace();\n  const TagName \x3d goog.require(\x22goog.dom.TagName\x22);\n  const asserts \x3d goog.require(\x22goog.asserts\x22);\n  const element \x3d goog.require(\x22goog.dom.element\x22);\n  const assertIsElement \x3d value \x3d\x3e {\n    if (asserts.ENABLE_ASSERTS \x26\x26 !element.isElement(value)) {\n      asserts.fail(`Argument is not an Element; got: ${debugStringForType(value)}`);\n    }\n    return value;\n  };\n  const assertIsHtmlElement \x3d value \x3d\x3e {\n    if (asserts.ENABLE_ASSERTS \x26\x26 !element.isHtmlElement(value)) {\n      asserts.fail(`Argument is not an HTML Element; got: ${debugStringForType(value)}`);\n    }\n    return value;\n  };\n  const assertIsHtmlElementOfType \x3d (value, tagName) \x3d\x3e {\n    if (asserts.ENABLE_ASSERTS \x26\x26 !element.isHtmlElementOfType(value, tagName)) {\n      asserts.fail(`Argument is not an HTML Element with tag name ` + `${tagName.toString()}; got: ${debugStringForType(value)}`);\n    }\n    return value;\n  };\n  const assertIsHtmlAnchorElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.A);\n  };\n  const assertIsHtmlButtonElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.BUTTON);\n  };\n  const assertIsHtmlLinkElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.LINK);\n  };\n  const assertIsHtmlImageElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.IMG);\n  };\n  const assertIsHtmlAudioElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.AUDIO);\n  };\n  const assertIsHtmlVideoElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.VIDEO);\n  };\n  const assertIsHtmlInputElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.INPUT);\n  };\n  const assertIsHtmlTextAreaElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.TEXTAREA);\n  };\n  const assertIsHtmlCanvasElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.CANVAS);\n  };\n  const assertIsHtmlEmbedElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.EMBED);\n  };\n  const assertIsHtmlFormElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.FORM);\n  };\n  const assertIsHtmlFrameElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.FRAME);\n  };\n  const assertIsHtmlIFrameElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.IFRAME);\n  };\n  const assertIsHtmlObjectElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.OBJECT);\n  };\n  const assertIsHtmlScriptElement \x3d value \x3d\x3e {\n    return assertIsHtmlElementOfType(value, TagName.SCRIPT);\n  };\n  const debugStringForType \x3d value \x3d\x3e {\n    if (goog.isObject(value)) {\n      try {\n        return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n      } catch (e) {\n        return \x22\\x3cobject could not be stringified\\x3e\x22;\n      }\n    } else {\n      return value \x3d\x3d\x3d undefined ? \x22undefined\x22 : value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n    }\n  };\n  exports \x3d {assertIsElement, assertIsHtmlElement, assertIsHtmlElementOfType, assertIsHtmlAnchorElement, assertIsHtmlButtonElement, assertIsHtmlLinkElement, assertIsHtmlImageElement, assertIsHtmlAudioElement, assertIsHtmlVideoElement, assertIsHtmlInputElement, assertIsHtmlTextAreaElement, assertIsHtmlCanvasElement, assertIsHtmlEmbedElement, assertIsHtmlFormElement, assertIsHtmlFrameElement, assertIsHtmlIFrameElement, assertIsHtmlObjectElement, assertIsHtmlScriptElement};\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.dom.asserts.js", true, "goog.provide(\x22goog.dom.asserts\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.dom.asserts.assertIsLocation \x3d function(o) {\n  if (goog.asserts.ENABLE_ASSERTS) {\n    var win \x3d goog.dom.asserts.getWindow_(o);\n    if (win) {\n      if (!o || !(o instanceof win.Location) \x26\x26 o instanceof win.Element) {\n        goog.asserts.fail(\x22Argument is not a Location (or a non-Element mock); got: %s\x22, goog.dom.asserts.debugStringForType_(o));\n      }\n    }\n  }\n  return o;\n};\ngoog.dom.asserts.debugStringForType_ \x3d function(value) {\n  if (goog.isObject(value)) {\n    try {\n      return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n    } catch (e) {\n      return \x22\\x3cobject could not be stringified\\x3e\x22;\n    }\n  } else {\n    return value \x3d\x3d\x3d undefined ? \x22undefined\x22 : value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n  }\n};\ngoog.dom.asserts.getWindow_ \x3d function(o) {\n  try {\n    var doc \x3d o \x26\x26 o.ownerDocument;\n    var win \x3d doc \x26\x26 (doc.defaultView || doc.parentWindow);\n    win \x3d win || goog.global;\n    if (win.Element \x26\x26 win.Location) {\n      return win;\n    }\n  } catch (ex) {\n  }\n  return null;\n};\n");
SHADOW_ENV.evalLoad("goog.functions.functions.js", true, "goog.provide(\x22goog.functions\x22);\ngoog.functions.constant \x3d function(retValue) {\n  return function() {\n    return retValue;\n  };\n};\ngoog.functions.FALSE \x3d function() {\n  return false;\n};\ngoog.functions.TRUE \x3d function() {\n  return true;\n};\ngoog.functions.NULL \x3d function() {\n  return null;\n};\ngoog.functions.UNDEFINED \x3d function() {\n  return undefined;\n};\ngoog.functions.EMPTY \x3d goog.functions.UNDEFINED;\ngoog.functions.identity \x3d function(opt_returnValue, var_args) {\n  return opt_returnValue;\n};\ngoog.functions.error \x3d function(message) {\n  return function() {\n    throw new Error(message);\n  };\n};\ngoog.functions.fail \x3d function(err) {\n  return function() {\n    throw err;\n  };\n};\ngoog.functions.lock \x3d function(f, opt_numArgs) {\n  opt_numArgs \x3d opt_numArgs || 0;\n  return function() {\n    const self \x3d this;\n    return f.apply(self, Array.prototype.slice.call(arguments, 0, opt_numArgs));\n  };\n};\ngoog.functions.nth \x3d function(n) {\n  return function() {\n    return arguments[n];\n  };\n};\ngoog.functions.partialRight \x3d function(fn, var_args) {\n  const rightArgs \x3d Array.prototype.slice.call(arguments, 1);\n  return function() {\n    let self \x3d this;\n    if (self \x3d\x3d\x3d goog.global) {\n      self \x3d undefined;\n    }\n    const newArgs \x3d Array.prototype.slice.call(arguments);\n    newArgs.push.apply(newArgs, rightArgs);\n    return fn.apply(self, newArgs);\n  };\n};\ngoog.functions.withReturnValue \x3d function(f, retValue) {\n  return goog.functions.sequence(f, goog.functions.constant(retValue));\n};\ngoog.functions.equalTo \x3d function(value, opt_useLooseComparison) {\n  return function(other) {\n    return opt_useLooseComparison ? value \x3d\x3d other : value \x3d\x3d\x3d other;\n  };\n};\ngoog.functions.compose \x3d function(fn, var_args) {\n  const functions \x3d arguments;\n  const length \x3d functions.length;\n  return function() {\n    const self \x3d this;\n    let result;\n    if (length) {\n      result \x3d functions[length - 1].apply(self, arguments);\n    }\n    for (let i \x3d length - 2; i \x3e\x3d 0; i--) {\n      result \x3d functions[i].call(self, result);\n    }\n    return result;\n  };\n};\ngoog.functions.sequence \x3d function(var_args) {\n  const functions \x3d arguments;\n  const length \x3d functions.length;\n  return function() {\n    const self \x3d this;\n    let result;\n    for (let i \x3d 0; i \x3c length; i++) {\n      result \x3d functions[i].apply(self, arguments);\n    }\n    return result;\n  };\n};\ngoog.functions.and \x3d function(var_args) {\n  const functions \x3d arguments;\n  const length \x3d functions.length;\n  return function() {\n    const self \x3d this;\n    for (let i \x3d 0; i \x3c length; i++) {\n      if (!functions[i].apply(self, arguments)) {\n        return false;\n      }\n    }\n    return true;\n  };\n};\ngoog.functions.or \x3d function(var_args) {\n  const functions \x3d arguments;\n  const length \x3d functions.length;\n  return function() {\n    const self \x3d this;\n    for (let i \x3d 0; i \x3c length; i++) {\n      if (functions[i].apply(self, arguments)) {\n        return true;\n      }\n    }\n    return false;\n  };\n};\ngoog.functions.not \x3d function(f) {\n  return function() {\n    const self \x3d this;\n    return !f.apply(self, arguments);\n  };\n};\ngoog.functions.create \x3d function(constructor, var_args) {\n  const temp \x3d function() {\n  };\n  temp.prototype \x3d constructor.prototype;\n  const obj \x3d new temp();\n  constructor.apply(obj, Array.prototype.slice.call(arguments, 1));\n  return obj;\n};\ngoog.functions.CACHE_RETURN_VALUE \x3d goog.define(\x22goog.functions.CACHE_RETURN_VALUE\x22, true);\ngoog.functions.cacheReturnValue \x3d function(fn) {\n  let called \x3d false;\n  let value;\n  return function() {\n    if (!goog.functions.CACHE_RETURN_VALUE) {\n      return fn();\n    }\n    if (!called) {\n      value \x3d fn();\n      called \x3d true;\n    }\n    return value;\n  };\n};\ngoog.functions.once \x3d function(f) {\n  let inner \x3d f;\n  return function() {\n    if (inner) {\n      const tmp \x3d inner;\n      inner \x3d null;\n      tmp();\n    }\n  };\n};\ngoog.functions.debounce \x3d function(f, interval, opt_scope) {\n  let timeout \x3d 0;\n  return function(var_args) {\n    goog.global.clearTimeout(timeout);\n    const args \x3d arguments;\n    timeout \x3d goog.global.setTimeout(function() {\n      f.apply(opt_scope, args);\n    }, interval);\n  };\n};\ngoog.functions.throttle \x3d function(f, interval, opt_scope) {\n  let timeout \x3d 0;\n  let shouldFire \x3d false;\n  let storedArgs \x3d [];\n  const handleTimeout \x3d function() {\n    timeout \x3d 0;\n    if (shouldFire) {\n      shouldFire \x3d false;\n      fire();\n    }\n  };\n  const fire \x3d function() {\n    timeout \x3d goog.global.setTimeout(handleTimeout, interval);\n    let args \x3d storedArgs;\n    storedArgs \x3d [];\n    f.apply(opt_scope, args);\n  };\n  return function(var_args) {\n    storedArgs \x3d arguments;\n    if (!timeout) {\n      fire();\n    } else {\n      shouldFire \x3d true;\n    }\n  };\n};\ngoog.functions.rateLimit \x3d function(f, interval, opt_scope) {\n  let timeout \x3d 0;\n  const handleTimeout \x3d function() {\n    timeout \x3d 0;\n  };\n  return function(var_args) {\n    if (!timeout) {\n      timeout \x3d goog.global.setTimeout(handleTimeout, interval);\n      f.apply(opt_scope, arguments);\n    }\n  };\n};\ngoog.functions.isFunction \x3d val \x3d\x3e {\n  return typeof val \x3d\x3d\x3d \x22function\x22;\n};\n");
SHADOW_ENV.evalLoad("goog.string.typedstring.js", true, "goog.provide(\x22goog.string.TypedString\x22);\ngoog.string.TypedString \x3d function() {\n};\ngoog.string.TypedString.prototype.implementsGoogStringTypedString;\ngoog.string.TypedString.prototype.getTypedStringValue;\n");
SHADOW_ENV.evalLoad("goog.string.const.js", true, "goog.provide(\x22goog.string.Const\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.string.TypedString\x22);\ngoog.string.Const \x3d function(opt_token, opt_content) {\n  this.stringConstValueWithSecurityContract__googStringSecurityPrivate_ \x3d opt_token \x3d\x3d\x3d goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ \x26\x26 opt_content || \x22\x22;\n  this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ \x3d goog.string.Const.TYPE_MARKER_;\n};\ngoog.string.Const.prototype.implementsGoogStringTypedString \x3d true;\ngoog.string.Const.prototype.getTypedStringValue \x3d function() {\n  return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_;\n};\nif (goog.DEBUG) {\n  goog.string.Const.prototype.toString \x3d function() {\n    return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_;\n  };\n}\ngoog.string.Const.unwrap \x3d function(stringConst) {\n  if (stringConst instanceof goog.string.Const \x26\x26 stringConst.constructor \x3d\x3d\x3d goog.string.Const \x26\x26 stringConst.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ \x3d\x3d\x3d goog.string.Const.TYPE_MARKER_) {\n    return stringConst.stringConstValueWithSecurityContract__googStringSecurityPrivate_;\n  } else {\n    goog.asserts.fail(\x22expected object of type Const, got \x27\x22 + stringConst + \x22\x27\x22);\n    return \x22type_error:Const\x22;\n  }\n};\ngoog.string.Const.from \x3d function(s) {\n  return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_, s);\n};\ngoog.string.Const.TYPE_MARKER_ \x3d {};\ngoog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ \x3d {};\ngoog.string.Const.EMPTY \x3d goog.string.Const.from(\x22\x22);\n");
SHADOW_ENV.evalLoad("goog.html.trustedtypes.js", true, "goog.provide(\x22goog.html.trustedtypes\x22);\ngoog.html.trustedtypes.POLICY_NAME \x3d goog.define(\x22goog.html.trustedtypes.POLICY_NAME\x22, goog.TRUSTED_TYPES_POLICY_NAME ? goog.TRUSTED_TYPES_POLICY_NAME + \x22#html\x22 : \x22\x22);\ngoog.html.trustedtypes.cachedPolicy_;\ngoog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse \x3d function() {\n  if (!goog.html.trustedtypes.POLICY_NAME) {\n    return null;\n  }\n  if (goog.html.trustedtypes.cachedPolicy_ \x3d\x3d\x3d undefined) {\n    goog.html.trustedtypes.cachedPolicy_ \x3d goog.createTrustedTypesPolicy(goog.html.trustedtypes.POLICY_NAME);\n  }\n  return goog.html.trustedtypes.cachedPolicy_;\n};\n");
SHADOW_ENV.evalLoad("goog.html.safescript.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.html.SafeScript\x22);\n  goog.module.declareLegacyNamespace();\n  const Const \x3d goog.require(\x22goog.string.Const\x22);\n  const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n  const trustedtypes \x3d goog.require(\x22goog.html.trustedtypes\x22);\n  const {fail} \x3d goog.require(\x22goog.asserts\x22);\n  const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n  class SafeScript {\n    constructor(value, token) {\n      if (goog.DEBUG \x26\x26 token !\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE) {\n        throw Error(\x22SafeScript is not meant to be built directly\x22);\n      }\n      this.privateDoNotAccessOrElseSafeScriptWrappedValue_ \x3d value;\n      this.implementsGoogStringTypedString \x3d true;\n    }\n    toString() {\n      return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString();\n    }\n    static fromConstant(script) {\n      const scriptString \x3d Const.unwrap(script);\n      if (scriptString.length \x3d\x3d\x3d 0) {\n        return SafeScript.EMPTY;\n      }\n      return SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(scriptString);\n    }\n    static fromJson(val) {\n      return SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(SafeScript.stringify_(val));\n    }\n    getTypedStringValue() {\n      return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString();\n    }\n    static unwrap(safeScript) {\n      return SafeScript.unwrapTrustedScript(safeScript).toString();\n    }\n    static unwrapTrustedScript(safeScript) {\n      if (safeScript instanceof SafeScript \x26\x26 safeScript.constructor \x3d\x3d\x3d SafeScript) {\n        return safeScript.privateDoNotAccessOrElseSafeScriptWrappedValue_;\n      } else {\n        fail(\x22expected object of type SafeScript, got \x27\x22 + safeScript + \x22\x27 of type \x22 + goog.typeOf(safeScript));\n        return \x22type_error:SafeScript\x22;\n      }\n    }\n    static stringify_(val) {\n      const json \x3d JSON.stringify(val);\n      return json.replace(/\x3c/g, \x22\\\\x3c\x22);\n    }\n    static createSafeScriptSecurityPrivateDoNotAccessOrElse(script) {\n      const noinlineScript \x3d script;\n      const policy \x3d trustedtypes.getPolicyPrivateDoNotAccessOrElse();\n      const trustedScript \x3d policy ? policy.createScript(noinlineScript) : noinlineScript;\n      return new SafeScript(trustedScript, CONSTRUCTOR_TOKEN_PRIVATE);\n    }\n  }\n  SafeScript.EMPTY \x3d {valueOf:function() {\n    return SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(\x22\x22);\n  }}.valueOf();\n  exports \x3d SafeScript;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.fs.url.js", true, "goog.provide(\x22goog.fs.url\x22);\ngoog.fs.url.createObjectUrl \x3d function(obj) {\n  return goog.fs.url.getUrlObject_().createObjectURL(obj);\n};\ngoog.fs.url.revokeObjectUrl \x3d function(url) {\n  goog.fs.url.getUrlObject_().revokeObjectURL(url);\n};\ngoog.fs.url.UrlObject_ \x3d function() {\n};\ngoog.fs.url.UrlObject_.prototype.createObjectURL \x3d function(arg) {\n};\ngoog.fs.url.UrlObject_.prototype.revokeObjectURL \x3d function(s) {\n};\ngoog.fs.url.getUrlObject_ \x3d function() {\n  const urlObject \x3d goog.fs.url.findUrlObject_();\n  if (urlObject !\x3d null) {\n    return urlObject;\n  } else {\n    throw new Error(\x22This browser doesn\x27t seem to support blob URLs\x22);\n  }\n};\ngoog.fs.url.findUrlObject_ \x3d function() {\n  if (goog.global.URL !\x3d\x3d undefined \x26\x26 goog.global.URL.createObjectURL !\x3d\x3d undefined) {\n    return goog.global.URL;\n  } else if (goog.global.createObjectURL !\x3d\x3d undefined) {\n    return goog.global;\n  } else {\n    return null;\n  }\n};\ngoog.fs.url.browserSupportsObjectUrls \x3d function() {\n  return goog.fs.url.findUrlObject_() !\x3d null;\n};\n");
SHADOW_ENV.evalLoad("goog.fs.blob.js", true, "goog.provide(\x22goog.fs.blob\x22);\ngoog.fs.blob.getBlob \x3d function(var_args) {\n  const BlobBuilder \x3d goog.global.BlobBuilder || goog.global.WebKitBlobBuilder;\n  if (BlobBuilder !\x3d\x3d undefined) {\n    const bb \x3d new BlobBuilder();\n    for (let i \x3d 0; i \x3c arguments.length; i++) {\n      bb.append(arguments[i]);\n    }\n    return bb.getBlob();\n  } else {\n    return goog.fs.blob.getBlobWithProperties(Array.prototype.slice.call(arguments));\n  }\n};\ngoog.fs.blob.getBlobWithProperties \x3d function(parts, opt_type, opt_endings) {\n  const BlobBuilder \x3d goog.global.BlobBuilder || goog.global.WebKitBlobBuilder;\n  if (BlobBuilder !\x3d\x3d undefined) {\n    const bb \x3d new BlobBuilder();\n    for (let i \x3d 0; i \x3c parts.length; i++) {\n      bb.append(parts[i], opt_endings);\n    }\n    return bb.getBlob(opt_type);\n  } else if (goog.global.Blob !\x3d\x3d undefined) {\n    const properties \x3d {};\n    if (opt_type) {\n      properties[\x22type\x22] \x3d opt_type;\n    }\n    if (opt_endings) {\n      properties[\x22endings\x22] \x3d opt_endings;\n    }\n    return new Blob(parts, properties);\n  } else {\n    throw new Error(\x22This browser doesn\x27t seem to support creating Blobs\x22);\n  }\n};\n");
SHADOW_ENV.evalLoad("goog.html.trustedresourceurl.js", true, "goog.provide(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.fs.blob\x22);\ngoog.require(\x22goog.fs.url\x22);\ngoog.require(\x22goog.html.SafeScript\x22);\ngoog.require(\x22goog.html.trustedtypes\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.TypedString\x22);\ngoog.html.TrustedResourceUrl \x3d class {\n  constructor(value, token) {\n    if (goog.DEBUG \x26\x26 token !\x3d\x3d goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_) {\n      throw Error(\x22TrustedResourceUrl is not meant to be built directly\x22);\n    }\n    this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ \x3d value;\n  }\n  toString() {\n    return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ + \x22\x22;\n  }\n};\ngoog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString \x3d true;\ngoog.html.TrustedResourceUrl.prototype.getTypedStringValue \x3d function() {\n  return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString();\n};\ngoog.html.TrustedResourceUrl.prototype.cloneWithParams \x3d function(searchParams, opt_hashParams) {\n  var url \x3d goog.html.TrustedResourceUrl.unwrap(this);\n  var parts \x3d goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(url);\n  var urlBase \x3d parts[1];\n  var urlSearch \x3d parts[2] || \x22\x22;\n  var urlHash \x3d parts[3] || \x22\x22;\n  return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(urlBase + goog.html.TrustedResourceUrl.stringifyParams_(\x22?\x22, urlSearch, searchParams) + goog.html.TrustedResourceUrl.stringifyParams_(\x22#\x22, urlHash, opt_hashParams));\n};\ngoog.html.TrustedResourceUrl.unwrap \x3d function(trustedResourceUrl) {\n  return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(trustedResourceUrl).toString();\n};\ngoog.html.TrustedResourceUrl.unwrapTrustedScriptURL \x3d function(trustedResourceUrl) {\n  if (trustedResourceUrl instanceof goog.html.TrustedResourceUrl \x26\x26 trustedResourceUrl.constructor \x3d\x3d\x3d goog.html.TrustedResourceUrl) {\n    return trustedResourceUrl.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;\n  } else {\n    goog.asserts.fail(\x22expected object of type TrustedResourceUrl, got \x27%s\x27 of type %s\x22, trustedResourceUrl, goog.typeOf(trustedResourceUrl));\n    return \x22type_error:TrustedResourceUrl\x22;\n  }\n};\ngoog.html.TrustedResourceUrl.format \x3d function(format, args) {\n  var formatStr \x3d goog.string.Const.unwrap(format);\n  if (!goog.html.TrustedResourceUrl.BASE_URL_.test(formatStr)) {\n    throw new Error(\x22Invalid TrustedResourceUrl format: \x22 + formatStr);\n  }\n  var result \x3d formatStr.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_, function(match, id) {\n    if (!Object.prototype.hasOwnProperty.call(args, id)) {\n      throw new Error(\x27Found marker, \x22\x27 + id + \x27\x22, in format string, \x22\x27 + formatStr + \x27\x22, but no valid label mapping found \x27 + \x22in args: \x22 + JSON.stringify(args));\n    }\n    var arg \x3d args[id];\n    if (arg instanceof goog.string.Const) {\n      return goog.string.Const.unwrap(arg);\n    } else {\n      return encodeURIComponent(String(arg));\n    }\n  });\n  return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(result);\n};\ngoog.html.TrustedResourceUrl.FORMAT_MARKER_ \x3d /%{(\\w+)}/g;\ngoog.html.TrustedResourceUrl.BASE_URL_ \x3d new RegExp(\x22^((https:)?//[0-9a-z.:[\\\\]-]+/\x22 + \x22|/[^/\\\\\\\\]\x22 + \x22|[^:/\\\\\\\\%]+/\x22 + \x22|[^:/\\\\\\\\%]*[?#]\x22 + \x22|about:blank#\x22 + \x22)\x22, \x22i\x22);\ngoog.html.TrustedResourceUrl.URL_PARAM_PARSER_ \x3d /^([^?#]*)(\\?[^#]*)?(#[\\s\\S]*)?/;\ngoog.html.TrustedResourceUrl.formatWithParams \x3d function(format, args, searchParams, opt_hashParams) {\n  var url \x3d goog.html.TrustedResourceUrl.format(format, args);\n  return url.cloneWithParams(searchParams, opt_hashParams);\n};\ngoog.html.TrustedResourceUrl.fromConstant \x3d function(url) {\n  return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(url));\n};\ngoog.html.TrustedResourceUrl.fromConstants \x3d function(parts) {\n  var unwrapped \x3d \x22\x22;\n  var i \x3d 0;\n  for (; i \x3c parts.length; i++) {\n    unwrapped \x3d unwrapped + goog.string.Const.unwrap(parts[i]);\n  }\n  return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(unwrapped);\n};\ngoog.html.TrustedResourceUrl.fromSafeScript \x3d function(safeScript) {\n  var blob \x3d goog.fs.blob.getBlobWithProperties([goog.html.SafeScript.unwrap(safeScript)], \x22text/javascript\x22);\n  var url \x3d goog.fs.url.createObjectUrl(blob);\n  return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_ \x3d {};\ngoog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse \x3d function(url) {\n  const noinlineUrl \x3d url;\n  const policy \x3d goog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse();\n  const value \x3d policy ? policy.createScriptURL(noinlineUrl) : noinlineUrl;\n  return new goog.html.TrustedResourceUrl(value, goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_);\n};\ngoog.html.TrustedResourceUrl.stringifyParams_ \x3d function(prefix, currentString, params) {\n  if (params \x3d\x3d null) {\n    return currentString;\n  }\n  if (typeof params \x3d\x3d\x3d \x22string\x22) {\n    return params ? prefix + encodeURIComponent(params) : \x22\x22;\n  }\n  var key;\n  for (key in params) {\n    if (Object.prototype.hasOwnProperty.call(params, key)) {\n      var value \x3d params[key];\n      var outputValues \x3d Array.isArray(value) ? value : [value];\n      var i \x3d 0;\n      for (; i \x3c outputValues.length; i++) {\n        var outputValue \x3d outputValues[i];\n        if (outputValue !\x3d null) {\n          if (!currentString) {\n            currentString \x3d prefix;\n          }\n          currentString \x3d currentString + ((currentString.length \x3e prefix.length ? \x22\\x26\x22 : \x22\x22) + encodeURIComponent(key) + \x22\\x3d\x22 + encodeURIComponent(String(outputValue)));\n        }\n      }\n    }\n  }\n  return currentString;\n};\n");
SHADOW_ENV.evalLoad("goog.string.internal.js", true, "goog.provide(\x22goog.string.internal\x22);\ngoog.string.internal.startsWith \x3d function(str, prefix) {\n  return str.lastIndexOf(prefix, 0) \x3d\x3d 0;\n};\ngoog.string.internal.endsWith \x3d function(str, suffix) {\n  const l \x3d str.length - suffix.length;\n  return l \x3e\x3d 0 \x26\x26 str.indexOf(suffix, l) \x3d\x3d l;\n};\ngoog.string.internal.caseInsensitiveStartsWith \x3d function(str, prefix) {\n  return goog.string.internal.caseInsensitiveCompare(prefix, str.slice(0, prefix.length)) \x3d\x3d 0;\n};\ngoog.string.internal.caseInsensitiveEndsWith \x3d function(str, suffix) {\n  return goog.string.internal.caseInsensitiveCompare(suffix, str.slice(str.length - suffix.length)) \x3d\x3d 0;\n};\ngoog.string.internal.caseInsensitiveEquals \x3d function(str1, str2) {\n  return str1.toLowerCase() \x3d\x3d str2.toLowerCase();\n};\ngoog.string.internal.isEmptyOrWhitespace \x3d function(str) {\n  return /^[\\s\\xa0]*$/.test(str);\n};\ngoog.string.internal.trim \x3d goog.TRUSTED_SITE \x26\x26 String.prototype.trim ? function(str) {\n  return str.trim();\n} : function(str) {\n  return /^[\\s\\xa0]*([\\s\\S]*?)[\\s\\xa0]*$/.exec(str)[1];\n};\ngoog.string.internal.caseInsensitiveCompare \x3d function(str1, str2) {\n  const test1 \x3d String(str1).toLowerCase();\n  const test2 \x3d String(str2).toLowerCase();\n  if (test1 \x3c test2) {\n    return -1;\n  } else if (test1 \x3d\x3d test2) {\n    return 0;\n  } else {\n    return 1;\n  }\n};\ngoog.string.internal.newLineToBr \x3d function(str, opt_xml) {\n  return str.replace(/(\\r\\n|\\r|\\n)/g, opt_xml ? \x22\\x3cbr /\\x3e\x22 : \x22\\x3cbr\\x3e\x22);\n};\ngoog.string.internal.htmlEscape \x3d function(str, opt_isLikelyToContainHtmlChars) {\n  if (opt_isLikelyToContainHtmlChars) {\n    str \x3d str.replace(goog.string.internal.AMP_RE_, \x22\\x26amp;\x22).replace(goog.string.internal.LT_RE_, \x22\\x26lt;\x22).replace(goog.string.internal.GT_RE_, \x22\\x26gt;\x22).replace(goog.string.internal.QUOT_RE_, \x22\\x26quot;\x22).replace(goog.string.internal.SINGLE_QUOTE_RE_, \x22\\x26#39;\x22).replace(goog.string.internal.NULL_RE_, \x22\\x26#0;\x22);\n    return str;\n  } else {\n    if (!goog.string.internal.ALL_RE_.test(str)) {\n      return str;\n    }\n    if (str.indexOf(\x22\\x26\x22) !\x3d -1) {\n      str \x3d str.replace(goog.string.internal.AMP_RE_, \x22\\x26amp;\x22);\n    }\n    if (str.indexOf(\x22\\x3c\x22) !\x3d -1) {\n      str \x3d str.replace(goog.string.internal.LT_RE_, \x22\\x26lt;\x22);\n    }\n    if (str.indexOf(\x22\\x3e\x22) !\x3d -1) {\n      str \x3d str.replace(goog.string.internal.GT_RE_, \x22\\x26gt;\x22);\n    }\n    if (str.indexOf(\x27\x22\x27) !\x3d -1) {\n      str \x3d str.replace(goog.string.internal.QUOT_RE_, \x22\\x26quot;\x22);\n    }\n    if (str.indexOf(\x22\x27\x22) !\x3d -1) {\n      str \x3d str.replace(goog.string.internal.SINGLE_QUOTE_RE_, \x22\\x26#39;\x22);\n    }\n    if (str.indexOf(\x22\\x00\x22) !\x3d -1) {\n      str \x3d str.replace(goog.string.internal.NULL_RE_, \x22\\x26#0;\x22);\n    }\n    return str;\n  }\n};\ngoog.string.internal.AMP_RE_ \x3d /\x26/g;\ngoog.string.internal.LT_RE_ \x3d /\x3c/g;\ngoog.string.internal.GT_RE_ \x3d /\x3e/g;\ngoog.string.internal.QUOT_RE_ \x3d /\x22/g;\ngoog.string.internal.SINGLE_QUOTE_RE_ \x3d /\x27/g;\ngoog.string.internal.NULL_RE_ \x3d /\\x00/g;\ngoog.string.internal.ALL_RE_ \x3d /[\\x00\x26\x3c\x3e\x22\x27]/;\ngoog.string.internal.whitespaceEscape \x3d function(str, opt_xml) {\n  return goog.string.internal.newLineToBr(str.replace(/  /g, \x22 \\x26#160;\x22), opt_xml);\n};\ngoog.string.internal.contains \x3d function(str, subString) {\n  return str.indexOf(subString) !\x3d -1;\n};\ngoog.string.internal.caseInsensitiveContains \x3d function(str, subString) {\n  return goog.string.internal.contains(str.toLowerCase(), subString.toLowerCase());\n};\ngoog.string.internal.compareVersions \x3d function(version1, version2) {\n  let order \x3d 0;\n  const v1Subs \x3d goog.string.internal.trim(String(version1)).split(\x22.\x22);\n  const v2Subs \x3d goog.string.internal.trim(String(version2)).split(\x22.\x22);\n  const subCount \x3d Math.max(v1Subs.length, v2Subs.length);\n  for (let subIdx \x3d 0; order \x3d\x3d 0 \x26\x26 subIdx \x3c subCount; subIdx++) {\n    let v1Sub \x3d v1Subs[subIdx] || \x22\x22;\n    let v2Sub \x3d v2Subs[subIdx] || \x22\x22;\n    do {\n      const v1Comp \x3d /(\\d*)(\\D*)(.*)/.exec(v1Sub) || [\x22\x22, \x22\x22, \x22\x22, \x22\x22];\n      const v2Comp \x3d /(\\d*)(\\D*)(.*)/.exec(v2Sub) || [\x22\x22, \x22\x22, \x22\x22, \x22\x22];\n      if (v1Comp[0].length \x3d\x3d 0 \x26\x26 v2Comp[0].length \x3d\x3d 0) {\n        break;\n      }\n      const v1CompNum \x3d v1Comp[1].length \x3d\x3d 0 ? 0 : parseInt(v1Comp[1], 10);\n      const v2CompNum \x3d v2Comp[1].length \x3d\x3d 0 ? 0 : parseInt(v2Comp[1], 10);\n      order \x3d goog.string.internal.compareElements_(v1CompNum, v2CompNum) || goog.string.internal.compareElements_(v1Comp[2].length \x3d\x3d 0, v2Comp[2].length \x3d\x3d 0) || goog.string.internal.compareElements_(v1Comp[2], v2Comp[2]);\n      v1Sub \x3d v1Comp[3];\n      v2Sub \x3d v2Comp[3];\n    } while (order \x3d\x3d 0);\n  }\n  return order;\n};\ngoog.string.internal.compareElements_ \x3d function(left, right) {\n  if (left \x3c right) {\n    return -1;\n  } else if (left \x3e right) {\n    return 1;\n  }\n  return 0;\n};\n");
SHADOW_ENV.evalLoad("goog.html.safeurl.js", true, "goog.provide(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.fs.url\x22);\ngoog.require(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.TypedString\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.html.SafeUrl \x3d class {\n  constructor(value, token) {\n    if (goog.DEBUG \x26\x26 token !\x3d\x3d goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_) {\n      throw Error(\x22SafeUrl is not meant to be built directly\x22);\n    }\n    this.privateDoNotAccessOrElseSafeUrlWrappedValue_ \x3d value;\n  }\n  toString() {\n    return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString();\n  }\n};\ngoog.html.SafeUrl.INNOCUOUS_STRING \x3d \x22about:invalid#zClosurez\x22;\ngoog.html.SafeUrl.prototype.implementsGoogStringTypedString \x3d true;\ngoog.html.SafeUrl.prototype.getTypedStringValue \x3d function() {\n  return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString();\n};\ngoog.html.SafeUrl.unwrap \x3d function(safeUrl) {\n  if (safeUrl instanceof goog.html.SafeUrl \x26\x26 safeUrl.constructor \x3d\x3d\x3d goog.html.SafeUrl) {\n    return safeUrl.privateDoNotAccessOrElseSafeUrlWrappedValue_;\n  } else {\n    goog.asserts.fail(\x22expected object of type SafeUrl, got \x27\x22 + safeUrl + \x22\x27 of type \x22 + goog.typeOf(safeUrl));\n    return \x22type_error:SafeUrl\x22;\n  }\n};\ngoog.html.SafeUrl.fromConstant \x3d function(url) {\n  const str \x3d goog.string.Const.unwrap(url);\n  if (goog.DEBUG \x26\x26 goog.html.SafeUrl.extractScheme(str) \x3d\x3d\x3d \x22javascript:\x22) {\n    throw Error(\x22Building a SafeUrl with a javascript scheme is not supported\x22);\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(str);\n};\ngoog.html.SAFE_MIME_TYPE_PATTERN_ \x3d new RegExp(\x22^(?:audio/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|\x22 + \x22font/\\\\w+|\x22 + \x22image/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon|heic|heif)|\x22 + \x22video/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))\x22 + \x27(?:;\\\\w+\\x3d(?:\\\\w+|\x22[\\\\w;,\\x3d ]+\x22))*$\x27, \x22i\x22);\ngoog.html.SafeUrl.isSafeMimeType \x3d function(mimeType) {\n  return goog.html.SAFE_MIME_TYPE_PATTERN_.test(mimeType);\n};\ngoog.html.SafeUrl.fromBlob \x3d function(blob) {\n  var url \x3d goog.html.SafeUrl.isSafeMimeType(blob.type) ? goog.fs.url.createObjectUrl(blob) : goog.html.SafeUrl.INNOCUOUS_STRING;\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.revokeObjectUrl \x3d function(safeUrl) {\n  var url \x3d safeUrl.getTypedStringValue();\n  if (url !\x3d\x3d goog.html.SafeUrl.INNOCUOUS_STRING) {\n    goog.fs.url.revokeObjectUrl(url);\n  }\n};\ngoog.html.SafeUrl.fromMediaSource \x3d function(mediaSource) {\n  goog.asserts.assert(\x22MediaSource\x22 in goog.global, \x22No support for MediaSource\x22);\n  const url \x3d mediaSource instanceof MediaSource ? goog.fs.url.createObjectUrl(mediaSource) : goog.html.SafeUrl.INNOCUOUS_STRING;\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.DATA_URL_PATTERN_ \x3d /^data:(.*);base64,[a-z0-9+\\/]+\x3d*$/i;\ngoog.html.SafeUrl.tryFromDataUrl \x3d function(dataUrl) {\n  dataUrl \x3d String(dataUrl);\n  var filteredDataUrl \x3d dataUrl.replace(/(%0A|%0D)/g, \x22\x22);\n  var match \x3d filteredDataUrl.match(goog.html.DATA_URL_PATTERN_);\n  if (match) {\n    return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(filteredDataUrl);\n  }\n  return null;\n};\ngoog.html.SafeUrl.fromDataUrl \x3d function(dataUrl) {\n  return goog.html.SafeUrl.tryFromDataUrl(dataUrl) || goog.html.SafeUrl.INNOCUOUS_URL;\n};\ngoog.html.SafeUrl.fromTelUrl \x3d function(telUrl) {\n  if (!goog.string.internal.caseInsensitiveStartsWith(telUrl, \x22tel:\x22)) {\n    telUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(telUrl);\n};\ngoog.html.SIP_URL_PATTERN_ \x3d new RegExp(\x22^sip[s]?:[+a-z0-9_.!$%\\x26\x27*\\\\/\\x3d^`{|}~-]+@([a-z0-9-]+\\\\.)+[a-z0-9]{2,63}$\x22, \x22i\x22);\ngoog.html.SafeUrl.fromSipUrl \x3d function(sipUrl) {\n  if (!goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(sipUrl))) {\n    sipUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(sipUrl);\n};\ngoog.html.SafeUrl.fromFacebookMessengerUrl \x3d function(facebookMessengerUrl) {\n  if (!goog.string.internal.caseInsensitiveStartsWith(facebookMessengerUrl, \x22fb-messenger://share\x22)) {\n    facebookMessengerUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(facebookMessengerUrl);\n};\ngoog.html.SafeUrl.fromWhatsAppUrl \x3d function(whatsAppUrl) {\n  if (!goog.string.internal.caseInsensitiveStartsWith(whatsAppUrl, \x22whatsapp://send\x22)) {\n    whatsAppUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(whatsAppUrl);\n};\ngoog.html.SafeUrl.fromSmsUrl \x3d function(smsUrl) {\n  if (!goog.string.internal.caseInsensitiveStartsWith(smsUrl, \x22sms:\x22) || !goog.html.SafeUrl.isSmsUrlBodyValid_(smsUrl)) {\n    smsUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(smsUrl);\n};\ngoog.html.SafeUrl.isSmsUrlBodyValid_ \x3d function(smsUrl) {\n  var hash \x3d smsUrl.indexOf(\x22#\x22);\n  if (hash \x3e 0) {\n    smsUrl \x3d smsUrl.substring(0, hash);\n  }\n  var bodyParams \x3d smsUrl.match(/[?\x26]body\x3d/gi);\n  if (!bodyParams) {\n    return true;\n  }\n  if (bodyParams.length \x3e 1) {\n    return false;\n  }\n  var bodyValue \x3d smsUrl.match(/[?\x26]body\x3d([^\x26]*)/)[1];\n  if (!bodyValue) {\n    return true;\n  }\n  try {\n    decodeURIComponent(bodyValue);\n  } catch (error) {\n    return false;\n  }\n  return /^(?:[a-z0-9\\-_.~]|%[0-9a-f]{2})+$/i.test(bodyValue);\n};\ngoog.html.SafeUrl.fromSshUrl \x3d function(sshUrl) {\n  if (!goog.string.internal.caseInsensitiveStartsWith(sshUrl, \x22ssh://\x22)) {\n    sshUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(sshUrl);\n};\ngoog.html.SafeUrl.sanitizeChromeExtensionUrl \x3d function(url, extensionId) {\n  return goog.html.SafeUrl.sanitizeExtensionUrl_(/^chrome-extension:\\/\\/([^\\/]+)\\//, url, extensionId);\n};\ngoog.html.SafeUrl.sanitizeFirefoxExtensionUrl \x3d function(url, extensionId) {\n  return goog.html.SafeUrl.sanitizeExtensionUrl_(/^moz-extension:\\/\\/([^\\/]+)\\//, url, extensionId);\n};\ngoog.html.SafeUrl.sanitizeEdgeExtensionUrl \x3d function(url, extensionId) {\n  return goog.html.SafeUrl.sanitizeExtensionUrl_(/^ms-browser-extension:\\/\\/([^\\/]+)\\//, url, extensionId);\n};\ngoog.html.SafeUrl.sanitizeExtensionUrl_ \x3d function(scheme, url, extensionId) {\n  var matches \x3d scheme.exec(url);\n  if (!matches) {\n    url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n  } else {\n    var extractedExtensionId \x3d matches[1];\n    var acceptedExtensionIds;\n    if (extensionId instanceof goog.string.Const) {\n      acceptedExtensionIds \x3d [goog.string.Const.unwrap(extensionId)];\n    } else {\n      acceptedExtensionIds \x3d extensionId.map(function unwrap(x) {\n        return goog.string.Const.unwrap(x);\n      });\n    }\n    if (acceptedExtensionIds.indexOf(extractedExtensionId) \x3d\x3d -1) {\n      url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n    }\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.fromTrustedResourceUrl \x3d function(trustedResourceUrl) {\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(trustedResourceUrl));\n};\ngoog.html.SAFE_URL_PATTERN_ \x3d /^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;\ngoog.html.SafeUrl.trySanitize \x3d function(url) {\n  if (url instanceof goog.html.SafeUrl) {\n    return url;\n  }\n  if (typeof url \x3d\x3d \x22object\x22 \x26\x26 url.implementsGoogStringTypedString) {\n    url \x3d url.getTypedStringValue();\n  } else {\n    url \x3d String(url);\n  }\n  if (!goog.html.SAFE_URL_PATTERN_.test(url)) {\n    return goog.html.SafeUrl.tryFromDataUrl(url);\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.sanitize \x3d function(url) {\n  return goog.html.SafeUrl.trySanitize(url) || goog.html.SafeUrl.INNOCUOUS_URL;\n};\ngoog.html.SafeUrl.sanitizeAssertUnchanged \x3d function(url, opt_allowDataUrl) {\n  if (url instanceof goog.html.SafeUrl) {\n    return url;\n  } else if (typeof url \x3d\x3d \x22object\x22 \x26\x26 url.implementsGoogStringTypedString) {\n    url \x3d url.getTypedStringValue();\n  } else {\n    url \x3d String(url);\n  }\n  if (opt_allowDataUrl \x26\x26 /^data:/i.test(url)) {\n    var safeUrl \x3d goog.html.SafeUrl.fromDataUrl(url);\n    if (safeUrl.getTypedStringValue() \x3d\x3d url) {\n      return safeUrl;\n    }\n  }\n  if (!goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(url), \x22%s does not match the safe URL pattern\x22, url)) {\n    url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.extractScheme \x3d function(url) {\n  let parsedUrl;\n  try {\n    parsedUrl \x3d new URL(url);\n  } catch (e) {\n    return \x22https:\x22;\n  }\n  return parsedUrl.protocol;\n};\ngoog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged \x3d function(url) {\n  if (url instanceof goog.html.SafeUrl) {\n    return url;\n  } else if (typeof url \x3d\x3d \x22object\x22 \x26\x26 url.implementsGoogStringTypedString) {\n    url \x3d url.getTypedStringValue();\n  } else {\n    url \x3d String(url);\n  }\n  const parsedScheme \x3d goog.html.SafeUrl.extractScheme(url);\n  if (!goog.asserts.assert(parsedScheme !\x3d\x3d \x22javascript:\x22, \x22%s is a javascript: URL\x22, url)) {\n    url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n  }\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_ \x3d {};\ngoog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse \x3d function(url) {\n  return new goog.html.SafeUrl(url, goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_);\n};\ngoog.html.SafeUrl.INNOCUOUS_URL \x3d goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.SafeUrl.INNOCUOUS_STRING);\ngoog.html.SafeUrl.ABOUT_BLANK \x3d goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(\x22about:blank\x22);\n");
SHADOW_ENV.evalLoad("goog.html.safestyle.js", true, "goog.loadModule(function(exports) {\n  function sanitizePropertyValue(value) {\n    if (value instanceof SafeUrl) {\n      const url \x3d SafeUrl.unwrap(value);\n      return \x27url(\x22\x27 + url.replace(/\x3c/g, \x22%3c\x22).replace(/[\\\\\x22]/g, \x22\\\\$\\x26\x22) + \x27\x22)\x27;\n    }\n    const result \x3d value instanceof Const ? Const.unwrap(value) : sanitizePropertyValueString(String(value));\n    if (/[{;}]/.test(result)) {\n      throw new AssertionError(\x22Value does not allow [{;}], got: %s.\x22, [result]);\n    }\n    return result;\n  }\n  function sanitizePropertyValueString(value) {\n    const valueWithoutFunctions \x3d value.replace(FUNCTIONS_RE, \x22$1\x22).replace(FUNCTIONS_RE, \x22$1\x22).replace(URL_RE, \x22url\x22);\n    if (!VALUE_RE.test(valueWithoutFunctions)) {\n      fail(`String value allows only ${VALUE_ALLOWED_CHARS}` + \x22 and simple functions, got: \x22 + value);\n      return SafeStyle.INNOCUOUS_STRING;\n    } else if (COMMENT_RE.test(value)) {\n      fail(`String value disallows comments, got: ${value}`);\n      return SafeStyle.INNOCUOUS_STRING;\n    } else if (!hasBalancedQuotes(value)) {\n      fail(`String value requires balanced quotes, got: ${value}`);\n      return SafeStyle.INNOCUOUS_STRING;\n    } else if (!hasBalancedSquareBrackets(value)) {\n      fail(\x22String value requires balanced square brackets and one\x22 + \x22 identifier per pair of brackets, got: \x22 + value);\n      return SafeStyle.INNOCUOUS_STRING;\n    }\n    return sanitizeUrl(value);\n  }\n  function hasBalancedQuotes(value) {\n    let outsideSingle \x3d true;\n    let outsideDouble \x3d true;\n    for (let i \x3d 0; i \x3c value.length; i++) {\n      const c \x3d value.charAt(i);\n      if (c \x3d\x3d \x22\x27\x22 \x26\x26 outsideDouble) {\n        outsideSingle \x3d !outsideSingle;\n      } else if (c \x3d\x3d \x27\x22\x27 \x26\x26 outsideSingle) {\n        outsideDouble \x3d !outsideDouble;\n      }\n    }\n    return outsideSingle \x26\x26 outsideDouble;\n  }\n  function hasBalancedSquareBrackets(value) {\n    let outside \x3d true;\n    const tokenRe \x3d /^[-_a-zA-Z0-9]$/;\n    for (let i \x3d 0; i \x3c value.length; i++) {\n      const c \x3d value.charAt(i);\n      if (c \x3d\x3d \x22]\x22) {\n        if (outside) {\n          return false;\n        }\n        outside \x3d true;\n      } else if (c \x3d\x3d \x22[\x22) {\n        if (!outside) {\n          return false;\n        }\n        outside \x3d false;\n      } else if (!outside \x26\x26 !tokenRe.test(c)) {\n        return false;\n      }\n    }\n    return outside;\n  }\n  function sanitizeUrl(value) {\n    return value.replace(URL_RE, (match, before, url, after) \x3d\x3e {\n      let quote \x3d \x22\x22;\n      url \x3d url.replace(/^([\x27\x22])(.*)\\1$/, (match, start, inside) \x3d\x3e {\n        quote \x3d start;\n        return inside;\n      });\n      const sanitized \x3d SafeUrl.sanitize(url).getTypedStringValue();\n      return before + quote + sanitized + quote + after;\n    });\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.html.SafeStyle\x22);\n  goog.module.declareLegacyNamespace();\n  const Const \x3d goog.require(\x22goog.string.Const\x22);\n  const SafeUrl \x3d goog.require(\x22goog.html.SafeUrl\x22);\n  const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n  const {AssertionError, assert, fail} \x3d goog.require(\x22goog.asserts\x22);\n  const {contains, endsWith} \x3d goog.require(\x22goog.string.internal\x22);\n  const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n  class SafeStyle {\n    constructor(value, token) {\n      if (goog.DEBUG \x26\x26 token !\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE) {\n        throw Error(\x22SafeStyle is not meant to be built directly\x22);\n      }\n      this.privateDoNotAccessOrElseSafeStyleWrappedValue_ \x3d value;\n      this.implementsGoogStringTypedString \x3d true;\n    }\n    static fromConstant(style) {\n      const styleString \x3d Const.unwrap(style);\n      if (styleString.length \x3d\x3d\x3d 0) {\n        return SafeStyle.EMPTY;\n      }\n      assert(endsWith(styleString, \x22;\x22), `Last character of style string is not \x27;\x27: ${styleString}`);\n      assert(contains(styleString, \x22:\x22), \x22Style string must contain at least one \x27:\x27, to \x22 + \x27specify a \x22name: value\x22 pair: \x27 + styleString);\n      return SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(styleString);\n    }\n    getTypedStringValue() {\n      return this.privateDoNotAccessOrElseSafeStyleWrappedValue_;\n    }\n    toString() {\n      return this.privateDoNotAccessOrElseSafeStyleWrappedValue_.toString();\n    }\n    static unwrap(safeStyle) {\n      if (safeStyle instanceof SafeStyle \x26\x26 safeStyle.constructor \x3d\x3d\x3d SafeStyle) {\n        return safeStyle.privateDoNotAccessOrElseSafeStyleWrappedValue_;\n      } else {\n        fail(`expected object of type SafeStyle, got \x27${safeStyle}` + \x22\x27 of type \x22 + goog.typeOf(safeStyle));\n        return \x22type_error:SafeStyle\x22;\n      }\n    }\n    static createSafeStyleSecurityPrivateDoNotAccessOrElse(style) {\n      return new SafeStyle(style, CONSTRUCTOR_TOKEN_PRIVATE);\n    }\n    static create(map) {\n      let style \x3d \x22\x22;\n      for (let name in map) {\n        if (Object.prototype.hasOwnProperty.call(map, name)) {\n          if (!/^[-_a-zA-Z0-9]+$/.test(name)) {\n            throw new Error(`Name allows only [-_a-zA-Z0-9], got: ${name}`);\n          }\n          let value \x3d map[name];\n          if (value \x3d\x3d null) {\n            continue;\n          }\n          if (Array.isArray(value)) {\n            value \x3d value.map(sanitizePropertyValue).join(\x22 \x22);\n          } else {\n            value \x3d sanitizePropertyValue(value);\n          }\n          style \x3d style + `${name}:${value};`;\n        }\n      }\n      if (!style) {\n        return SafeStyle.EMPTY;\n      }\n      return SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(style);\n    }\n    static concat(var_args) {\n      let style \x3d \x22\x22;\n      const addArgument \x3d argument \x3d\x3e {\n        if (Array.isArray(argument)) {\n          argument.forEach(addArgument);\n        } else {\n          style \x3d style + SafeStyle.unwrap(argument);\n        }\n      };\n      Array.prototype.forEach.call(arguments, addArgument);\n      if (!style) {\n        return SafeStyle.EMPTY;\n      }\n      return SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(style);\n    }\n  }\n  SafeStyle.EMPTY \x3d SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(\x22\x22);\n  SafeStyle.INNOCUOUS_STRING \x3d \x22zClosurez\x22;\n  SafeStyle.PropertyValue;\n  SafeStyle.PropertyMap;\n  const VALUE_ALLOWED_CHARS \x3d \x22[-+,.\\\x22\x27%_!#/ a-zA-Z0-9\\\\[\\\\]]\x22;\n  const VALUE_RE \x3d new RegExp(`^${VALUE_ALLOWED_CHARS}+\\$`);\n  const URL_RE \x3d new RegExp(\x22\\\\b(url\\\\([ \\t\\n]*)(\x22 + \x22\x27[ -\\x26(-\\\\[\\\\]-~]*\x27\x22 + \x27|\x22[ !#-\\\\[\\\\]-~]*\x22\x27 + \x22|[!#-\\x26*-\\\\[\\\\]-~]*\x22 + \x22)([ \\t\\n]*\\\\))\x22, \x22g\x22);\n  const ALLOWED_FUNCTIONS \x3d [\x22calc\x22, \x22cubic-bezier\x22, \x22fit-content\x22, \x22hsl\x22, \x22hsla\x22, \x22linear-gradient\x22, \x22matrix\x22, \x22minmax\x22, \x22radial-gradient\x22, \x22repeat\x22, \x22rgb\x22, \x22rgba\x22, \x22(rotate|scale|translate)(X|Y|Z|3d)?\x22, \x22steps\x22, \x22var\x22];\n  const FUNCTIONS_RE \x3d new RegExp(\x22\\\\b(\x22 + ALLOWED_FUNCTIONS.join(\x22|\x22) + \x22)\x22 + \x22\\\\([-+*/0-9a-zA-Z.%#\\\\[\\\\], ]+\\\\)\x22, \x22g\x22);\n  const COMMENT_RE \x3d /\\/\\*/;\n  exports \x3d SafeStyle;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.object.object.js", true, "goog.loadModule(function(exports) {\n  function forEach(obj, f, opt_obj) {\n    for (const key in obj) {\n      f.call(opt_obj, obj[key], key, obj);\n    }\n  }\n  function filter(obj, f, opt_obj) {\n    const res \x3d {};\n    for (const key in obj) {\n      if (f.call(opt_obj, obj[key], key, obj)) {\n        res[key] \x3d obj[key];\n      }\n    }\n    return res;\n  }\n  function map(obj, f, opt_obj) {\n    const res \x3d {};\n    for (const key in obj) {\n      res[key] \x3d f.call(opt_obj, obj[key], key, obj);\n    }\n    return res;\n  }\n  function some(obj, f, opt_obj) {\n    for (const key in obj) {\n      if (f.call(opt_obj, obj[key], key, obj)) {\n        return true;\n      }\n    }\n    return false;\n  }\n  function every(obj, f, opt_obj) {\n    for (const key in obj) {\n      if (!f.call(opt_obj, obj[key], key, obj)) {\n        return false;\n      }\n    }\n    return true;\n  }\n  function getCount(obj) {\n    let rv \x3d 0;\n    for (const key in obj) {\n      rv++;\n    }\n    return rv;\n  }\n  function getAnyKey(obj) {\n    for (const key in obj) {\n      return key;\n    }\n  }\n  function getAnyValue(obj) {\n    for (const key in obj) {\n      return obj[key];\n    }\n  }\n  function contains(obj, val) {\n    return containsValue(obj, val);\n  }\n  function getValues(obj) {\n    const res \x3d [];\n    let i \x3d 0;\n    for (const key in obj) {\n      res[i++] \x3d obj[key];\n    }\n    return res;\n  }\n  function getKeys(obj) {\n    const res \x3d [];\n    let i \x3d 0;\n    for (const key in obj) {\n      res[i++] \x3d key;\n    }\n    return res;\n  }\n  function getValueByKeys(obj, var_args) {\n    const isArrayLike \x3d goog.isArrayLike(var_args);\n    const keys \x3d isArrayLike ? var_args : arguments;\n    for (let i \x3d isArrayLike ? 0 : 1; i \x3c keys.length; i++) {\n      if (obj \x3d\x3d null) {\n        return undefined;\n      }\n      obj \x3d obj[keys[i]];\n    }\n    return obj;\n  }\n  function containsKey(obj, key) {\n    return obj !\x3d\x3d null \x26\x26 key in obj;\n  }\n  function containsValue(obj, val) {\n    for (const key in obj) {\n      if (obj[key] \x3d\x3d val) {\n        return true;\n      }\n    }\n    return false;\n  }\n  function findKey(obj, f, thisObj \x3d undefined) {\n    for (const key in obj) {\n      if (f.call(thisObj, obj[key], key, obj)) {\n        return key;\n      }\n    }\n    return undefined;\n  }\n  function findValue(obj, f, thisObj \x3d undefined) {\n    const key \x3d findKey(obj, f, thisObj);\n    return key \x26\x26 obj[key];\n  }\n  function isEmpty(obj) {\n    for (const key in obj) {\n      return false;\n    }\n    return true;\n  }\n  function clear(obj) {\n    for (const i in obj) {\n      delete obj[i];\n    }\n  }\n  function remove(obj, key) {\n    let rv;\n    if (rv \x3d key in obj) {\n      delete obj[key];\n    }\n    return rv;\n  }\n  function add(obj, key, val) {\n    if (obj !\x3d\x3d null \x26\x26 key in obj) {\n      throw new Error(`The object already contains the key \x22${key}\x22`);\n    }\n    set(obj, key, val);\n  }\n  function get(obj, key, val \x3d undefined) {\n    if (obj !\x3d\x3d null \x26\x26 key in obj) {\n      return obj[key];\n    }\n    return val;\n  }\n  function set(obj, key, value) {\n    obj[key] \x3d value;\n  }\n  function setIfUndefined(obj, key, value) {\n    return key in obj ? obj[key] : obj[key] \x3d value;\n  }\n  function setWithReturnValueIfNotSet(obj, key, f) {\n    if (key in obj) {\n      return obj[key];\n    }\n    const val \x3d f();\n    obj[key] \x3d val;\n    return val;\n  }\n  function equals(a, b) {\n    for (const k in a) {\n      if (!(k in b) || a[k] !\x3d\x3d b[k]) {\n        return false;\n      }\n    }\n    for (const k in b) {\n      if (!(k in a)) {\n        return false;\n      }\n    }\n    return true;\n  }\n  function clone(obj) {\n    const res \x3d {};\n    for (const key in obj) {\n      res[key] \x3d obj[key];\n    }\n    return res;\n  }\n  function unsafeClone(obj) {\n    if (!obj || typeof obj !\x3d\x3d \x22object\x22) {\n      return obj;\n    }\n    if (typeof obj.clone \x3d\x3d\x3d \x22function\x22) {\n      return obj.clone();\n    }\n    if (typeof Map !\x3d\x3d \x22undefined\x22 \x26\x26 obj instanceof Map) {\n      return new Map(obj);\n    } else if (typeof Set !\x3d\x3d \x22undefined\x22 \x26\x26 obj instanceof Set) {\n      return new Set(obj);\n    } else if (obj instanceof Date) {\n      return new Date(obj.getTime());\n    }\n    const clone \x3d Array.isArray(obj) ? [] : typeof ArrayBuffer \x3d\x3d\x3d \x22function\x22 \x26\x26 typeof ArrayBuffer.isView \x3d\x3d\x3d \x22function\x22 \x26\x26 ArrayBuffer.isView(obj) \x26\x26 !(obj instanceof DataView) ? new obj.constructor(obj.length) : {};\n    for (const key in obj) {\n      clone[key] \x3d unsafeClone(obj[key]);\n    }\n    return clone;\n  }\n  function transpose(obj) {\n    const transposed \x3d {};\n    for (const key in obj) {\n      transposed[obj[key]] \x3d key;\n    }\n    return transposed;\n  }\n  function extend(target, var_args) {\n    let key;\n    let source;\n    for (let i \x3d 1; i \x3c arguments.length; i++) {\n      source \x3d arguments[i];\n      for (key in source) {\n        target[key] \x3d source[key];\n      }\n      for (let j \x3d 0; j \x3c PROTOTYPE_FIELDS.length; j++) {\n        key \x3d PROTOTYPE_FIELDS[j];\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] \x3d source[key];\n        }\n      }\n    }\n  }\n  function create(var_args) {\n    const argLength \x3d arguments.length;\n    if (argLength \x3d\x3d 1 \x26\x26 Array.isArray(arguments[0])) {\n      return create.apply(null, arguments[0]);\n    }\n    if (argLength % 2) {\n      throw new Error(\x22Uneven number of arguments\x22);\n    }\n    const rv \x3d {};\n    for (let i \x3d 0; i \x3c argLength; i \x3d i + 2) {\n      rv[arguments[i]] \x3d arguments[i + 1];\n    }\n    return rv;\n  }\n  function createSet(var_args) {\n    const argLength \x3d arguments.length;\n    if (argLength \x3d\x3d 1 \x26\x26 Array.isArray(arguments[0])) {\n      return createSet.apply(null, arguments[0]);\n    }\n    const rv \x3d {};\n    for (let i \x3d 0; i \x3c argLength; i++) {\n      rv[arguments[i]] \x3d true;\n    }\n    return rv;\n  }\n  function createImmutableView(obj) {\n    let result \x3d obj;\n    if (Object.isFrozen \x26\x26 !Object.isFrozen(obj)) {\n      result \x3d Object.create(obj);\n      Object.freeze(result);\n    }\n    return result;\n  }\n  function isImmutableView(obj) {\n    return !!Object.isFrozen \x26\x26 Object.isFrozen(obj);\n  }\n  function getAllPropertyNames(obj, includeObjectPrototype \x3d undefined, includeFunctionPrototype \x3d undefined) {\n    if (!obj) {\n      return [];\n    }\n    if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) {\n      return getKeys(obj);\n    }\n    const visitedSet \x3d {};\n    let proto \x3d obj;\n    for (; proto \x26\x26 (proto !\x3d\x3d Object.prototype || !!includeObjectPrototype) \x26\x26 (proto !\x3d\x3d Function.prototype || !!includeFunctionPrototype);) {\n      const names \x3d Object.getOwnPropertyNames(proto);\n      for (let i \x3d 0; i \x3c names.length; i++) {\n        visitedSet[names[i]] \x3d true;\n      }\n      proto \x3d Object.getPrototypeOf(proto);\n    }\n    return getKeys(visitedSet);\n  }\n  function getSuperClass(constructor) {\n    const proto \x3d Object.getPrototypeOf(constructor.prototype);\n    return proto \x26\x26 proto.constructor;\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.object\x22);\n  goog.module.declareLegacyNamespace();\n  const PROTOTYPE_FIELDS \x3d [\x22constructor\x22, \x22hasOwnProperty\x22, \x22isPrototypeOf\x22, \x22propertyIsEnumerable\x22, \x22toLocaleString\x22, \x22toString\x22, \x22valueOf\x22];\n  exports \x3d {add, clear, clone, contains, containsKey, containsValue, create, createImmutableView, createSet, equals, every, extend, filter, findKey, findValue, forEach, get, getAllPropertyNames, getAnyKey, getAnyValue, getCount, getKeys, getSuperClass, getValueByKeys, getValues, isEmpty, isImmutableView, map, remove, set, setIfUndefined, setWithReturnValueIfNotSet, some, transpose, unsafeClone};\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.html.safestylesheet.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.html.SafeStyleSheet\x22);\n  goog.module.declareLegacyNamespace();\n  const Const \x3d goog.require(\x22goog.string.Const\x22);\n  const SafeStyle \x3d goog.require(\x22goog.html.SafeStyle\x22);\n  const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n  const googObject \x3d goog.require(\x22goog.object\x22);\n  const {assert, fail} \x3d goog.require(\x22goog.asserts\x22);\n  const {contains} \x3d goog.require(\x22goog.string.internal\x22);\n  const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n  class SafeStyleSheet {\n    constructor(value, token) {\n      if (goog.DEBUG \x26\x26 token !\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE) {\n        throw Error(\x22SafeStyleSheet is not meant to be built directly\x22);\n      }\n      this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_ \x3d value;\n      this.implementsGoogStringTypedString \x3d true;\n    }\n    toString() {\n      return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_.toString();\n    }\n    static createRule(selector, style) {\n      if (contains(selector, \x22\\x3c\x22)) {\n        throw new Error(`Selector does not allow \x27\x3c\x27, got: ${selector}`);\n      }\n      const selectorToCheck \x3d selector.replace(/(\x27|\x22)((?!\\1)[^\\r\\n\\f\\\\]|\\\\[\\s\\S])*\\1/g, \x22\x22);\n      if (!/^[-_a-zA-Z0-9#.:* ,\x3e+~[\\]()\x3d\\\\^$|]+$/.test(selectorToCheck)) {\n        throw new Error(\x22Selector allows only [-_a-zA-Z0-9#.:* ,\\x3e+~[\\\\]()\\x3d\\\\^$|] and \x22 + \x22strings, got: \x22 + selector);\n      }\n      if (!SafeStyleSheet.hasBalancedBrackets_(selectorToCheck)) {\n        throw new Error(\x22() and [] in selector must be balanced, got: \x22 + selector);\n      }\n      if (!(style instanceof SafeStyle)) {\n        style \x3d SafeStyle.create(style);\n      }\n      const styleSheet \x3d `${selector}{` + SafeStyle.unwrap(style).replace(/\x3c/g, \x22\\\\3C \x22) + \x22}\x22;\n      return SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheet);\n    }\n    static hasBalancedBrackets_(s) {\n      const brackets \x3d {\x22(\x22:\x22)\x22, \x22[\x22:\x22]\x22};\n      const expectedBrackets \x3d [];\n      for (let i \x3d 0; i \x3c s.length; i++) {\n        const ch \x3d s[i];\n        if (brackets[ch]) {\n          expectedBrackets.push(brackets[ch]);\n        } else if (googObject.contains(brackets, ch)) {\n          if (expectedBrackets.pop() !\x3d ch) {\n            return false;\n          }\n        }\n      }\n      return expectedBrackets.length \x3d\x3d 0;\n    }\n    static concat(var_args) {\n      let result \x3d \x22\x22;\n      const addArgument \x3d argument \x3d\x3e {\n        if (Array.isArray(argument)) {\n          argument.forEach(addArgument);\n        } else {\n          result \x3d result + SafeStyleSheet.unwrap(argument);\n        }\n      };\n      Array.prototype.forEach.call(arguments, addArgument);\n      return SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(result);\n    }\n    static fromConstant(styleSheet) {\n      const styleSheetString \x3d Const.unwrap(styleSheet);\n      if (styleSheetString.length \x3d\x3d\x3d 0) {\n        return SafeStyleSheet.EMPTY;\n      }\n      assert(!contains(styleSheetString, \x22\\x3c\x22), `Forbidden \x27\x3c\x27 character in style sheet string: ${styleSheetString}`);\n      return SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheetString);\n    }\n    getTypedStringValue() {\n      return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;\n    }\n    static unwrap(safeStyleSheet) {\n      if (safeStyleSheet instanceof SafeStyleSheet \x26\x26 safeStyleSheet.constructor \x3d\x3d\x3d SafeStyleSheet) {\n        return safeStyleSheet.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;\n      } else {\n        fail(\x22expected object of type SafeStyleSheet, got \x27\x22 + safeStyleSheet + \x22\x27 of type \x22 + goog.typeOf(safeStyleSheet));\n        return \x22type_error:SafeStyleSheet\x22;\n      }\n    }\n    static createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheet) {\n      return new SafeStyleSheet(styleSheet, CONSTRUCTOR_TOKEN_PRIVATE);\n    }\n  }\n  SafeStyleSheet.EMPTY \x3d SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(\x22\x22);\n  exports \x3d SafeStyleSheet;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.flags.flags.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.flags\x22);\n  goog.module.declareLegacyNamespace();\n  exports.USE_USER_AGENT_CLIENT_HINTS \x3d false;\n  exports.ASYNC_THROW_ON_UNICODE_TO_BYTE \x3d false;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.useragent.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.labs.userAgent\x22);\n  goog.module.declareLegacyNamespace();\n  const flags \x3d goog.require(\x22goog.flags\x22);\n  const USE_CLIENT_HINTS_OVERRIDE \x3d goog.define(\x22goog.labs.userAgent.USE_CLIENT_HINTS_OVERRIDE\x22, \x22\x22);\n  const USE_CLIENT_HINTS \x3d goog.define(\x22goog.labs.userAgent.USE_CLIENT_HINTS\x22, false);\n  let forceClientHintsInTests \x3d false;\n  exports.setUseClientHintsForTesting \x3d use \x3d\x3e {\n    forceClientHintsInTests \x3d use;\n  };\n  const useClientHintsRuntimeOverride \x3d USE_CLIENT_HINTS_OVERRIDE ? !!goog.getObjectByName(USE_CLIENT_HINTS_OVERRIDE) : false;\n  exports.useClientHints \x3d () \x3d\x3e {\n    return flags.USE_USER_AGENT_CLIENT_HINTS || USE_CLIENT_HINTS || useClientHintsRuntimeOverride || forceClientHintsInTests;\n  };\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.util.js", true, "goog.loadModule(function(exports) {\n  function getNativeUserAgentString() {\n    const navigator \x3d getNavigator();\n    if (navigator) {\n      const userAgent \x3d navigator.userAgent;\n      if (userAgent) {\n        return userAgent;\n      }\n    }\n    return \x22\x22;\n  }\n  function getNativeUserAgentData() {\n    const navigator \x3d getNavigator();\n    if (navigator) {\n      return navigator.userAgentData || null;\n    }\n    return null;\n  }\n  function getNavigator() {\n    return goog.global.navigator;\n  }\n  function setUserAgent(userAgent \x3d undefined) {\n    userAgentInternal \x3d typeof userAgent \x3d\x3d\x3d \x22string\x22 ? userAgent : getNativeUserAgentString();\n  }\n  function getUserAgent() {\n    return userAgentInternal \x3d\x3d null ? getNativeUserAgentString() : userAgentInternal;\n  }\n  function setUserAgentData(userAgentData) {\n    userAgentDataInternal \x3d userAgentData;\n  }\n  function resetUserAgentData() {\n    userAgentDataInternal \x3d getNativeUserAgentData();\n  }\n  function getUserAgentData() {\n    return userAgentDataInternal;\n  }\n  function matchUserAgentDataBrand(str) {\n    if (!useClientHints()) {\n      return false;\n    }\n    const data \x3d getUserAgentData();\n    if (!data) {\n      return false;\n    }\n    return data.brands.some(({brand}) \x3d\x3e {\n      return brand \x26\x26 contains(brand, str);\n    });\n  }\n  function matchUserAgent(str) {\n    const userAgent \x3d getUserAgent();\n    return contains(userAgent, str);\n  }\n  function matchUserAgentIgnoreCase(str) {\n    const userAgent \x3d getUserAgent();\n    return caseInsensitiveContains(userAgent, str);\n  }\n  function extractVersionTuples(userAgent) {\n    const versionRegExp \x3d new RegExp(\x22([A-Z][\\\\w ]+)\x22 + \x22/\x22 + \x22([^\\\\s]+)\x22 + \x22\\\\s*\x22 + \x22(?:\\\\((.*?)\\\\))?\x22, \x22g\x22);\n    const data \x3d [];\n    let match;\n    for (; match \x3d versionRegExp.exec(userAgent);) {\n      data.push([match[1], match[2], match[3] || undefined]);\n    }\n    return data;\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.labs.userAgent.util\x22);\n  goog.module.declareLegacyNamespace();\n  const {caseInsensitiveContains, contains} \x3d goog.require(\x22goog.string.internal\x22);\n  const {useClientHints} \x3d goog.require(\x22goog.labs.userAgent\x22);\n  const ASSUME_CLIENT_HINTS_SUPPORT \x3d false;\n  let userAgentInternal \x3d null;\n  let userAgentDataInternal \x3d getNativeUserAgentData();\n  exports \x3d {ASSUME_CLIENT_HINTS_SUPPORT, extractVersionTuples, getNativeUserAgentString, getUserAgent, getUserAgentData, matchUserAgent, matchUserAgentDataBrand, matchUserAgentIgnoreCase, resetUserAgentData, setUserAgent, setUserAgentData};\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.highentropy.highentropyvalue.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.labs.userAgent.highEntropy.highEntropyValue\x22);\n  const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n  const {compareVersions} \x3d goog.require(\x22goog.string.internal\x22);\n  class AsyncValue {\n    getIfLoaded() {\n    }\n    load() {\n    }\n  }\n  exports.AsyncValue \x3d AsyncValue;\n  class HighEntropyValue {\n    constructor(key) {\n      this.key_ \x3d key;\n      this.value_ \x3d undefined;\n      this.promise_ \x3d undefined;\n      this.pending_ \x3d false;\n    }\n    getIfLoaded() {\n      const userAgentData \x3d util.getUserAgentData();\n      if (!userAgentData) {\n        return undefined;\n      }\n      return this.value_;\n    }\n    async load() {\n      const userAgentData \x3d util.getUserAgentData();\n      if (!userAgentData) {\n        return undefined;\n      }\n      if (!this.promise_) {\n        this.pending_ \x3d true;\n        this.promise_ \x3d (async() \x3d\x3e {\n          try {\n            const dataValues \x3d await userAgentData.getHighEntropyValues([this.key_]);\n            this.value_ \x3d dataValues[this.key_];\n            return this.value_;\n          } finally {\n            this.pending_ \x3d false;\n          }\n        })();\n      }\n      return await this.promise_;\n    }\n    resetForTesting() {\n      if (this.pending_) {\n        throw new Error(\x22Unsafe call to resetForTesting\x22);\n      }\n      this.promise_ \x3d undefined;\n      this.value_ \x3d undefined;\n      this.pending_ \x3d false;\n    }\n  }\n  exports.HighEntropyValue \x3d HighEntropyValue;\n  class Version {\n    constructor(versionString) {\n      this.versionString_ \x3d versionString;\n    }\n    toVersionStringForLogging() {\n      return this.versionString_;\n    }\n    isAtLeast(version) {\n      return compareVersions(this.versionString_, version) \x3e\x3d 0;\n    }\n  }\n  exports.Version \x3d Version;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.chromium_rebrands.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.labs.userAgent.chromiumRebrands\x22);\n  goog.module.declareLegacyNamespace();\n  const ChromiumRebrand \x3d {GOOGLE_CHROME:\x22Google Chrome\x22, BRAVE:\x22Brave\x22, OPERA:\x22Opera\x22, EDGE:\x22Microsoft Edge\x22};\n  exports.ChromiumRebrand \x3d ChromiumRebrand;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.highentropy.highentropydata.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.labs.userAgent.highEntropy.highEntropyData\x22);\n  const {HighEntropyValue} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyValue\x22);\n  const fullVersionList \x3d new HighEntropyValue(\x22fullVersionList\x22);\n  exports.fullVersionList \x3d fullVersionList;\n  const platformVersion \x3d new HighEntropyValue(\x22platformVersion\x22);\n  exports.platformVersion \x3d platformVersion;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.browser.js", true, "goog.loadModule(function(exports) {\n  function useUserAgentDataBrand(ignoreClientHintsFlag \x3d false) {\n    if (util.ASSUME_CLIENT_HINTS_SUPPORT) {\n      return true;\n    }\n    if (!ignoreClientHintsFlag \x26\x26 !useClientHints()) {\n      return false;\n    }\n    const userAgentData \x3d util.getUserAgentData();\n    return !!userAgentData \x26\x26 userAgentData.brands.length \x3e 0;\n  }\n  function hasFullVersionList() {\n    return isAtLeast(Brand.CHROMIUM, 98);\n  }\n  function matchOpera() {\n    if (useUserAgentDataBrand()) {\n      return false;\n    }\n    return util.matchUserAgent(\x22Opera\x22);\n  }\n  function matchIE() {\n    if (useUserAgentDataBrand()) {\n      return false;\n    }\n    return util.matchUserAgent(\x22Trident\x22) || util.matchUserAgent(\x22MSIE\x22);\n  }\n  function matchEdgeHtml() {\n    if (useUserAgentDataBrand()) {\n      return false;\n    }\n    return util.matchUserAgent(\x22Edge\x22);\n  }\n  function matchEdgeChromium() {\n    if (useUserAgentDataBrand()) {\n      return util.matchUserAgentDataBrand(Brand.EDGE);\n    }\n    return util.matchUserAgent(\x22Edg/\x22);\n  }\n  function matchOperaChromium() {\n    if (useUserAgentDataBrand()) {\n      return util.matchUserAgentDataBrand(Brand.OPERA);\n    }\n    return util.matchUserAgent(\x22OPR\x22);\n  }\n  function matchFirefox() {\n    return util.matchUserAgent(\x22Firefox\x22) || util.matchUserAgent(\x22FxiOS\x22);\n  }\n  function matchSafari() {\n    return util.matchUserAgent(\x22Safari\x22) \x26\x26 !(matchChrome() || matchCoast() || matchOpera() || matchEdgeHtml() || matchEdgeChromium() || matchOperaChromium() || matchFirefox() || isSilk() || util.matchUserAgent(\x22Android\x22));\n  }\n  function matchCoast() {\n    if (useUserAgentDataBrand()) {\n      return false;\n    }\n    return util.matchUserAgent(\x22Coast\x22);\n  }\n  function matchIosWebview() {\n    return (util.matchUserAgent(\x22iPad\x22) || util.matchUserAgent(\x22iPhone\x22)) \x26\x26 !matchSafari() \x26\x26 !matchChrome() \x26\x26 !matchCoast() \x26\x26 !matchFirefox() \x26\x26 util.matchUserAgent(\x22AppleWebKit\x22);\n  }\n  function matchChrome() {\n    if (useUserAgentDataBrand()) {\n      return util.matchUserAgentDataBrand(Brand.CHROMIUM);\n    }\n    return (util.matchUserAgent(\x22Chrome\x22) || util.matchUserAgent(\x22CriOS\x22)) \x26\x26 !matchEdgeHtml() || isSilk();\n  }\n  function matchAndroidBrowser() {\n    return util.matchUserAgent(\x22Android\x22) \x26\x26 !(isChrome() || isFirefox() || isOpera() || isSilk());\n  }\n  function isSilk() {\n    return util.matchUserAgent(\x22Silk\x22);\n  }\n  function createVersionMap(versionTuples) {\n    const versionMap \x3d {};\n    versionTuples.forEach(tuple \x3d\x3e {\n      const key \x3d tuple[0];\n      const value \x3d tuple[1];\n      versionMap[key] \x3d value;\n    });\n    return keys \x3d\x3e {\n      return versionMap[keys.find(key \x3d\x3e {\n        return key in versionMap;\n      })] || \x22\x22;\n    };\n  }\n  function getVersion() {\n    const userAgentString \x3d util.getUserAgent();\n    if (isIE()) {\n      return getIEVersion(userAgentString);\n    }\n    const versionTuples \x3d util.extractVersionTuples(userAgentString);\n    const lookUpValueWithKeys \x3d createVersionMap(versionTuples);\n    if (isOpera()) {\n      return lookUpValueWithKeys([\x22Version\x22, \x22Opera\x22]);\n    }\n    if (isEdge()) {\n      return lookUpValueWithKeys([\x22Edge\x22]);\n    }\n    if (isEdgeChromium()) {\n      return lookUpValueWithKeys([\x22Edg\x22]);\n    }\n    if (isSilk()) {\n      return lookUpValueWithKeys([\x22Silk\x22]);\n    }\n    if (isChrome()) {\n      return lookUpValueWithKeys([\x22Chrome\x22, \x22CriOS\x22, \x22HeadlessChrome\x22]);\n    }\n    const tuple \x3d versionTuples[2];\n    return tuple \x26\x26 tuple[1] || \x22\x22;\n  }\n  function isVersionOrHigher(version) {\n    return compareVersions(getVersion(), version) \x3e\x3d 0;\n  }\n  function getIEVersion(userAgent) {\n    const rv \x3d /rv: *([\\d\\.]*)/.exec(userAgent);\n    if (rv \x26\x26 rv[1]) {\n      return rv[1];\n    }\n    let version \x3d \x22\x22;\n    const msie \x3d /MSIE +([\\d\\.]+)/.exec(userAgent);\n    if (msie \x26\x26 msie[1]) {\n      const tridentVersion \x3d /Trident\\/(\\d.\\d)/.exec(userAgent);\n      if (msie[1] \x3d\x3d \x227.0\x22) {\n        if (tridentVersion \x26\x26 tridentVersion[1]) {\n          switch(tridentVersion[1]) {\n            case \x224.0\x22:\n              version \x3d \x228.0\x22;\n              break;\n            case \x225.0\x22:\n              version \x3d \x229.0\x22;\n              break;\n            case \x226.0\x22:\n              version \x3d \x2210.0\x22;\n              break;\n            case \x227.0\x22:\n              version \x3d \x2211.0\x22;\n              break;\n          }\n        } else {\n          version \x3d \x227.0\x22;\n        }\n      } else {\n        version \x3d msie[1];\n      }\n    }\n    return version;\n  }\n  function getFullVersionFromUserAgentString(browser) {\n    const userAgentString \x3d util.getUserAgent();\n    if (browser \x3d\x3d\x3d Brand.IE) {\n      return isIE() ? getIEVersion(userAgentString) : \x22\x22;\n    }\n    const versionTuples \x3d util.extractVersionTuples(userAgentString);\n    const lookUpValueWithKeys \x3d createVersionMap(versionTuples);\n    switch(browser) {\n      case Brand.OPERA:\n        if (isOpera()) {\n          return lookUpValueWithKeys([\x22Version\x22, \x22Opera\x22]);\n        } else if (isOperaChromium()) {\n          return lookUpValueWithKeys([\x22OPR\x22]);\n        }\n        break;\n      case Brand.EDGE:\n        if (isEdge()) {\n          return lookUpValueWithKeys([\x22Edge\x22]);\n        } else if (isEdgeChromium()) {\n          return lookUpValueWithKeys([\x22Edg\x22]);\n        }\n        break;\n      case Brand.CHROMIUM:\n        if (isChrome()) {\n          return lookUpValueWithKeys([\x22Chrome\x22, \x22CriOS\x22, \x22HeadlessChrome\x22]);\n        }\n        break;\n    }\n    if (browser \x3d\x3d\x3d Brand.FIREFOX \x26\x26 isFirefox() || browser \x3d\x3d\x3d Brand.SAFARI \x26\x26 isSafari() || browser \x3d\x3d\x3d Brand.ANDROID_BROWSER \x26\x26 isAndroidBrowser() || browser \x3d\x3d\x3d Brand.SILK \x26\x26 isSilk()) {\n      const tuple \x3d versionTuples[2];\n      return tuple \x26\x26 tuple[1] || \x22\x22;\n    }\n    return \x22\x22;\n  }\n  function versionOf_(browser) {\n    let versionParts;\n    if (useUserAgentDataBrand() \x26\x26 browser !\x3d\x3d Brand.SILK) {\n      const data \x3d util.getUserAgentData();\n      const matchingBrand \x3d data.brands.find(({brand}) \x3d\x3e {\n        return brand \x3d\x3d\x3d browser;\n      });\n      if (!matchingBrand || !matchingBrand.version) {\n        return NaN;\n      }\n      versionParts \x3d matchingBrand.version.split(\x22.\x22);\n    } else {\n      const fullVersion \x3d getFullVersionFromUserAgentString(browser);\n      if (fullVersion \x3d\x3d\x3d \x22\x22) {\n        return NaN;\n      }\n      versionParts \x3d fullVersion.split(\x22.\x22);\n    }\n    if (versionParts.length \x3d\x3d\x3d 0) {\n      return NaN;\n    }\n    const majorVersion \x3d versionParts[0];\n    return Number(majorVersion);\n  }\n  function isAtLeast(brand, majorVersion) {\n    assert(Math.floor(majorVersion) \x3d\x3d\x3d majorVersion, \x22Major version must be an integer\x22);\n    return versionOf_(brand) \x3e\x3d majorVersion;\n  }\n  function isAtMost(brand, majorVersion) {\n    assert(Math.floor(majorVersion) \x3d\x3d\x3d majorVersion, \x22Major version must be an integer\x22);\n    return versionOf_(brand) \x3c\x3d majorVersion;\n  }\n  async function loadFullVersions() {\n    if (useUserAgentDataBrand(true)) {\n      await fullVersionList.load();\n    }\n    preUachHasLoaded \x3d true;\n  }\n  function fullVersionOf(browser) {\n    let fallbackVersionString \x3d \x22\x22;\n    if (!hasFullVersionList()) {\n      fallbackVersionString \x3d getFullVersionFromUserAgentString(browser);\n    }\n    const useUach \x3d browser !\x3d\x3d Brand.SILK \x26\x26 useUserAgentDataBrand(true);\n    if (useUach) {\n      const data \x3d util.getUserAgentData();\n      if (!data.brands.find(({brand}) \x3d\x3e {\n        return brand \x3d\x3d\x3d browser;\n      })) {\n        return undefined;\n      }\n    } else if (fallbackVersionString \x3d\x3d\x3d \x22\x22) {\n      return undefined;\n    }\n    return new HighEntropyBrandVersion(browser, useUach, fallbackVersionString);\n  }\n  function getVersionStringForLogging(browser) {\n    if (useUserAgentDataBrand(true)) {\n      const fullVersionObj \x3d fullVersionOf(browser);\n      if (fullVersionObj) {\n        const fullVersion \x3d fullVersionObj.getIfLoaded();\n        if (fullVersion) {\n          return fullVersion.toVersionStringForLogging();\n        }\n        const data \x3d util.getUserAgentData();\n        const matchingBrand \x3d data.brands.find(({brand}) \x3d\x3e {\n          return brand \x3d\x3d\x3d browser;\n        });\n        assertExists(matchingBrand);\n        return matchingBrand.version;\n      }\n      return \x22\x22;\n    } else {\n      return getFullVersionFromUserAgentString(browser);\n    }\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.labs.userAgent.browser\x22);\n  goog.module.declareLegacyNamespace();\n  const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n  const {AsyncValue, Version} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyValue\x22);\n  const {ChromiumRebrand} \x3d goog.require(\x22goog.labs.userAgent.chromiumRebrands\x22);\n  const {assert, assertExists} \x3d goog.require(\x22goog.asserts\x22);\n  const {compareVersions} \x3d goog.require(\x22goog.string.internal\x22);\n  const {fullVersionList} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyData\x22);\n  const {useClientHints} \x3d goog.require(\x22goog.labs.userAgent\x22);\n  const Brand \x3d {ANDROID_BROWSER:\x22Android Browser\x22, CHROMIUM:\x22Chromium\x22, EDGE:\x22Microsoft Edge\x22, FIREFOX:\x22Firefox\x22, IE:\x22Internet Explorer\x22, OPERA:\x22Opera\x22, SAFARI:\x22Safari\x22, SILK:\x22Silk\x22};\n  exports.Brand \x3d Brand;\n  let AllBrandsInternal;\n  exports.AllBrands;\n  const isOpera \x3d matchOpera;\n  exports.isOpera \x3d isOpera;\n  const isIE \x3d matchIE;\n  exports.isIE \x3d isIE;\n  const isEdge \x3d matchEdgeHtml;\n  exports.isEdge \x3d isEdge;\n  const isEdgeChromium \x3d matchEdgeChromium;\n  exports.isEdgeChromium \x3d isEdgeChromium;\n  const isOperaChromium \x3d matchOperaChromium;\n  exports.isOperaChromium \x3d isOperaChromium;\n  const isFirefox \x3d matchFirefox;\n  exports.isFirefox \x3d isFirefox;\n  const isSafari \x3d matchSafari;\n  exports.isSafari \x3d isSafari;\n  const isCoast \x3d matchCoast;\n  exports.isCoast \x3d isCoast;\n  const isIosWebview \x3d matchIosWebview;\n  exports.isIosWebview \x3d isIosWebview;\n  const isChrome \x3d matchChrome;\n  exports.isChrome \x3d isChrome;\n  const isAndroidBrowser \x3d matchAndroidBrowser;\n  exports.isAndroidBrowser \x3d isAndroidBrowser;\n  exports.isSilk \x3d isSilk;\n  exports.getVersion \x3d getVersion;\n  exports.isVersionOrHigher \x3d isVersionOrHigher;\n  exports.isAtLeast \x3d isAtLeast;\n  exports.isAtMost \x3d isAtMost;\n  class HighEntropyBrandVersion {\n    constructor(brand, useUach, fallbackVersion) {\n      this.brand_ \x3d brand;\n      this.version_ \x3d new Version(fallbackVersion);\n      this.useUach_ \x3d useUach;\n    }\n    getIfLoaded() {\n      if (this.useUach_) {\n        const loadedVersionList \x3d fullVersionList.getIfLoaded();\n        if (loadedVersionList !\x3d\x3d undefined) {\n          const matchingBrand \x3d loadedVersionList.find(({brand}) \x3d\x3e {\n            return this.brand_ \x3d\x3d\x3d brand;\n          });\n          assertExists(matchingBrand);\n          return new Version(matchingBrand.version);\n        }\n      }\n      if (preUachHasLoaded) {\n        return this.version_;\n      }\n      return;\n    }\n    async load() {\n      if (this.useUach_) {\n        const loadedVersionList \x3d await fullVersionList.load();\n        if (loadedVersionList !\x3d\x3d undefined) {\n          const matchingBrand \x3d loadedVersionList.find(({brand}) \x3d\x3e {\n            return this.brand_ \x3d\x3d\x3d brand;\n          });\n          assertExists(matchingBrand);\n          return new Version(matchingBrand.version);\n        }\n      } else {\n        await 0;\n      }\n      preUachHasLoaded \x3d true;\n      return this.version_;\n    }\n  }\n  let preUachHasLoaded \x3d false;\n  exports.loadFullVersions \x3d loadFullVersions;\n  exports.resetForTesting \x3d () \x3d\x3e {\n    preUachHasLoaded \x3d false;\n    fullVersionList.resetForTesting();\n  };\n  exports.fullVersionOf \x3d fullVersionOf;\n  exports.getVersionStringForLogging \x3d getVersionStringForLogging;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.array.array.js", true, "goog.loadModule(function(exports) {\n  function peek(array) {\n    return array[array.length - 1];\n  }\n  function forEachRight(arr, f, opt_obj) {\n    const l \x3d arr.length;\n    const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n    for (let i \x3d l - 1; i \x3e\x3d 0; --i) {\n      if (i in arr2) {\n        f.call(opt_obj, arr2[i], i, arr);\n      }\n    }\n  }\n  function count(arr, f, opt_obj) {\n    let count \x3d 0;\n    forEach(arr, function(element, index, arr) {\n      if (f.call(opt_obj, element, index, arr)) {\n        ++count;\n      }\n    }, opt_obj);\n    return count;\n  }\n  function find(arr, f, opt_obj) {\n    const i \x3d findIndex(arr, f, opt_obj);\n    return i \x3c 0 ? null : typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.charAt(i) : arr[i];\n  }\n  function findIndex(arr, f, opt_obj) {\n    const l \x3d arr.length;\n    const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n    for (let i \x3d 0; i \x3c l; i++) {\n      if (i in arr2 \x26\x26 f.call(opt_obj, arr2[i], i, arr)) {\n        return i;\n      }\n    }\n    return -1;\n  }\n  function findRight(arr, f, opt_obj) {\n    const i \x3d findIndexRight(arr, f, opt_obj);\n    return i \x3c 0 ? null : typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.charAt(i) : arr[i];\n  }\n  function findIndexRight(arr, f, opt_obj) {\n    const l \x3d arr.length;\n    const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n    for (let i \x3d l - 1; i \x3e\x3d 0; i--) {\n      if (i in arr2 \x26\x26 f.call(opt_obj, arr2[i], i, arr)) {\n        return i;\n      }\n    }\n    return -1;\n  }\n  function contains(arr, obj) {\n    return indexOf(arr, obj) \x3e\x3d 0;\n  }\n  function isEmpty(arr) {\n    return arr.length \x3d\x3d 0;\n  }\n  function clear(arr) {\n    if (!Array.isArray(arr)) {\n      for (let i \x3d arr.length - 1; i \x3e\x3d 0; i--) {\n        delete arr[i];\n      }\n    }\n    arr.length \x3d 0;\n  }\n  function insert(arr, obj) {\n    if (!contains(arr, obj)) {\n      arr.push(obj);\n    }\n  }\n  function insertAt(arr, obj, opt_i) {\n    splice(arr, opt_i, 0, obj);\n  }\n  function insertArrayAt(arr, elementsToAdd, opt_i) {\n    goog.partial(splice, arr, opt_i, 0).apply(null, elementsToAdd);\n  }\n  function insertBefore(arr, obj, opt_obj2) {\n    let i;\n    if (arguments.length \x3d\x3d 2 || (i \x3d indexOf(arr, opt_obj2)) \x3c 0) {\n      arr.push(obj);\n    } else {\n      insertAt(arr, obj, i);\n    }\n  }\n  function remove(arr, obj) {\n    const i \x3d indexOf(arr, obj);\n    let rv;\n    if (rv \x3d i \x3e\x3d 0) {\n      removeAt(arr, i);\n    }\n    return rv;\n  }\n  function removeLast(arr, obj) {\n    const i \x3d lastIndexOf(arr, obj);\n    if (i \x3e\x3d 0) {\n      removeAt(arr, i);\n      return true;\n    }\n    return false;\n  }\n  function removeAt(arr, i) {\n    asserts.assert(arr.length !\x3d null);\n    return Array.prototype.splice.call(arr, i, 1).length \x3d\x3d 1;\n  }\n  function removeIf(arr, f, opt_obj) {\n    const i \x3d findIndex(arr, f, opt_obj);\n    if (i \x3e\x3d 0) {\n      removeAt(arr, i);\n      return true;\n    }\n    return false;\n  }\n  function removeAllIf(arr, f, opt_obj) {\n    let removedCount \x3d 0;\n    forEachRight(arr, function(val, index) {\n      if (f.call(opt_obj, val, index, arr)) {\n        if (removeAt(arr, index)) {\n          removedCount++;\n        }\n      }\n    });\n    return removedCount;\n  }\n  function concat(var_args) {\n    return Array.prototype.concat.apply([], arguments);\n  }\n  function join(var_args) {\n    return Array.prototype.concat.apply([], arguments);\n  }\n  function toArray(object) {\n    const length \x3d object.length;\n    if (length \x3e 0) {\n      const rv \x3d new Array(length);\n      for (let i \x3d 0; i \x3c length; i++) {\n        rv[i] \x3d object[i];\n      }\n      return rv;\n    }\n    return [];\n  }\n  function extend(arr1, var_args) {\n    for (let i \x3d 1; i \x3c arguments.length; i++) {\n      const arr2 \x3d arguments[i];\n      if (goog.isArrayLike(arr2)) {\n        const len1 \x3d arr1.length || 0;\n        const len2 \x3d arr2.length || 0;\n        arr1.length \x3d len1 + len2;\n        for (let j \x3d 0; j \x3c len2; j++) {\n          arr1[len1 + j] \x3d arr2[j];\n        }\n      } else {\n        arr1.push(arr2);\n      }\n    }\n  }\n  function splice(arr, index, howMany, var_args) {\n    asserts.assert(arr.length !\x3d null);\n    return Array.prototype.splice.apply(arr, slice(arguments, 1));\n  }\n  function slice(arr, start, opt_end) {\n    asserts.assert(arr.length !\x3d null);\n    if (arguments.length \x3c\x3d 2) {\n      return Array.prototype.slice.call(arr, start);\n    } else {\n      return Array.prototype.slice.call(arr, start, opt_end);\n    }\n  }\n  function removeDuplicates(arr, opt_rv, opt_hashFn) {\n    const returnArray \x3d opt_rv || arr;\n    const defaultHashFn \x3d function(item) {\n      return goog.isObject(item) ? \x22o\x22 + goog.getUid(item) : (typeof item).charAt(0) + item;\n    };\n    const hashFn \x3d opt_hashFn || defaultHashFn;\n    let cursorInsert \x3d 0;\n    let cursorRead \x3d 0;\n    const seen \x3d {};\n    for (; cursorRead \x3c arr.length;) {\n      const current \x3d arr[cursorRead++];\n      const key \x3d hashFn(current);\n      if (!Object.prototype.hasOwnProperty.call(seen, key)) {\n        seen[key] \x3d true;\n        returnArray[cursorInsert++] \x3d current;\n      }\n    }\n    returnArray.length \x3d cursorInsert;\n  }\n  function binarySearch(arr, target, opt_compareFn) {\n    return binarySearch_(arr, opt_compareFn || defaultCompare, false, target);\n  }\n  function binarySelect(arr, evaluator, opt_obj) {\n    return binarySearch_(arr, evaluator, true, undefined, opt_obj);\n  }\n  function binarySearch_(arr, compareFn, isEvaluator, opt_target, opt_selfObj) {\n    let left \x3d 0;\n    let right \x3d arr.length;\n    let found;\n    for (; left \x3c right;) {\n      const middle \x3d left + (right - left \x3e\x3e\x3e 1);\n      let compareResult;\n      if (isEvaluator) {\n        compareResult \x3d compareFn.call(opt_selfObj, arr[middle], middle, arr);\n      } else {\n        compareResult \x3d compareFn(opt_target, arr[middle]);\n      }\n      if (compareResult \x3e 0) {\n        left \x3d middle + 1;\n      } else {\n        right \x3d middle;\n        found \x3d !compareResult;\n      }\n    }\n    return found ? left : -left - 1;\n  }\n  function sort(arr, opt_compareFn) {\n    arr.sort(opt_compareFn || defaultCompare);\n  }\n  function stableSort(arr, opt_compareFn) {\n    function stableCompareFn(obj1, obj2) {\n      return valueCompareFn(obj1.value, obj2.value) || obj1.index - obj2.index;\n    }\n    const compArr \x3d new Array(arr.length);\n    for (let i \x3d 0; i \x3c arr.length; i++) {\n      compArr[i] \x3d {index:i, value:arr[i]};\n    }\n    const valueCompareFn \x3d opt_compareFn || defaultCompare;\n    sort(compArr, stableCompareFn);\n    for (let i \x3d 0; i \x3c arr.length; i++) {\n      arr[i] \x3d compArr[i].value;\n    }\n  }\n  function sortByKey(arr, keyFn, opt_compareFn) {\n    const keyCompareFn \x3d opt_compareFn || defaultCompare;\n    sort(arr, function(a, b) {\n      return keyCompareFn(keyFn(a), keyFn(b));\n    });\n  }\n  function sortObjectsByKey(arr, key, opt_compareFn) {\n    sortByKey(arr, function(obj) {\n      return obj[key];\n    }, opt_compareFn);\n  }\n  function isSorted(arr, opt_compareFn, opt_strict) {\n    const compare \x3d opt_compareFn || defaultCompare;\n    for (let i \x3d 1; i \x3c arr.length; i++) {\n      const compareResult \x3d compare(arr[i - 1], arr[i]);\n      if (compareResult \x3e 0 || compareResult \x3d\x3d 0 \x26\x26 opt_strict) {\n        return false;\n      }\n    }\n    return true;\n  }\n  function equals(arr1, arr2, opt_equalsFn) {\n    if (!goog.isArrayLike(arr1) || !goog.isArrayLike(arr2) || arr1.length !\x3d arr2.length) {\n      return false;\n    }\n    const l \x3d arr1.length;\n    const equalsFn \x3d opt_equalsFn || defaultCompareEquality;\n    for (let i \x3d 0; i \x3c l; i++) {\n      if (!equalsFn(arr1[i], arr2[i])) {\n        return false;\n      }\n    }\n    return true;\n  }\n  function compare3(arr1, arr2, opt_compareFn) {\n    const compare \x3d opt_compareFn || defaultCompare;\n    const l \x3d Math.min(arr1.length, arr2.length);\n    for (let i \x3d 0; i \x3c l; i++) {\n      const result \x3d compare(arr1[i], arr2[i]);\n      if (result !\x3d 0) {\n        return result;\n      }\n    }\n    return defaultCompare(arr1.length, arr2.length);\n  }\n  function defaultCompare(a, b) {\n    return a \x3e b ? 1 : a \x3c b ? -1 : 0;\n  }\n  function inverseDefaultCompare(a, b) {\n    return -defaultCompare(a, b);\n  }\n  function defaultCompareEquality(a, b) {\n    return a \x3d\x3d\x3d b;\n  }\n  function binaryInsert(array, value, opt_compareFn) {\n    const index \x3d binarySearch(array, value, opt_compareFn);\n    if (index \x3c 0) {\n      insertAt(array, value, -(index + 1));\n      return true;\n    }\n    return false;\n  }\n  function binaryRemove(array, value, opt_compareFn) {\n    const index \x3d binarySearch(array, value, opt_compareFn);\n    return index \x3e\x3d 0 ? removeAt(array, index) : false;\n  }\n  function bucket(array, sorter, opt_obj) {\n    const buckets \x3d {};\n    for (let i \x3d 0; i \x3c array.length; i++) {\n      const value \x3d array[i];\n      const key \x3d sorter.call(opt_obj, value, i, array);\n      if (key !\x3d\x3d undefined) {\n        const bucket \x3d buckets[key] || (buckets[key] \x3d []);\n        bucket.push(value);\n      }\n    }\n    return buckets;\n  }\n  function bucketToMap(array, sorter) {\n    const buckets \x3d new Map();\n    for (let i \x3d 0; i \x3c array.length; i++) {\n      const value \x3d array[i];\n      const key \x3d sorter(value, i, array);\n      if (key !\x3d\x3d undefined) {\n        let bucket \x3d buckets.get(key);\n        if (!bucket) {\n          bucket \x3d [];\n          buckets.set(key, bucket);\n        }\n        bucket.push(value);\n      }\n    }\n    return buckets;\n  }\n  function toObject(arr, keyFunc, opt_obj) {\n    const ret \x3d {};\n    forEach(arr, function(element, index) {\n      ret[keyFunc.call(opt_obj, element, index, arr)] \x3d element;\n    });\n    return ret;\n  }\n  function toMap(arr, keyFunc) {\n    const map \x3d new Map();\n    for (let i \x3d 0; i \x3c arr.length; i++) {\n      const element \x3d arr[i];\n      map.set(keyFunc(element, i, arr), element);\n    }\n    return map;\n  }\n  function range(startOrEnd, opt_end, opt_step) {\n    const array \x3d [];\n    let start \x3d 0;\n    let end \x3d startOrEnd;\n    const step \x3d opt_step || 1;\n    if (opt_end !\x3d\x3d undefined) {\n      start \x3d startOrEnd;\n      end \x3d opt_end;\n    }\n    if (step * (end - start) \x3c 0) {\n      return [];\n    }\n    if (step \x3e 0) {\n      for (let i \x3d start; i \x3c end; i \x3d i + step) {\n        array.push(i);\n      }\n    } else {\n      for (let i \x3d start; i \x3e end; i \x3d i + step) {\n        array.push(i);\n      }\n    }\n    return array;\n  }\n  function repeat(value, n) {\n    const array \x3d [];\n    for (let i \x3d 0; i \x3c n; i++) {\n      array[i] \x3d value;\n    }\n    return array;\n  }\n  function flatten(var_args) {\n    const CHUNK_SIZE \x3d 8192;\n    const result \x3d [];\n    for (let i \x3d 0; i \x3c arguments.length; i++) {\n      const element \x3d arguments[i];\n      if (Array.isArray(element)) {\n        for (let c \x3d 0; c \x3c element.length; c \x3d c + CHUNK_SIZE) {\n          const chunk \x3d slice(element, c, c + CHUNK_SIZE);\n          const recurseResult \x3d flatten.apply(null, chunk);\n          for (let r \x3d 0; r \x3c recurseResult.length; r++) {\n            result.push(recurseResult[r]);\n          }\n        }\n      } else {\n        result.push(element);\n      }\n    }\n    return result;\n  }\n  function rotate(array, n) {\n    asserts.assert(array.length !\x3d null);\n    if (array.length) {\n      n \x3d n % array.length;\n      if (n \x3e 0) {\n        Array.prototype.unshift.apply(array, array.splice(-n, n));\n      } else if (n \x3c 0) {\n        Array.prototype.push.apply(array, array.splice(0, -n));\n      }\n    }\n    return array;\n  }\n  function moveItem(arr, fromIndex, toIndex) {\n    asserts.assert(fromIndex \x3e\x3d 0 \x26\x26 fromIndex \x3c arr.length);\n    asserts.assert(toIndex \x3e\x3d 0 \x26\x26 toIndex \x3c arr.length);\n    const removedItems \x3d Array.prototype.splice.call(arr, fromIndex, 1);\n    Array.prototype.splice.call(arr, toIndex, 0, removedItems[0]);\n  }\n  function zip(var_args) {\n    if (!arguments.length) {\n      return [];\n    }\n    const result \x3d [];\n    let minLen \x3d arguments[0].length;\n    for (let i \x3d 1; i \x3c arguments.length; i++) {\n      if (arguments[i].length \x3c minLen) {\n        minLen \x3d arguments[i].length;\n      }\n    }\n    for (let i \x3d 0; i \x3c minLen; i++) {\n      const value \x3d [];\n      for (let j \x3d 0; j \x3c arguments.length; j++) {\n        value.push(arguments[j][i]);\n      }\n      result.push(value);\n    }\n    return result;\n  }\n  function shuffle(arr, opt_randFn) {\n    const randFn \x3d opt_randFn || Math.random;\n    for (let i \x3d arr.length - 1; i \x3e 0; i--) {\n      const j \x3d Math.floor(randFn() * (i + 1));\n      const tmp \x3d arr[i];\n      arr[i] \x3d arr[j];\n      arr[j] \x3d tmp;\n    }\n  }\n  function copyByIndex(arr, index_arr) {\n    const result \x3d [];\n    forEach(index_arr, function(index) {\n      result.push(arr[index]);\n    });\n    return result;\n  }\n  function concatMap(arr, f, opt_obj) {\n    return concat.apply([], map(arr, f, opt_obj));\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.array\x22);\n  goog.module.declareLegacyNamespace();\n  const asserts \x3d goog.require(\x22goog.asserts\x22);\n  goog.NATIVE_ARRAY_PROTOTYPES \x3d goog.define(\x22goog.NATIVE_ARRAY_PROTOTYPES\x22, goog.TRUSTED_SITE);\n  const ASSUME_NATIVE_FUNCTIONS \x3d goog.define(\x22goog.array.ASSUME_NATIVE_FUNCTIONS\x22, goog.FEATURESET_YEAR \x3e 2012);\n  exports.ASSUME_NATIVE_FUNCTIONS \x3d ASSUME_NATIVE_FUNCTIONS;\n  exports.peek \x3d peek;\n  exports.last \x3d peek;\n  const indexOf \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.indexOf) ? function(arr, obj, opt_fromIndex) {\n    asserts.assert(arr.length !\x3d null);\n    return Array.prototype.indexOf.call(arr, obj, opt_fromIndex);\n  } : function(arr, obj, opt_fromIndex) {\n    const fromIndex \x3d opt_fromIndex \x3d\x3d null ? 0 : opt_fromIndex \x3c 0 ? Math.max(0, arr.length + opt_fromIndex) : opt_fromIndex;\n    if (typeof arr \x3d\x3d\x3d \x22string\x22) {\n      if (typeof obj !\x3d\x3d \x22string\x22 || obj.length !\x3d 1) {\n        return -1;\n      }\n      return arr.indexOf(obj, fromIndex);\n    }\n    for (let i \x3d fromIndex; i \x3c arr.length; i++) {\n      if (i in arr \x26\x26 arr[i] \x3d\x3d\x3d obj) {\n        return i;\n      }\n    }\n    return -1;\n  };\n  exports.indexOf \x3d indexOf;\n  const lastIndexOf \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.lastIndexOf) ? function(arr, obj, opt_fromIndex) {\n    asserts.assert(arr.length !\x3d null);\n    const fromIndex \x3d opt_fromIndex \x3d\x3d null ? arr.length - 1 : opt_fromIndex;\n    return Array.prototype.lastIndexOf.call(arr, obj, fromIndex);\n  } : function(arr, obj, opt_fromIndex) {\n    let fromIndex \x3d opt_fromIndex \x3d\x3d null ? arr.length - 1 : opt_fromIndex;\n    if (fromIndex \x3c 0) {\n      fromIndex \x3d Math.max(0, arr.length + fromIndex);\n    }\n    if (typeof arr \x3d\x3d\x3d \x22string\x22) {\n      if (typeof obj !\x3d\x3d \x22string\x22 || obj.length !\x3d 1) {\n        return -1;\n      }\n      return arr.lastIndexOf(obj, fromIndex);\n    }\n    for (let i \x3d fromIndex; i \x3e\x3d 0; i--) {\n      if (i in arr \x26\x26 arr[i] \x3d\x3d\x3d obj) {\n        return i;\n      }\n    }\n    return -1;\n  };\n  exports.lastIndexOf \x3d lastIndexOf;\n  const forEach \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.forEach) ? function(arr, f, opt_obj) {\n    asserts.assert(arr.length !\x3d null);\n    Array.prototype.forEach.call(arr, f, opt_obj);\n  } : function(arr, f, opt_obj) {\n    const l \x3d arr.length;\n    const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n    for (let i \x3d 0; i \x3c l; i++) {\n      if (i in arr2) {\n        f.call(opt_obj, arr2[i], i, arr);\n      }\n    }\n  };\n  exports.forEach \x3d forEach;\n  exports.forEachRight \x3d forEachRight;\n  const filter \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.filter) ? function(arr, f, opt_obj) {\n    asserts.assert(arr.length !\x3d null);\n    return Array.prototype.filter.call(arr, f, opt_obj);\n  } : function(arr, f, opt_obj) {\n    const l \x3d arr.length;\n    const res \x3d [];\n    let resLength \x3d 0;\n    const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n    for (let i \x3d 0; i \x3c l; i++) {\n      if (i in arr2) {\n        const val \x3d arr2[i];\n        if (f.call(opt_obj, val, i, arr)) {\n          res[resLength++] \x3d val;\n        }\n      }\n    }\n    return res;\n  };\n  exports.filter \x3d filter;\n  const map \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.map) ? function(arr, f, opt_obj) {\n    asserts.assert(arr.length !\x3d null);\n    return Array.prototype.map.call(arr, f, opt_obj);\n  } : function(arr, f, opt_obj) {\n    const l \x3d arr.length;\n    const res \x3d new Array(l);\n    const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n    for (let i \x3d 0; i \x3c l; i++) {\n      if (i in arr2) {\n        res[i] \x3d f.call(opt_obj, arr2[i], i, arr);\n      }\n    }\n    return res;\n  };\n  exports.map \x3d map;\n  const reduce \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduce) ? function(arr, f, val, opt_obj) {\n    asserts.assert(arr.length !\x3d null);\n    if (opt_obj) {\n      f \x3d goog.bind(f, opt_obj);\n    }\n    return Array.prototype.reduce.call(arr, f, val);\n  } : function(arr, f, val, opt_obj) {\n    let rval \x3d val;\n    forEach(arr, function(val, index) {\n      rval \x3d f.call(opt_obj, rval, val, index, arr);\n    });\n    return rval;\n  };\n  exports.reduce \x3d reduce;\n  const reduceRight \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduceRight) ? function(arr, f, val, opt_obj) {\n    asserts.assert(arr.length !\x3d null);\n    asserts.assert(f !\x3d null);\n    if (opt_obj) {\n      f \x3d goog.bind(f, opt_obj);\n    }\n    return Array.prototype.reduceRight.call(arr, f, val);\n  } : function(arr, f, val, opt_obj) {\n    let rval \x3d val;\n    forEachRight(arr, function(val, index) {\n      rval \x3d f.call(opt_obj, rval, val, index, arr);\n    });\n    return rval;\n  };\n  exports.reduceRight \x3d reduceRight;\n  const some \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.some) ? function(arr, f, opt_obj) {\n    asserts.assert(arr.length !\x3d null);\n    return Array.prototype.some.call(arr, f, opt_obj);\n  } : function(arr, f, opt_obj) {\n    const l \x3d arr.length;\n    const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n    for (let i \x3d 0; i \x3c l; i++) {\n      if (i in arr2 \x26\x26 f.call(opt_obj, arr2[i], i, arr)) {\n        return true;\n      }\n    }\n    return false;\n  };\n  exports.some \x3d some;\n  const every \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.every) ? function(arr, f, opt_obj) {\n    asserts.assert(arr.length !\x3d null);\n    return Array.prototype.every.call(arr, f, opt_obj);\n  } : function(arr, f, opt_obj) {\n    const l \x3d arr.length;\n    const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n    for (let i \x3d 0; i \x3c l; i++) {\n      if (i in arr2 \x26\x26 !f.call(opt_obj, arr2[i], i, arr)) {\n        return false;\n      }\n    }\n    return true;\n  };\n  exports.every \x3d every;\n  exports.count \x3d count;\n  exports.find \x3d find;\n  exports.findIndex \x3d findIndex;\n  exports.findRight \x3d findRight;\n  exports.findIndexRight \x3d findIndexRight;\n  exports.contains \x3d contains;\n  exports.isEmpty \x3d isEmpty;\n  exports.clear \x3d clear;\n  exports.insert \x3d insert;\n  exports.insertAt \x3d insertAt;\n  exports.insertArrayAt \x3d insertArrayAt;\n  exports.insertBefore \x3d insertBefore;\n  exports.remove \x3d remove;\n  exports.removeLast \x3d removeLast;\n  exports.removeAt \x3d removeAt;\n  exports.removeIf \x3d removeIf;\n  exports.removeAllIf \x3d removeAllIf;\n  exports.concat \x3d concat;\n  exports.join \x3d join;\n  exports.toArray \x3d toArray;\n  const clone \x3d toArray;\n  exports.clone \x3d clone;\n  exports.extend \x3d extend;\n  exports.splice \x3d splice;\n  exports.slice \x3d slice;\n  exports.removeDuplicates \x3d removeDuplicates;\n  exports.binarySearch \x3d binarySearch;\n  exports.binarySelect \x3d binarySelect;\n  exports.sort \x3d sort;\n  exports.stableSort \x3d stableSort;\n  exports.sortByKey \x3d sortByKey;\n  exports.sortObjectsByKey \x3d sortObjectsByKey;\n  exports.isSorted \x3d isSorted;\n  exports.equals \x3d equals;\n  exports.compare3 \x3d compare3;\n  exports.defaultCompare \x3d defaultCompare;\n  exports.inverseDefaultCompare \x3d inverseDefaultCompare;\n  exports.defaultCompareEquality \x3d defaultCompareEquality;\n  exports.binaryInsert \x3d binaryInsert;\n  exports.binaryRemove \x3d binaryRemove;\n  exports.bucket \x3d bucket;\n  exports.bucketToMap \x3d bucketToMap;\n  exports.toObject \x3d toObject;\n  exports.toMap \x3d toMap;\n  exports.range \x3d range;\n  exports.repeat \x3d repeat;\n  exports.flatten \x3d flatten;\n  exports.rotate \x3d rotate;\n  exports.moveItem \x3d moveItem;\n  exports.zip \x3d zip;\n  exports.shuffle \x3d shuffle;\n  exports.copyByIndex \x3d copyByIndex;\n  exports.concatMap \x3d concatMap;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.dom.tags.js", true, "goog.provide(\x22goog.dom.tags\x22);\ngoog.require(\x22goog.object\x22);\ngoog.dom.tags.VOID_TAGS_ \x3d goog.object.createSet(\x22area\x22, \x22base\x22, \x22br\x22, \x22col\x22, \x22command\x22, \x22embed\x22, \x22hr\x22, \x22img\x22, \x22input\x22, \x22keygen\x22, \x22link\x22, \x22meta\x22, \x22param\x22, \x22source\x22, \x22track\x22, \x22wbr\x22);\ngoog.dom.tags.isVoidTag \x3d function(tagName) {\n  return goog.dom.tags.VOID_TAGS_[tagName] \x3d\x3d\x3d true;\n};\n");
SHADOW_ENV.evalLoad("goog.html.safehtml.js", true, "goog.loadModule(function(exports) {\n  function getAttrNameAndValue(tagName, name, value) {\n    if (value instanceof Const) {\n      value \x3d Const.unwrap(value);\n    } else if (name.toLowerCase() \x3d\x3d \x22style\x22) {\n      if (SafeHtml.SUPPORT_STYLE_ATTRIBUTE) {\n        value \x3d getStyleValue(value);\n      } else {\n        throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? \x27Attribute \x22style\x22 not supported.\x27 : \x22\x22);\n      }\n    } else if (/^on/i.test(name)) {\n      throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Attribute \x22${name}` + \x27\x22 requires goog.string.Const value, \x22\x27 + value + \x27\x22 given.\x27 : \x22\x22);\n    } else if (name.toLowerCase() in URL_ATTRIBUTES) {\n      if (value instanceof TrustedResourceUrl) {\n        value \x3d TrustedResourceUrl.unwrap(value);\n      } else if (value instanceof SafeUrl) {\n        value \x3d SafeUrl.unwrap(value);\n      } else if (typeof value \x3d\x3d\x3d \x22string\x22) {\n        value \x3d SafeUrl.sanitize(value).getTypedStringValue();\n      } else {\n        throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Attribute \x22${name}\x22 on tag \x22${tagName}` + \x27\x22 requires goog.html.SafeUrl, goog.string.Const, or\x27 + \x27 string, value \x22\x27 + value + \x27\x22 given.\x27 : \x22\x22);\n      }\n    }\n    if (value.implementsGoogStringTypedString) {\n      value \x3d value.getTypedStringValue();\n    }\n    asserts.assert(typeof value \x3d\x3d\x3d \x22string\x22 || typeof value \x3d\x3d\x3d \x22number\x22, \x22String or number value expected, got \x22 + typeof value + \x22 with value: \x22 + value);\n    return `${name}\x3d\x22` + internal.htmlEscape(String(value)) + \x27\x22\x27;\n  }\n  function getStyleValue(value) {\n    if (!goog.isObject(value)) {\n      throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? \x27The \x22style\x22 attribute requires goog.html.SafeStyle or map \x27 + \x22of style properties, \x22 + typeof value + \x22 given: \x22 + value : \x22\x22);\n    }\n    if (!(value instanceof SafeStyle)) {\n      value \x3d SafeStyle.create(value);\n    }\n    return SafeStyle.unwrap(value);\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.html.SafeHtml\x22);\n  goog.module.declareLegacyNamespace();\n  const Const \x3d goog.require(\x22goog.string.Const\x22);\n  const SafeScript \x3d goog.require(\x22goog.html.SafeScript\x22);\n  const SafeStyle \x3d goog.require(\x22goog.html.SafeStyle\x22);\n  const SafeStyleSheet \x3d goog.require(\x22goog.html.SafeStyleSheet\x22);\n  const SafeUrl \x3d goog.require(\x22goog.html.SafeUrl\x22);\n  const TagName \x3d goog.require(\x22goog.dom.TagName\x22);\n  const TrustedResourceUrl \x3d goog.require(\x22goog.html.TrustedResourceUrl\x22);\n  const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n  const asserts \x3d goog.require(\x22goog.asserts\x22);\n  const browser \x3d goog.require(\x22goog.labs.userAgent.browser\x22);\n  const googArray \x3d goog.require(\x22goog.array\x22);\n  const googObject \x3d goog.require(\x22goog.object\x22);\n  const internal \x3d goog.require(\x22goog.string.internal\x22);\n  const tags \x3d goog.require(\x22goog.dom.tags\x22);\n  const trustedtypes \x3d goog.require(\x22goog.html.trustedtypes\x22);\n  const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n  class SafeHtml {\n    constructor(value, token) {\n      if (goog.DEBUG \x26\x26 token !\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE) {\n        throw Error(\x22SafeHtml is not meant to be built directly\x22);\n      }\n      this.privateDoNotAccessOrElseSafeHtmlWrappedValue_ \x3d value;\n      this.implementsGoogStringTypedString \x3d true;\n    }\n    getTypedStringValue() {\n      return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString();\n    }\n    toString() {\n      return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString();\n    }\n    static unwrap(safeHtml) {\n      return SafeHtml.unwrapTrustedHTML(safeHtml).toString();\n    }\n    static unwrapTrustedHTML(safeHtml) {\n      if (safeHtml instanceof SafeHtml \x26\x26 safeHtml.constructor \x3d\x3d\x3d SafeHtml) {\n        return safeHtml.privateDoNotAccessOrElseSafeHtmlWrappedValue_;\n      } else {\n        asserts.fail(`expected object of type SafeHtml, got \x27${safeHtml}\x27 of type ` + goog.typeOf(safeHtml));\n        return \x22type_error:SafeHtml\x22;\n      }\n    }\n    static htmlEscape(textOrHtml) {\n      if (textOrHtml instanceof SafeHtml) {\n        return textOrHtml;\n      }\n      const textIsObject \x3d typeof textOrHtml \x3d\x3d \x22object\x22;\n      let textAsString;\n      if (textIsObject \x26\x26 textOrHtml.implementsGoogStringTypedString) {\n        textAsString \x3d textOrHtml.getTypedStringValue();\n      } else {\n        textAsString \x3d String(textOrHtml);\n      }\n      return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(internal.htmlEscape(textAsString));\n    }\n    static htmlEscapePreservingNewlines(textOrHtml) {\n      if (textOrHtml instanceof SafeHtml) {\n        return textOrHtml;\n      }\n      const html \x3d SafeHtml.htmlEscape(textOrHtml);\n      return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(internal.newLineToBr(SafeHtml.unwrap(html)));\n    }\n    static htmlEscapePreservingNewlinesAndSpaces(textOrHtml) {\n      if (textOrHtml instanceof SafeHtml) {\n        return textOrHtml;\n      }\n      const html \x3d SafeHtml.htmlEscape(textOrHtml);\n      return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(internal.whitespaceEscape(SafeHtml.unwrap(html)));\n    }\n    static comment(text) {\n      return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\x22\\x3c!--\x22 + internal.htmlEscape(text) + \x22--\\x3e\x22);\n    }\n    static create(tagName, attributes \x3d undefined, content \x3d undefined) {\n      SafeHtml.verifyTagName(String(tagName));\n      return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(tagName), attributes, content);\n    }\n    static verifyTagName(tagName) {\n      if (!VALID_NAMES_IN_TAG.test(tagName)) {\n        throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Invalid tag name \x3c${tagName}\x3e.` : \x22\x22);\n      }\n      if (tagName.toUpperCase() in NOT_ALLOWED_TAG_NAMES) {\n        throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Tag name \x3c${tagName}\x3e is not allowed for SafeHtml.` : \x22\x22);\n      }\n    }\n    static createIframe(src \x3d undefined, srcdoc \x3d undefined, attributes \x3d undefined, content \x3d undefined) {\n      if (src) {\n        TrustedResourceUrl.unwrap(src);\n      }\n      const fixedAttributes \x3d {};\n      fixedAttributes[\x22src\x22] \x3d src || null;\n      fixedAttributes[\x22srcdoc\x22] \x3d srcdoc \x26\x26 SafeHtml.unwrap(srcdoc);\n      const defaultAttributes \x3d {\x22sandbox\x22:\x22\x22};\n      const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, defaultAttributes, attributes);\n      return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22iframe\x22, combinedAttrs, content);\n    }\n    static createSandboxIframe(src \x3d undefined, srcdoc \x3d undefined, attributes \x3d undefined, content \x3d undefined) {\n      if (!SafeHtml.canUseSandboxIframe()) {\n        throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? \x22The browser does not support sandboxed iframes.\x22 : \x22\x22);\n      }\n      const fixedAttributes \x3d {};\n      if (src) {\n        fixedAttributes[\x22src\x22] \x3d SafeUrl.unwrap(SafeUrl.sanitize(src));\n      } else {\n        fixedAttributes[\x22src\x22] \x3d null;\n      }\n      fixedAttributes[\x22srcdoc\x22] \x3d srcdoc || null;\n      fixedAttributes[\x22sandbox\x22] \x3d \x22\x22;\n      const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, {}, attributes);\n      return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22iframe\x22, combinedAttrs, content);\n    }\n    static canUseSandboxIframe() {\n      return goog.global[\x22HTMLIFrameElement\x22] \x26\x26 \x22sandbox\x22 in goog.global[\x22HTMLIFrameElement\x22].prototype;\n    }\n    static createScriptSrc(src, attributes \x3d undefined) {\n      TrustedResourceUrl.unwrap(src);\n      const fixedAttributes \x3d {\x22src\x22:src};\n      const defaultAttributes \x3d {};\n      const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, defaultAttributes, attributes);\n      return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22script\x22, combinedAttrs);\n    }\n    static createScript(script, attributes \x3d undefined) {\n      for (let attr in attributes) {\n        if (Object.prototype.hasOwnProperty.call(attributes, attr)) {\n          const attrLower \x3d attr.toLowerCase();\n          if (attrLower \x3d\x3d \x22language\x22 || attrLower \x3d\x3d \x22src\x22 || attrLower \x3d\x3d \x22text\x22) {\n            throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Cannot set \x22${attrLower}\x22 attribute` : \x22\x22);\n          }\n        }\n      }\n      let content \x3d \x22\x22;\n      script \x3d googArray.concat(script);\n      for (let i \x3d 0; i \x3c script.length; i++) {\n        content \x3d content + SafeScript.unwrap(script[i]);\n      }\n      const htmlContent \x3d SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(content);\n      return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22script\x22, attributes, htmlContent);\n    }\n    static createStyle(styleSheet, attributes \x3d undefined) {\n      const fixedAttributes \x3d {\x22type\x22:\x22text/css\x22};\n      const defaultAttributes \x3d {};\n      const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, defaultAttributes, attributes);\n      let content \x3d \x22\x22;\n      styleSheet \x3d googArray.concat(styleSheet);\n      for (let i \x3d 0; i \x3c styleSheet.length; i++) {\n        content \x3d content + SafeStyleSheet.unwrap(styleSheet[i]);\n      }\n      const htmlContent \x3d SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(content);\n      return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22style\x22, combinedAttrs, htmlContent);\n    }\n    static createMetaRefresh(url, secs \x3d undefined) {\n      let unwrappedUrl \x3d SafeUrl.unwrap(SafeUrl.sanitize(url));\n      if (browser.isIE() || browser.isEdge()) {\n        if (internal.contains(unwrappedUrl, \x22;\x22)) {\n          unwrappedUrl \x3d \x22\x27\x22 + unwrappedUrl.replace(/\x27/g, \x22%27\x22) + \x22\x27\x22;\n        }\n      }\n      const attributes \x3d {\x22http-equiv\x22:\x22refresh\x22, \x22content\x22:(secs || 0) + \x22; url\\x3d\x22 + unwrappedUrl};\n      return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22meta\x22, attributes);\n    }\n    static join(separator, parts) {\n      const separatorHtml \x3d SafeHtml.htmlEscape(separator);\n      const content \x3d [];\n      const addArgument \x3d argument \x3d\x3e {\n        if (Array.isArray(argument)) {\n          argument.forEach(addArgument);\n        } else {\n          const html \x3d SafeHtml.htmlEscape(argument);\n          content.push(SafeHtml.unwrap(html));\n        }\n      };\n      parts.forEach(addArgument);\n      return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(content.join(SafeHtml.unwrap(separatorHtml)));\n    }\n    static concat(var_args) {\n      return SafeHtml.join(SafeHtml.EMPTY, Array.prototype.slice.call(arguments));\n    }\n    static createSafeHtmlSecurityPrivateDoNotAccessOrElse(html) {\n      const noinlineHtml \x3d html;\n      const policy \x3d trustedtypes.getPolicyPrivateDoNotAccessOrElse();\n      const trustedHtml \x3d policy ? policy.createHTML(noinlineHtml) : noinlineHtml;\n      return new SafeHtml(trustedHtml, CONSTRUCTOR_TOKEN_PRIVATE);\n    }\n    static createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(tagName, attributes \x3d undefined, content \x3d undefined) {\n      let result \x3d `\x3c${tagName}`;\n      result \x3d result + SafeHtml.stringifyAttributes(tagName, attributes);\n      if (content \x3d\x3d null) {\n        content \x3d [];\n      } else if (!Array.isArray(content)) {\n        content \x3d [content];\n      }\n      if (tags.isVoidTag(tagName.toLowerCase())) {\n        asserts.assert(!content.length, `Void tag \x3c${tagName}\x3e does not allow content.`);\n        result \x3d result + \x22\\x3e\x22;\n      } else {\n        const html \x3d SafeHtml.concat(content);\n        result \x3d result + (\x22\\x3e\x22 + SafeHtml.unwrap(html) + \x22\\x3c/\x22 + tagName + \x22\\x3e\x22);\n      }\n      return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(result);\n    }\n    static stringifyAttributes(tagName, attributes \x3d undefined) {\n      let result \x3d \x22\x22;\n      if (attributes) {\n        for (let name in attributes) {\n          if (Object.prototype.hasOwnProperty.call(attributes, name)) {\n            if (!VALID_NAMES_IN_TAG.test(name)) {\n              throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Invalid attribute name \x22${name}\x22.` : \x22\x22);\n            }\n            const value \x3d attributes[name];\n            if (value \x3d\x3d null) {\n              continue;\n            }\n            result \x3d result + (\x22 \x22 + getAttrNameAndValue(tagName, name, value));\n          }\n        }\n      }\n      return result;\n    }\n    static combineAttributes(fixedAttributes, defaultAttributes, attributes \x3d undefined) {\n      const combinedAttributes \x3d {};\n      for (const name in fixedAttributes) {\n        if (Object.prototype.hasOwnProperty.call(fixedAttributes, name)) {\n          asserts.assert(name.toLowerCase() \x3d\x3d name, \x22Must be lower case\x22);\n          combinedAttributes[name] \x3d fixedAttributes[name];\n        }\n      }\n      for (const name in defaultAttributes) {\n        if (Object.prototype.hasOwnProperty.call(defaultAttributes, name)) {\n          asserts.assert(name.toLowerCase() \x3d\x3d name, \x22Must be lower case\x22);\n          combinedAttributes[name] \x3d defaultAttributes[name];\n        }\n      }\n      if (attributes) {\n        for (const name in attributes) {\n          if (Object.prototype.hasOwnProperty.call(attributes, name)) {\n            const nameLower \x3d name.toLowerCase();\n            if (nameLower in fixedAttributes) {\n              throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Cannot override \x22${nameLower}\x22 attribute, got \x22` + name + \x27\x22 with value \x22\x27 + attributes[name] + \x27\x22\x27 : \x22\x22);\n            }\n            if (nameLower in defaultAttributes) {\n              delete combinedAttributes[nameLower];\n            }\n            combinedAttributes[name] \x3d attributes[name];\n          }\n        }\n      }\n      return combinedAttributes;\n    }\n  }\n  SafeHtml.ENABLE_ERROR_MESSAGES \x3d goog.define(\x22goog.html.SafeHtml.ENABLE_ERROR_MESSAGES\x22, goog.DEBUG);\n  SafeHtml.SUPPORT_STYLE_ATTRIBUTE \x3d goog.define(\x22goog.html.SafeHtml.SUPPORT_STYLE_ATTRIBUTE\x22, true);\n  SafeHtml.TextOrHtml_;\n  SafeHtml.from \x3d SafeHtml.htmlEscape;\n  const VALID_NAMES_IN_TAG \x3d /^[a-zA-Z0-9-]+$/;\n  const URL_ATTRIBUTES \x3d googObject.createSet(\x22action\x22, \x22cite\x22, \x22data\x22, \x22formaction\x22, \x22href\x22, \x22manifest\x22, \x22poster\x22, \x22src\x22);\n  const NOT_ALLOWED_TAG_NAMES \x3d googObject.createSet(TagName.APPLET, TagName.BASE, TagName.EMBED, TagName.IFRAME, TagName.LINK, TagName.MATH, TagName.META, TagName.OBJECT, TagName.SCRIPT, TagName.STYLE, TagName.SVG, TagName.TEMPLATE);\n  SafeHtml.AttributeValue;\n  SafeHtml.DOCTYPE_HTML \x3d {valueOf:function() {\n    return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\x22\\x3c!DOCTYPE html\\x3e\x22);\n  }}.valueOf();\n  SafeHtml.EMPTY \x3d new SafeHtml(goog.global.trustedTypes \x26\x26 goog.global.trustedTypes.emptyHTML || \x22\x22, CONSTRUCTOR_TOKEN_PRIVATE);\n  SafeHtml.BR \x3d {valueOf:function() {\n    return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\x22\\x3cbr\\x3e\x22);\n  }}.valueOf();\n  exports \x3d SafeHtml;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.html.uncheckedconversions.js", true, "goog.provide(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.SafeScript\x22);\ngoog.require(\x22goog.html.SafeStyle\x22);\ngoog.require(\x22goog.html.SafeStyleSheet\x22);\ngoog.require(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract \x3d function(justification, html) {\n  goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n  goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n  return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(html);\n};\ngoog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract \x3d function(justification, script) {\n  goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n  goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n  return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(script);\n};\ngoog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract \x3d function(justification, style) {\n  goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n  goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n  return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(style);\n};\ngoog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract \x3d function(justification, styleSheet) {\n  goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n  goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n  return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheet);\n};\ngoog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract \x3d function(justification, url) {\n  goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n  goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n  return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract \x3d function(justification, url) {\n  goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n  goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n  return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(url);\n};\n");
SHADOW_ENV.evalLoad("goog.dom.safe.js", true, "goog.provide(\x22goog.dom.safe\x22);\ngoog.provide(\x22goog.dom.safe.InsertAdjacentHtmlPosition\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.asserts.dom\x22);\ngoog.require(\x22goog.dom.asserts\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.SafeScript\x22);\ngoog.require(\x22goog.html.SafeStyle\x22);\ngoog.require(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.dom.safe.InsertAdjacentHtmlPosition \x3d {AFTERBEGIN:\x22afterbegin\x22, AFTEREND:\x22afterend\x22, BEFOREBEGIN:\x22beforebegin\x22, BEFOREEND:\x22beforeend\x22};\ngoog.dom.safe.insertAdjacentHtml \x3d function(node, position, html) {\n  node.insertAdjacentHTML(position, goog.html.SafeHtml.unwrapTrustedHTML(html));\n};\ngoog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_ \x3d {\x22MATH\x22:true, \x22SCRIPT\x22:true, \x22STYLE\x22:true, \x22SVG\x22:true, \x22TEMPLATE\x22:true};\ngoog.dom.safe.isInnerHtmlCleanupRecursive_ \x3d goog.functions.cacheReturnValue(function() {\n  if (goog.DEBUG \x26\x26 typeof document \x3d\x3d\x3d \x22undefined\x22) {\n    return false;\n  }\n  var div \x3d document.createElement(\x22div\x22);\n  var childDiv \x3d document.createElement(\x22div\x22);\n  childDiv.appendChild(document.createElement(\x22div\x22));\n  div.appendChild(childDiv);\n  if (goog.DEBUG \x26\x26 !div.firstChild) {\n    return false;\n  }\n  var innerChild \x3d div.firstChild.firstChild;\n  div.innerHTML \x3d goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY);\n  return !innerChild.parentElement;\n});\ngoog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse \x3d function(elem, html) {\n  if (goog.dom.safe.isInnerHtmlCleanupRecursive_()) {\n    for (; elem.lastChild;) {\n      elem.removeChild(elem.lastChild);\n    }\n  }\n  elem.innerHTML \x3d goog.html.SafeHtml.unwrapTrustedHTML(html);\n};\ngoog.dom.safe.setInnerHtml \x3d function(elem, html) {\n  if (goog.asserts.ENABLE_ASSERTS \x26\x26 elem.tagName) {\n    var tagName \x3d elem.tagName.toUpperCase();\n    if (goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[tagName]) {\n      throw new Error(\x22goog.dom.safe.setInnerHtml cannot be used to set content of \x22 + elem.tagName + \x22.\x22);\n    }\n  }\n  goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(elem, html);\n};\ngoog.dom.safe.setInnerHtmlFromConstant \x3d function(element, constHtml) {\n  goog.dom.safe.setInnerHtml(element, goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Constant HTML to be immediatelly used.\x22), goog.string.Const.unwrap(constHtml)));\n};\ngoog.dom.safe.setOuterHtml \x3d function(elem, html) {\n  elem.outerHTML \x3d goog.html.SafeHtml.unwrapTrustedHTML(html);\n};\ngoog.dom.safe.setFormElementAction \x3d function(form, url) {\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  goog.asserts.dom.assertIsHtmlFormElement(form).action \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setButtonFormAction \x3d function(button, url) {\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  goog.asserts.dom.assertIsHtmlButtonElement(button).formAction \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setInputFormAction \x3d function(input, url) {\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  goog.asserts.dom.assertIsHtmlInputElement(input).formAction \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setStyle \x3d function(elem, style) {\n  elem.style.cssText \x3d goog.html.SafeStyle.unwrap(style);\n};\ngoog.dom.safe.documentWrite \x3d function(doc, html) {\n  doc.write(goog.html.SafeHtml.unwrapTrustedHTML(html));\n};\ngoog.dom.safe.setAnchorHref \x3d function(anchor, url) {\n  goog.asserts.dom.assertIsHtmlAnchorElement(anchor);\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  anchor.href \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setAudioSrc \x3d function(audioElement, url) {\n  goog.asserts.dom.assertIsHtmlAudioElement(audioElement);\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  audioElement.src \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setVideoSrc \x3d function(videoElement, url) {\n  goog.asserts.dom.assertIsHtmlVideoElement(videoElement);\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  videoElement.src \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setEmbedSrc \x3d function(embed, url) {\n  goog.asserts.dom.assertIsHtmlEmbedElement(embed);\n  embed.src \x3d goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(url);\n};\ngoog.dom.safe.setFrameSrc \x3d function(frame, url) {\n  goog.asserts.dom.assertIsHtmlFrameElement(frame);\n  frame.src \x3d goog.html.TrustedResourceUrl.unwrap(url);\n};\ngoog.dom.safe.setIframeSrc \x3d function(iframe, url) {\n  goog.asserts.dom.assertIsHtmlIFrameElement(iframe);\n  iframe.src \x3d goog.html.TrustedResourceUrl.unwrap(url);\n};\ngoog.dom.safe.setIframeSrcdoc \x3d function(iframe, html) {\n  goog.asserts.dom.assertIsHtmlIFrameElement(iframe);\n  iframe.srcdoc \x3d goog.html.SafeHtml.unwrapTrustedHTML(html);\n};\ngoog.dom.safe.setLinkHrefAndRel \x3d function(link, url, rel) {\n  goog.asserts.dom.assertIsHtmlLinkElement(link);\n  link.rel \x3d rel;\n  if (goog.string.internal.caseInsensitiveContains(rel, \x22stylesheet\x22)) {\n    goog.asserts.assert(url instanceof goog.html.TrustedResourceUrl, \x27URL must be TrustedResourceUrl because \x22rel\x22 contains \x22stylesheet\x22\x27);\n    link.href \x3d goog.html.TrustedResourceUrl.unwrap(url);\n    const win \x3d link.ownerDocument \x26\x26 link.ownerDocument.defaultView;\n    const nonce \x3d goog.dom.safe.getStyleNonce(win);\n    if (nonce) {\n      link.setAttribute(\x22nonce\x22, nonce);\n    }\n  } else if (url instanceof goog.html.TrustedResourceUrl) {\n    link.href \x3d goog.html.TrustedResourceUrl.unwrap(url);\n  } else if (url instanceof goog.html.SafeUrl) {\n    link.href \x3d goog.html.SafeUrl.unwrap(url);\n  } else {\n    link.href \x3d goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url));\n  }\n};\ngoog.dom.safe.setObjectData \x3d function(object, url) {\n  goog.asserts.dom.assertIsHtmlObjectElement(object);\n  object.data \x3d goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(url);\n};\ngoog.dom.safe.setScriptSrc \x3d function(script, url) {\n  goog.asserts.dom.assertIsHtmlScriptElement(script);\n  goog.dom.safe.setNonceForScriptElement_(script);\n  script.src \x3d goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(url);\n};\ngoog.dom.safe.setScriptContent \x3d function(script, content) {\n  goog.asserts.dom.assertIsHtmlScriptElement(script);\n  goog.dom.safe.setNonceForScriptElement_(script);\n  script.textContent \x3d goog.html.SafeScript.unwrapTrustedScript(content);\n};\ngoog.dom.safe.setNonceForScriptElement_ \x3d function(script) {\n  var win \x3d script.ownerDocument \x26\x26 script.ownerDocument.defaultView;\n  const nonce \x3d goog.dom.safe.getScriptNonce(win);\n  if (nonce) {\n    script.setAttribute(\x22nonce\x22, nonce);\n  }\n};\ngoog.dom.safe.setLocationHref \x3d function(loc, url) {\n  goog.dom.asserts.assertIsLocation(loc);\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  loc.href \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.assignLocation \x3d function(loc, url) {\n  goog.dom.asserts.assertIsLocation(loc);\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  loc.assign(goog.html.SafeUrl.unwrap(safeUrl));\n};\ngoog.dom.safe.replaceLocation \x3d function(loc, url) {\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  loc.replace(goog.html.SafeUrl.unwrap(safeUrl));\n};\ngoog.dom.safe.openInWindow \x3d function(url, opt_openerWin, opt_name, opt_specs) {\n  var safeUrl;\n  if (url instanceof goog.html.SafeUrl) {\n    safeUrl \x3d url;\n  } else {\n    safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n  }\n  var win \x3d opt_openerWin || goog.global;\n  var name \x3d opt_name instanceof goog.string.Const ? goog.string.Const.unwrap(opt_name) : opt_name || \x22\x22;\n  if (opt_specs !\x3d\x3d undefined) {\n    return win.open(goog.html.SafeUrl.unwrap(safeUrl), name, opt_specs);\n  } else {\n    return win.open(goog.html.SafeUrl.unwrap(safeUrl), name);\n  }\n};\ngoog.dom.safe.parseFromStringHtml \x3d function(parser, html) {\n  return goog.dom.safe.parseFromString(parser, html, \x22text/html\x22);\n};\ngoog.dom.safe.parseFromString \x3d function(parser, content, type) {\n  return parser.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(content), type);\n};\ngoog.dom.safe.createImageFromBlob \x3d function(blob) {\n  if (!/^image\\/.*/g.test(blob.type)) {\n    throw new Error(\x22goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.\x22);\n  }\n  var objectUrl \x3d goog.global.URL.createObjectURL(blob);\n  var image \x3d new goog.global.Image();\n  image.onload \x3d function() {\n    goog.global.URL.revokeObjectURL(objectUrl);\n  };\n  image.src \x3d objectUrl;\n  return image;\n};\ngoog.dom.safe.createContextualFragment \x3d function(range, html) {\n  return range.createContextualFragment(goog.html.SafeHtml.unwrapTrustedHTML(html));\n};\ngoog.dom.safe.getScriptNonce \x3d function(opt_window) {\n  return goog.dom.safe.getNonce_(\x22script[nonce]\x22, opt_window);\n};\ngoog.dom.safe.getStyleNonce \x3d function(opt_window) {\n  return goog.dom.safe.getNonce_(\x27style[nonce],link[rel\\x3d\x22stylesheet\x22][nonce]\x27, opt_window);\n};\ngoog.dom.safe.NONCE_PATTERN_ \x3d /^[\\w+/_-]+[\x3d]{0,2}$/;\ngoog.dom.safe.getNonce_ \x3d function(selector, win) {\n  const doc \x3d (win || goog.global).document;\n  if (!doc.querySelector) {\n    return \x22\x22;\n  }\n  let el \x3d doc.querySelector(selector);\n  if (el) {\n    const nonce \x3d el[\x22nonce\x22] || el.getAttribute(\x22nonce\x22);\n    if (nonce \x26\x26 goog.dom.safe.NONCE_PATTERN_.test(nonce)) {\n      return nonce;\n    }\n  }\n  return \x22\x22;\n};\n");
SHADOW_ENV.evalLoad("goog.string.string.js", true, "goog.provide(\x22goog.string\x22);\ngoog.provide(\x22goog.string.Unicode\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.string.DETECT_DOUBLE_ESCAPING \x3d goog.define(\x22goog.string.DETECT_DOUBLE_ESCAPING\x22, false);\ngoog.string.FORCE_NON_DOM_HTML_UNESCAPING \x3d goog.define(\x22goog.string.FORCE_NON_DOM_HTML_UNESCAPING\x22, false);\ngoog.string.Unicode \x3d {NBSP:\x22\xa0\x22, ZERO_WIDTH_SPACE:\x22\u200b\x22};\ngoog.string.startsWith \x3d goog.string.internal.startsWith;\ngoog.string.endsWith \x3d goog.string.internal.endsWith;\ngoog.string.caseInsensitiveStartsWith \x3d goog.string.internal.caseInsensitiveStartsWith;\ngoog.string.caseInsensitiveEndsWith \x3d goog.string.internal.caseInsensitiveEndsWith;\ngoog.string.caseInsensitiveEquals \x3d goog.string.internal.caseInsensitiveEquals;\ngoog.string.subs \x3d function(str, var_args) {\n  const splitParts \x3d str.split(\x22%s\x22);\n  let returnString \x3d \x22\x22;\n  const subsArguments \x3d Array.prototype.slice.call(arguments, 1);\n  for (; subsArguments.length \x26\x26 splitParts.length \x3e 1;) {\n    returnString \x3d returnString + (splitParts.shift() + subsArguments.shift());\n  }\n  return returnString + splitParts.join(\x22%s\x22);\n};\ngoog.string.collapseWhitespace \x3d function(str) {\n  return str.replace(/[\\s\\xa0]+/g, \x22 \x22).replace(/^\\s+|\\s+$/g, \x22\x22);\n};\ngoog.string.isEmptyOrWhitespace \x3d goog.string.internal.isEmptyOrWhitespace;\ngoog.string.isEmptyString \x3d function(str) {\n  return str.length \x3d\x3d 0;\n};\ngoog.string.isEmpty \x3d goog.string.isEmptyOrWhitespace;\ngoog.string.isEmptyOrWhitespaceSafe \x3d function(str) {\n  return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(str));\n};\ngoog.string.isEmptySafe \x3d goog.string.isEmptyOrWhitespaceSafe;\ngoog.string.isBreakingWhitespace \x3d function(str) {\n  return !/[^\\t\\n\\r ]/.test(str);\n};\ngoog.string.isAlpha \x3d function(str) {\n  return !/[^a-zA-Z]/.test(str);\n};\ngoog.string.isNumeric \x3d function(str) {\n  return !/[^0-9]/.test(str);\n};\ngoog.string.isAlphaNumeric \x3d function(str) {\n  return !/[^a-zA-Z0-9]/.test(str);\n};\ngoog.string.isSpace \x3d function(ch) {\n  return ch \x3d\x3d \x22 \x22;\n};\ngoog.string.isUnicodeChar \x3d function(ch) {\n  return ch.length \x3d\x3d 1 \x26\x26 ch \x3e\x3d \x22 \x22 \x26\x26 ch \x3c\x3d \x22~\x22 || ch \x3e\x3d \x22\x80\x22 \x26\x26 ch \x3c\x3d \x22\ufffd\x22;\n};\ngoog.string.stripNewlines \x3d function(str) {\n  return str.replace(/(\\r\\n|\\r|\\n)+/g, \x22 \x22);\n};\ngoog.string.canonicalizeNewlines \x3d function(str) {\n  return str.replace(/(\\r\\n|\\r|\\n)/g, \x22\\n\x22);\n};\ngoog.string.normalizeWhitespace \x3d function(str) {\n  return str.replace(/\\xa0|\\s/g, \x22 \x22);\n};\ngoog.string.normalizeSpaces \x3d function(str) {\n  return str.replace(/\\xa0|[ \\t]+/g, \x22 \x22);\n};\ngoog.string.collapseBreakingSpaces \x3d function(str) {\n  return str.replace(/[\\t\\r\\n ]+/g, \x22 \x22).replace(/^[\\t\\r\\n ]+|[\\t\\r\\n ]+$/g, \x22\x22);\n};\ngoog.string.trim \x3d goog.string.internal.trim;\ngoog.string.trimLeft \x3d function(str) {\n  return str.replace(/^[\\s\\xa0]+/, \x22\x22);\n};\ngoog.string.trimRight \x3d function(str) {\n  return str.replace(/[\\s\\xa0]+$/, \x22\x22);\n};\ngoog.string.caseInsensitiveCompare \x3d goog.string.internal.caseInsensitiveCompare;\ngoog.string.numberAwareCompare_ \x3d function(str1, str2, tokenizerRegExp) {\n  if (str1 \x3d\x3d str2) {\n    return 0;\n  }\n  if (!str1) {\n    return -1;\n  }\n  if (!str2) {\n    return 1;\n  }\n  const tokens1 \x3d str1.toLowerCase().match(tokenizerRegExp);\n  const tokens2 \x3d str2.toLowerCase().match(tokenizerRegExp);\n  const count \x3d Math.min(tokens1.length, tokens2.length);\n  for (let i \x3d 0; i \x3c count; i++) {\n    const a \x3d tokens1[i];\n    const b \x3d tokens2[i];\n    if (a !\x3d b) {\n      const num1 \x3d parseInt(a, 10);\n      if (!isNaN(num1)) {\n        const num2 \x3d parseInt(b, 10);\n        if (!isNaN(num2) \x26\x26 num1 - num2) {\n          return num1 - num2;\n        }\n      }\n      return a \x3c b ? -1 : 1;\n    }\n  }\n  if (tokens1.length !\x3d tokens2.length) {\n    return tokens1.length - tokens2.length;\n  }\n  return str1 \x3c str2 ? -1 : 1;\n};\ngoog.string.intAwareCompare \x3d function(str1, str2) {\n  return goog.string.numberAwareCompare_(str1, str2, /\\d+|\\D+/g);\n};\ngoog.string.floatAwareCompare \x3d function(str1, str2) {\n  return goog.string.numberAwareCompare_(str1, str2, /\\d+|\\.\\d+|\\D+/g);\n};\ngoog.string.numerateCompare \x3d goog.string.floatAwareCompare;\ngoog.string.urlEncode \x3d function(str) {\n  return encodeURIComponent(String(str));\n};\ngoog.string.urlDecode \x3d function(str) {\n  return decodeURIComponent(str.replace(/\\+/g, \x22 \x22));\n};\ngoog.string.newLineToBr \x3d goog.string.internal.newLineToBr;\ngoog.string.htmlEscape \x3d function(str, opt_isLikelyToContainHtmlChars) {\n  str \x3d goog.string.internal.htmlEscape(str, opt_isLikelyToContainHtmlChars);\n  if (goog.string.DETECT_DOUBLE_ESCAPING) {\n    str \x3d str.replace(goog.string.E_RE_, \x22\\x26#101;\x22);\n  }\n  return str;\n};\ngoog.string.E_RE_ \x3d /e/g;\ngoog.string.unescapeEntities \x3d function(str) {\n  if (goog.string.contains(str, \x22\\x26\x22)) {\n    if (!goog.string.FORCE_NON_DOM_HTML_UNESCAPING \x26\x26 \x22document\x22 in goog.global) {\n      return goog.string.unescapeEntitiesUsingDom_(str);\n    } else {\n      return goog.string.unescapePureXmlEntities_(str);\n    }\n  }\n  return str;\n};\ngoog.string.unescapeEntitiesWithDocument \x3d function(str, document) {\n  if (goog.string.contains(str, \x22\\x26\x22)) {\n    return goog.string.unescapeEntitiesUsingDom_(str, document);\n  }\n  return str;\n};\ngoog.string.unescapeEntitiesUsingDom_ \x3d function(str, opt_document) {\n  const seen \x3d {\x22\\x26amp;\x22:\x22\\x26\x22, \x22\\x26lt;\x22:\x22\\x3c\x22, \x22\\x26gt;\x22:\x22\\x3e\x22, \x22\\x26quot;\x22:\x27\x22\x27};\n  let div;\n  if (opt_document) {\n    div \x3d opt_document.createElement(\x22div\x22);\n  } else {\n    div \x3d goog.global.document.createElement(\x22div\x22);\n  }\n  return str.replace(goog.string.HTML_ENTITY_PATTERN_, function(s, entity) {\n    let value \x3d seen[s];\n    if (value) {\n      return value;\n    }\n    if (entity.charAt(0) \x3d\x3d \x22#\x22) {\n      const n \x3d Number(\x220\x22 + entity.slice(1));\n      if (!isNaN(n)) {\n        value \x3d String.fromCharCode(n);\n      }\n    }\n    if (!value) {\n      goog.dom.safe.setInnerHtml(div, goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Single HTML entity.\x22), s + \x22 \x22));\n      value \x3d div.firstChild.nodeValue.slice(0, -1);\n    }\n    return seen[s] \x3d value;\n  });\n};\ngoog.string.unescapePureXmlEntities_ \x3d function(str) {\n  return str.replace(/\x26([^;]+);/g, function(s, entity) {\n    switch(entity) {\n      case \x22amp\x22:\n        return \x22\\x26\x22;\n      case \x22lt\x22:\n        return \x22\\x3c\x22;\n      case \x22gt\x22:\n        return \x22\\x3e\x22;\n      case \x22quot\x22:\n        return \x27\x22\x27;\n      default:\n        if (entity.charAt(0) \x3d\x3d \x22#\x22) {\n          const n \x3d Number(\x220\x22 + entity.slice(1));\n          if (!isNaN(n)) {\n            return String.fromCharCode(n);\n          }\n        }\n        return s;\n    }\n  });\n};\ngoog.string.HTML_ENTITY_PATTERN_ \x3d /\x26([^;\\s\x3c\x26]+);?/g;\ngoog.string.whitespaceEscape \x3d function(str, opt_xml) {\n  return goog.string.newLineToBr(str.replace(/  /g, \x22 \\x26#160;\x22), opt_xml);\n};\ngoog.string.preserveSpaces \x3d function(str) {\n  return str.replace(/(^|[\\n ]) /g, \x22$1\x22 + goog.string.Unicode.NBSP);\n};\ngoog.string.stripQuotes \x3d function(str, quoteChars) {\n  const length \x3d quoteChars.length;\n  for (let i \x3d 0; i \x3c length; i++) {\n    const quoteChar \x3d length \x3d\x3d 1 ? quoteChars : quoteChars.charAt(i);\n    if (str.charAt(0) \x3d\x3d quoteChar \x26\x26 str.charAt(str.length - 1) \x3d\x3d quoteChar) {\n      return str.substring(1, str.length - 1);\n    }\n  }\n  return str;\n};\ngoog.string.truncate \x3d function(str, chars, opt_protectEscapedCharacters) {\n  if (opt_protectEscapedCharacters) {\n    str \x3d goog.string.unescapeEntities(str);\n  }\n  if (str.length \x3e chars) {\n    str \x3d str.substring(0, chars - 3) + \x22...\x22;\n  }\n  if (opt_protectEscapedCharacters) {\n    str \x3d goog.string.htmlEscape(str);\n  }\n  return str;\n};\ngoog.string.truncateMiddle \x3d function(str, chars, opt_protectEscapedCharacters, opt_trailingChars) {\n  if (opt_protectEscapedCharacters) {\n    str \x3d goog.string.unescapeEntities(str);\n  }\n  if (opt_trailingChars \x26\x26 str.length \x3e chars) {\n    if (opt_trailingChars \x3e chars) {\n      opt_trailingChars \x3d chars;\n    }\n    const endPoint \x3d str.length - opt_trailingChars;\n    const startPoint \x3d chars - opt_trailingChars;\n    str \x3d str.substring(0, startPoint) + \x22...\x22 + str.substring(endPoint);\n  } else if (str.length \x3e chars) {\n    let half \x3d Math.floor(chars / 2);\n    const endPos \x3d str.length - half;\n    half \x3d half + chars % 2;\n    str \x3d str.substring(0, half) + \x22...\x22 + str.substring(endPos);\n  }\n  if (opt_protectEscapedCharacters) {\n    str \x3d goog.string.htmlEscape(str);\n  }\n  return str;\n};\ngoog.string.specialEscapeChars_ \x3d {\x22\\x00\x22:\x22\\\\0\x22, \x22\\b\x22:\x22\\\\b\x22, \x22\\f\x22:\x22\\\\f\x22, \x22\\n\x22:\x22\\\\n\x22, \x22\\r\x22:\x22\\\\r\x22, \x22\\t\x22:\x22\\\\t\x22, \x22\\v\x22:\x22\\\\x0B\x22, \x27\x22\x27:\x27\\\\\x22\x27, \x22\\\\\x22:\x22\\\\\\\\\x22, \x22\\x3c\x22:\x22\\\\u003C\x22};\ngoog.string.jsEscapeCache_ \x3d {\x22\x27\x22:\x22\\\\\x27\x22};\ngoog.string.quote \x3d function(s) {\n  s \x3d String(s);\n  const sb \x3d [\x27\x22\x27];\n  for (let i \x3d 0; i \x3c s.length; i++) {\n    const ch \x3d s.charAt(i);\n    const cc \x3d ch.charCodeAt(0);\n    sb[i + 1] \x3d goog.string.specialEscapeChars_[ch] || (cc \x3e 31 \x26\x26 cc \x3c 127 ? ch : goog.string.escapeChar(ch));\n  }\n  sb.push(\x27\x22\x27);\n  return sb.join(\x22\x22);\n};\ngoog.string.escapeString \x3d function(str) {\n  const sb \x3d [];\n  for (let i \x3d 0; i \x3c str.length; i++) {\n    sb[i] \x3d goog.string.escapeChar(str.charAt(i));\n  }\n  return sb.join(\x22\x22);\n};\ngoog.string.escapeChar \x3d function(c) {\n  if (c in goog.string.jsEscapeCache_) {\n    return goog.string.jsEscapeCache_[c];\n  }\n  if (c in goog.string.specialEscapeChars_) {\n    return goog.string.jsEscapeCache_[c] \x3d goog.string.specialEscapeChars_[c];\n  }\n  let rv \x3d c;\n  const cc \x3d c.charCodeAt(0);\n  if (cc \x3e 31 \x26\x26 cc \x3c 127) {\n    rv \x3d c;\n  } else {\n    if (cc \x3c 256) {\n      rv \x3d \x22\\\\x\x22;\n      if (cc \x3c 16 || cc \x3e 256) {\n        rv \x3d rv + \x220\x22;\n      }\n    } else {\n      rv \x3d \x22\\\\u\x22;\n      if (cc \x3c 4096) {\n        rv \x3d rv + \x220\x22;\n      }\n    }\n    rv \x3d rv + cc.toString(16).toUpperCase();\n  }\n  return goog.string.jsEscapeCache_[c] \x3d rv;\n};\ngoog.string.contains \x3d goog.string.internal.contains;\ngoog.string.caseInsensitiveContains \x3d goog.string.internal.caseInsensitiveContains;\ngoog.string.countOf \x3d function(s, ss) {\n  return s \x26\x26 ss ? s.split(ss).length - 1 : 0;\n};\ngoog.string.removeAt \x3d function(s, index, stringLength) {\n  let resultStr \x3d s;\n  if (index \x3e\x3d 0 \x26\x26 index \x3c s.length \x26\x26 stringLength \x3e 0) {\n    resultStr \x3d s.slice(0, index) + s.slice(index + stringLength);\n  }\n  return resultStr;\n};\ngoog.string.remove \x3d function(str, substr) {\n  return str.replace(substr, \x22\x22);\n};\ngoog.string.removeAll \x3d function(s, ss) {\n  const re \x3d new RegExp(goog.string.regExpEscape(ss), \x22g\x22);\n  return s.replace(re, \x22\x22);\n};\ngoog.string.replaceAll \x3d function(s, ss, replacement) {\n  const re \x3d new RegExp(goog.string.regExpEscape(ss), \x22g\x22);\n  return s.replace(re, replacement.replace(/\\$/g, \x22$$$$\x22));\n};\ngoog.string.regExpEscape \x3d function(s) {\n  return String(s).replace(/([-()\\[\\]{}+?*.$\\^|,:#\x3c!\\\\])/g, \x22\\\\$1\x22).replace(/\\x08/g, \x22\\\\x08\x22);\n};\ngoog.string.repeat \x3d String.prototype.repeat ? function(string, length) {\n  return string.repeat(length);\n} : function(string, length) {\n  return (new Array(length + 1)).join(string);\n};\ngoog.string.padNumber \x3d function(num, length, opt_precision) {\n  if (!Number.isFinite(num)) {\n    return String(num);\n  }\n  let s \x3d opt_precision !\x3d\x3d undefined ? num.toFixed(opt_precision) : String(num);\n  let index \x3d s.indexOf(\x22.\x22);\n  if (index \x3d\x3d\x3d -1) {\n    index \x3d s.length;\n  }\n  const sign \x3d s[0] \x3d\x3d\x3d \x22-\x22 ? \x22-\x22 : \x22\x22;\n  if (sign) {\n    s \x3d s.substring(1);\n  }\n  return sign + goog.string.repeat(\x220\x22, Math.max(0, length - index)) + s;\n};\ngoog.string.makeSafe \x3d function(obj) {\n  return obj \x3d\x3d null ? \x22\x22 : String(obj);\n};\ngoog.string.getRandomString \x3d function() {\n  const x \x3d 2147483648;\n  return Math.floor(Math.random() * x).toString(36) + Math.abs(Math.floor(Math.random() * x) ^ goog.now()).toString(36);\n};\ngoog.string.compareVersions \x3d goog.string.internal.compareVersions;\ngoog.string.hashCode \x3d function(str) {\n  let result \x3d 0;\n  for (let i \x3d 0; i \x3c str.length; ++i) {\n    result \x3d 31 * result + str.charCodeAt(i) \x3e\x3e\x3e 0;\n  }\n  return result;\n};\ngoog.string.uniqueStringCounter_ \x3d Math.random() * 2147483648 | 0;\ngoog.string.createUniqueString \x3d function() {\n  return \x22goog_\x22 + goog.string.uniqueStringCounter_++;\n};\ngoog.string.toNumber \x3d function(str) {\n  const num \x3d Number(str);\n  if (num \x3d\x3d 0 \x26\x26 goog.string.isEmptyOrWhitespace(str)) {\n    return NaN;\n  }\n  return num;\n};\ngoog.string.isLowerCamelCase \x3d function(str) {\n  return /^[a-z]+([A-Z][a-z]*)*$/.test(str);\n};\ngoog.string.isUpperCamelCase \x3d function(str) {\n  return /^([A-Z][a-z]*)+$/.test(str);\n};\ngoog.string.toCamelCase \x3d function(str) {\n  return String(str).replace(/\\-([a-z])/g, function(all, match) {\n    return match.toUpperCase();\n  });\n};\ngoog.string.toSelectorCase \x3d function(str) {\n  return String(str).replace(/([A-Z])/g, \x22-$1\x22).toLowerCase();\n};\ngoog.string.toTitleCase \x3d function(str, opt_delimiters) {\n  let delimiters \x3d typeof opt_delimiters \x3d\x3d\x3d \x22string\x22 ? goog.string.regExpEscape(opt_delimiters) : \x22\\\\s\x22;\n  delimiters \x3d delimiters ? \x22|[\x22 + delimiters + \x22]+\x22 : \x22\x22;\n  const regexp \x3d new RegExp(\x22(^\x22 + delimiters + \x22)([a-z])\x22, \x22g\x22);\n  return str.replace(regexp, function(all, p1, p2) {\n    return p1 + p2.toUpperCase();\n  });\n};\ngoog.string.capitalize \x3d function(str) {\n  return String(str.charAt(0)).toUpperCase() + String(str.slice(1)).toLowerCase();\n};\ngoog.string.parseInt \x3d function(value) {\n  if (isFinite(value)) {\n    value \x3d String(value);\n  }\n  if (typeof value \x3d\x3d\x3d \x22string\x22) {\n    return /^\\s*-?0x/i.test(value) ? parseInt(value, 16) : parseInt(value, 10);\n  }\n  return NaN;\n};\ngoog.string.splitLimit \x3d function(str, separator, limit) {\n  const parts \x3d str.split(separator);\n  const returnVal \x3d [];\n  for (; limit \x3e 0 \x26\x26 parts.length;) {\n    returnVal.push(parts.shift());\n    limit--;\n  }\n  if (parts.length) {\n    returnVal.push(parts.join(separator));\n  }\n  return returnVal;\n};\ngoog.string.lastComponent \x3d function(str, separators) {\n  if (!separators) {\n    return str;\n  } else if (typeof separators \x3d\x3d \x22string\x22) {\n    separators \x3d [separators];\n  }\n  let lastSeparatorIndex \x3d -1;\n  for (let i \x3d 0; i \x3c separators.length; i++) {\n    if (separators[i] \x3d\x3d \x22\x22) {\n      continue;\n    }\n    const currentSeparatorIndex \x3d str.lastIndexOf(separators[i]);\n    if (currentSeparatorIndex \x3e lastSeparatorIndex) {\n      lastSeparatorIndex \x3d currentSeparatorIndex;\n    }\n  }\n  if (lastSeparatorIndex \x3d\x3d -1) {\n    return str;\n  }\n  return str.slice(lastSeparatorIndex + 1);\n};\ngoog.string.editDistance \x3d function(a, b) {\n  const v0 \x3d [];\n  const v1 \x3d [];\n  if (a \x3d\x3d b) {\n    return 0;\n  }\n  if (!a.length || !b.length) {\n    return Math.max(a.length, b.length);\n  }\n  for (let i \x3d 0; i \x3c b.length + 1; i++) {\n    v0[i] \x3d i;\n  }\n  for (let i \x3d 0; i \x3c a.length; i++) {\n    v1[0] \x3d i + 1;\n    for (let j \x3d 0; j \x3c b.length; j++) {\n      const cost \x3d Number(a[i] !\x3d b[j]);\n      v1[j + 1] \x3d Math.min(v1[j] + 1, v0[j + 1] + 1, v0[j] + cost);\n    }\n    for (let j \x3d 0; j \x3c v0.length; j++) {\n      v0[j] \x3d v1[j];\n    }\n  }\n  return v1[b.length];\n};\n");
SHADOW_ENV.evalLoad("goog.collections.maps.js", true, "goog.loadModule(function(exports) {\n  function setAll(map, entries) {\n    if (!entries) {\n      return;\n    }\n    for (const [k, v] of entries) {\n      map.set(k, v);\n    }\n  }\n  function hasValue(map, val, valueEqualityFn \x3d defaultEqualityFn) {\n    for (const v of map.values()) {\n      if (valueEqualityFn(v, val)) {\n        return true;\n      }\n    }\n    return false;\n  }\n  function equals(map, otherMap, valueEqualityFn \x3d defaultEqualityFn) {\n    if (map \x3d\x3d\x3d otherMap) {\n      return true;\n    }\n    if (map.size !\x3d\x3d otherMap.size) {\n      return false;\n    }\n    for (const key of map.keys()) {\n      if (!otherMap.has(key)) {\n        return false;\n      }\n      if (!valueEqualityFn(map.get(key), otherMap.get(key))) {\n        return false;\n      }\n    }\n    return true;\n  }\n  function transpose(map) {\n    const transposed \x3d new Map();\n    for (const key of map.keys()) {\n      const val \x3d map.get(key);\n      transposed.set(val, key);\n    }\n    return transposed;\n  }\n  function toObject(map) {\n    const obj \x3d {};\n    for (const key of map.keys()) {\n      obj[key] \x3d map.get(key);\n    }\n    return obj;\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.collections.maps\x22);\n  goog.module.declareLegacyNamespace();\n  class MapLike {\n    constructor() {\n      this.size;\n    }\n    set(key, val) {\n    }\n    get(key) {\n    }\n    keys() {\n    }\n    values() {\n    }\n    has(key) {\n    }\n  }\n  exports.MapLike \x3d MapLike;\n  exports.setAll \x3d setAll;\n  exports.hasValue \x3d hasValue;\n  const defaultEqualityFn \x3d (a, b) \x3d\x3e {\n    return a \x3d\x3d\x3d b;\n  };\n  exports.equals \x3d equals;\n  exports.transpose \x3d transpose;\n  exports.toObject \x3d toObject;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.structs.structs.js", true, "goog.provide(\x22goog.structs\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.object\x22);\ngoog.structs.getCount \x3d function(col) {\n  if (col.getCount \x26\x26 typeof col.getCount \x3d\x3d \x22function\x22) {\n    return col.getCount();\n  }\n  if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n    return col.length;\n  }\n  return goog.object.getCount(col);\n};\ngoog.structs.getValues \x3d function(col) {\n  if (col.getValues \x26\x26 typeof col.getValues \x3d\x3d \x22function\x22) {\n    return col.getValues();\n  }\n  if (typeof Map !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Map || typeof Set !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Set) {\n    return Array.from(col.values());\n  }\n  if (typeof col \x3d\x3d\x3d \x22string\x22) {\n    return col.split(\x22\x22);\n  }\n  if (goog.isArrayLike(col)) {\n    var rv \x3d [];\n    var l \x3d col.length;\n    var i \x3d 0;\n    for (; i \x3c l; i++) {\n      rv.push(col[i]);\n    }\n    return rv;\n  }\n  return goog.object.getValues(col);\n};\ngoog.structs.getKeys \x3d function(col) {\n  if (col.getKeys \x26\x26 typeof col.getKeys \x3d\x3d \x22function\x22) {\n    return col.getKeys();\n  }\n  if (col.getValues \x26\x26 typeof col.getValues \x3d\x3d \x22function\x22) {\n    return undefined;\n  }\n  if (typeof Map !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Map) {\n    return Array.from(col.keys());\n  }\n  if (typeof Set !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Set) {\n    return undefined;\n  }\n  if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n    var rv \x3d [];\n    var l \x3d col.length;\n    var i \x3d 0;\n    for (; i \x3c l; i++) {\n      rv.push(i);\n    }\n    return rv;\n  }\n  return goog.object.getKeys(col);\n};\ngoog.structs.contains \x3d function(col, val) {\n  if (col.contains \x26\x26 typeof col.contains \x3d\x3d \x22function\x22) {\n    return col.contains(val);\n  }\n  if (col.containsValue \x26\x26 typeof col.containsValue \x3d\x3d \x22function\x22) {\n    return col.containsValue(val);\n  }\n  if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n    return goog.array.contains(col, val);\n  }\n  return goog.object.containsValue(col, val);\n};\ngoog.structs.isEmpty \x3d function(col) {\n  if (col.isEmpty \x26\x26 typeof col.isEmpty \x3d\x3d \x22function\x22) {\n    return col.isEmpty();\n  }\n  if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n    return col.length \x3d\x3d\x3d 0;\n  }\n  return goog.object.isEmpty(col);\n};\ngoog.structs.clear \x3d function(col) {\n  if (col.clear \x26\x26 typeof col.clear \x3d\x3d \x22function\x22) {\n    col.clear();\n  } else if (goog.isArrayLike(col)) {\n    goog.array.clear(col);\n  } else {\n    goog.object.clear(col);\n  }\n};\ngoog.structs.forEach \x3d function(col, f, opt_obj) {\n  if (col.forEach \x26\x26 typeof col.forEach \x3d\x3d \x22function\x22) {\n    col.forEach(f, opt_obj);\n  } else if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n    Array.prototype.forEach.call(col, f, opt_obj);\n  } else {\n    var keys \x3d goog.structs.getKeys(col);\n    var values \x3d goog.structs.getValues(col);\n    var l \x3d values.length;\n    var i \x3d 0;\n    for (; i \x3c l; i++) {\n      f.call(opt_obj, values[i], keys \x26\x26 keys[i], col);\n    }\n  }\n};\ngoog.structs.filter \x3d function(col, f, opt_obj) {\n  if (typeof col.filter \x3d\x3d \x22function\x22) {\n    return col.filter(f, opt_obj);\n  }\n  if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n    return Array.prototype.filter.call(col, f, opt_obj);\n  }\n  var rv;\n  var keys \x3d goog.structs.getKeys(col);\n  var values \x3d goog.structs.getValues(col);\n  var l \x3d values.length;\n  if (keys) {\n    rv \x3d {};\n    var i \x3d 0;\n    for (; i \x3c l; i++) {\n      if (f.call(opt_obj, values[i], keys[i], col)) {\n        rv[keys[i]] \x3d values[i];\n      }\n    }\n  } else {\n    rv \x3d [];\n    i \x3d 0;\n    for (; i \x3c l; i++) {\n      if (f.call(opt_obj, values[i], undefined, col)) {\n        rv.push(values[i]);\n      }\n    }\n  }\n  return rv;\n};\ngoog.structs.map \x3d function(col, f, opt_obj) {\n  if (typeof col.map \x3d\x3d \x22function\x22) {\n    return col.map(f, opt_obj);\n  }\n  if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n    return Array.prototype.map.call(col, f, opt_obj);\n  }\n  var rv;\n  var keys \x3d goog.structs.getKeys(col);\n  var values \x3d goog.structs.getValues(col);\n  var l \x3d values.length;\n  if (keys) {\n    rv \x3d {};\n    var i \x3d 0;\n    for (; i \x3c l; i++) {\n      rv[keys[i]] \x3d f.call(opt_obj, values[i], keys[i], col);\n    }\n  } else {\n    rv \x3d [];\n    i \x3d 0;\n    for (; i \x3c l; i++) {\n      rv[i] \x3d f.call(opt_obj, values[i], undefined, col);\n    }\n  }\n  return rv;\n};\ngoog.structs.some \x3d function(col, f, opt_obj) {\n  if (typeof col.some \x3d\x3d \x22function\x22) {\n    return col.some(f, opt_obj);\n  }\n  if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n    return Array.prototype.some.call(col, f, opt_obj);\n  }\n  var keys \x3d goog.structs.getKeys(col);\n  var values \x3d goog.structs.getValues(col);\n  var l \x3d values.length;\n  var i \x3d 0;\n  for (; i \x3c l; i++) {\n    if (f.call(opt_obj, values[i], keys \x26\x26 keys[i], col)) {\n      return true;\n    }\n  }\n  return false;\n};\ngoog.structs.every \x3d function(col, f, opt_obj) {\n  if (typeof col.every \x3d\x3d \x22function\x22) {\n    return col.every(f, opt_obj);\n  }\n  if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n    return Array.prototype.every.call(col, f, opt_obj);\n  }\n  var keys \x3d goog.structs.getKeys(col);\n  var values \x3d goog.structs.getValues(col);\n  var l \x3d values.length;\n  var i \x3d 0;\n  for (; i \x3c l; i++) {\n    if (!f.call(opt_obj, values[i], keys \x26\x26 keys[i], col)) {\n      return false;\n    }\n  }\n  return true;\n};\n");
SHADOW_ENV.evalLoad("goog.uri.utils.js", true, "goog.provide(\x22goog.uri.utils\x22);\ngoog.provide(\x22goog.uri.utils.ComponentIndex\x22);\ngoog.provide(\x22goog.uri.utils.QueryArray\x22);\ngoog.provide(\x22goog.uri.utils.QueryValue\x22);\ngoog.provide(\x22goog.uri.utils.StandardQueryParam\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.string\x22);\ngoog.uri.utils.CharCode_ \x3d {AMPERSAND:38, EQUAL:61, HASH:35, QUESTION:63};\ngoog.uri.utils.buildFromEncodedParts \x3d function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_queryData, opt_fragment) {\n  var out \x3d \x22\x22;\n  if (opt_scheme) {\n    out \x3d out + (opt_scheme + \x22:\x22);\n  }\n  if (opt_domain) {\n    out \x3d out + \x22//\x22;\n    if (opt_userInfo) {\n      out \x3d out + (opt_userInfo + \x22@\x22);\n    }\n    out \x3d out + opt_domain;\n    if (opt_port) {\n      out \x3d out + (\x22:\x22 + opt_port);\n    }\n  }\n  if (opt_path) {\n    out \x3d out + opt_path;\n  }\n  if (opt_queryData) {\n    out \x3d out + (\x22?\x22 + opt_queryData);\n  }\n  if (opt_fragment) {\n    out \x3d out + (\x22#\x22 + opt_fragment);\n  }\n  return out;\n};\ngoog.uri.utils.splitRe_ \x3d new RegExp(\x22^\x22 + \x22(?:\x22 + \x22([^:/?#.]+)\x22 + \x22:)?\x22 + \x22(?://\x22 + \x22(?:([^\\\\\\\\/?#]*)@)?\x22 + \x22([^\\\\\\\\/?#]*?)\x22 + \x22(?::([0-9]+))?\x22 + \x22(?\\x3d[\\\\\\\\/?#]|$)\x22 + \x22)?\x22 + \x22([^?#]+)?\x22 + \x22(?:\\\\?([^#]*))?\x22 + \x22(?:#([\\\\s\\\\S]*))?\x22 + \x22$\x22);\ngoog.uri.utils.ComponentIndex \x3d {SCHEME:1, USER_INFO:2, DOMAIN:3, PORT:4, PATH:5, QUERY_DATA:6, FRAGMENT:7};\ngoog.uri.utils.urlPackageSupportLoggingHandler_ \x3d null;\ngoog.uri.utils.setUrlPackageSupportLoggingHandler \x3d function(handler) {\n  goog.uri.utils.urlPackageSupportLoggingHandler_ \x3d handler;\n};\ngoog.uri.utils.split \x3d function(uri) {\n  var result \x3d uri.match(goog.uri.utils.splitRe_);\n  if (goog.uri.utils.urlPackageSupportLoggingHandler_ \x26\x26 [\x22http\x22, \x22https\x22, \x22ws\x22, \x22wss\x22, \x22ftp\x22].indexOf(result[goog.uri.utils.ComponentIndex.SCHEME]) \x3e\x3d 0) {\n    goog.uri.utils.urlPackageSupportLoggingHandler_(uri);\n  }\n  return result;\n};\ngoog.uri.utils.decodeIfPossible_ \x3d function(uri, opt_preserveReserved) {\n  if (!uri) {\n    return uri;\n  }\n  return opt_preserveReserved ? decodeURI(uri) : decodeURIComponent(uri);\n};\ngoog.uri.utils.getComponentByIndex_ \x3d function(componentIndex, uri) {\n  return goog.uri.utils.split(uri)[componentIndex] || null;\n};\ngoog.uri.utils.getScheme \x3d function(uri) {\n  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME, uri);\n};\ngoog.uri.utils.getEffectiveScheme \x3d function(uri) {\n  var scheme \x3d goog.uri.utils.getScheme(uri);\n  if (!scheme \x26\x26 goog.global.self \x26\x26 goog.global.self.location) {\n    var protocol \x3d goog.global.self.location.protocol;\n    scheme \x3d protocol.slice(0, -1);\n  }\n  return scheme ? scheme.toLowerCase() : \x22\x22;\n};\ngoog.uri.utils.getUserInfoEncoded \x3d function(uri) {\n  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO, uri);\n};\ngoog.uri.utils.getUserInfo \x3d function(uri) {\n  return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(uri));\n};\ngoog.uri.utils.getDomainEncoded \x3d function(uri) {\n  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN, uri);\n};\ngoog.uri.utils.getDomain \x3d function(uri) {\n  return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(uri), true);\n};\ngoog.uri.utils.getPort \x3d function(uri) {\n  return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT, uri)) || null;\n};\ngoog.uri.utils.getPathEncoded \x3d function(uri) {\n  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH, uri);\n};\ngoog.uri.utils.getPath \x3d function(uri) {\n  return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(uri), true);\n};\ngoog.uri.utils.getQueryData \x3d function(uri) {\n  return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA, uri);\n};\ngoog.uri.utils.getFragmentEncoded \x3d function(uri) {\n  var hashIndex \x3d uri.indexOf(\x22#\x22);\n  return hashIndex \x3c 0 ? null : uri.slice(hashIndex + 1);\n};\ngoog.uri.utils.setFragmentEncoded \x3d function(uri, fragment) {\n  return goog.uri.utils.removeFragment(uri) + (fragment ? \x22#\x22 + fragment : \x22\x22);\n};\ngoog.uri.utils.getFragment \x3d function(uri) {\n  return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(uri));\n};\ngoog.uri.utils.getHost \x3d function(uri) {\n  var pieces \x3d goog.uri.utils.split(uri);\n  return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], pieces[goog.uri.utils.ComponentIndex.USER_INFO], pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);\n};\ngoog.uri.utils.getOrigin \x3d function(uri) {\n  var pieces \x3d goog.uri.utils.split(uri);\n  return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], null, pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);\n};\ngoog.uri.utils.getPathAndAfter \x3d function(uri) {\n  var pieces \x3d goog.uri.utils.split(uri);\n  return goog.uri.utils.buildFromEncodedParts(null, null, null, null, pieces[goog.uri.utils.ComponentIndex.PATH], pieces[goog.uri.utils.ComponentIndex.QUERY_DATA], pieces[goog.uri.utils.ComponentIndex.FRAGMENT]);\n};\ngoog.uri.utils.removeFragment \x3d function(uri) {\n  var hashIndex \x3d uri.indexOf(\x22#\x22);\n  return hashIndex \x3c 0 ? uri : uri.slice(0, hashIndex);\n};\ngoog.uri.utils.haveSameDomain \x3d function(uri1, uri2) {\n  var pieces1 \x3d goog.uri.utils.split(uri1);\n  var pieces2 \x3d goog.uri.utils.split(uri2);\n  return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.DOMAIN] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.SCHEME] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.SCHEME] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.PORT] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.PORT];\n};\ngoog.uri.utils.assertNoFragmentsOrQueries_ \x3d function(uri) {\n  goog.asserts.assert(uri.indexOf(\x22#\x22) \x3c 0 \x26\x26 uri.indexOf(\x22?\x22) \x3c 0, \x22goog.uri.utils: Fragment or query identifiers are not supported: [%s]\x22, uri);\n};\ngoog.uri.utils.QueryValue;\ngoog.uri.utils.QueryArray;\ngoog.uri.utils.parseQueryData \x3d function(encodedQuery, callback) {\n  if (!encodedQuery) {\n    return;\n  }\n  var pairs \x3d encodedQuery.split(\x22\\x26\x22);\n  var i \x3d 0;\n  for (; i \x3c pairs.length; i++) {\n    var indexOfEquals \x3d pairs[i].indexOf(\x22\\x3d\x22);\n    var name \x3d null;\n    var value \x3d null;\n    if (indexOfEquals \x3e\x3d 0) {\n      name \x3d pairs[i].substring(0, indexOfEquals);\n      value \x3d pairs[i].substring(indexOfEquals + 1);\n    } else {\n      name \x3d pairs[i];\n    }\n    callback(name, value ? goog.string.urlDecode(value) : \x22\x22);\n  }\n};\ngoog.uri.utils.splitQueryData_ \x3d function(uri) {\n  var hashIndex \x3d uri.indexOf(\x22#\x22);\n  if (hashIndex \x3c 0) {\n    hashIndex \x3d uri.length;\n  }\n  var questionIndex \x3d uri.indexOf(\x22?\x22);\n  var queryData;\n  if (questionIndex \x3c 0 || questionIndex \x3e hashIndex) {\n    questionIndex \x3d hashIndex;\n    queryData \x3d \x22\x22;\n  } else {\n    queryData \x3d uri.substring(questionIndex + 1, hashIndex);\n  }\n  return [uri.slice(0, questionIndex), queryData, uri.slice(hashIndex)];\n};\ngoog.uri.utils.joinQueryData_ \x3d function(parts) {\n  return parts[0] + (parts[1] ? \x22?\x22 + parts[1] : \x22\x22) + parts[2];\n};\ngoog.uri.utils.appendQueryData_ \x3d function(queryData, newData) {\n  if (!newData) {\n    return queryData;\n  }\n  return queryData ? queryData + \x22\\x26\x22 + newData : newData;\n};\ngoog.uri.utils.appendQueryDataToUri_ \x3d function(uri, queryData) {\n  if (!queryData) {\n    return uri;\n  }\n  var parts \x3d goog.uri.utils.splitQueryData_(uri);\n  parts[1] \x3d goog.uri.utils.appendQueryData_(parts[1], queryData);\n  return goog.uri.utils.joinQueryData_(parts);\n};\ngoog.uri.utils.appendKeyValuePairs_ \x3d function(key, value, pairs) {\n  goog.asserts.assertString(key);\n  if (Array.isArray(value)) {\n    goog.asserts.assertArray(value);\n    var j \x3d 0;\n    for (; j \x3c value.length; j++) {\n      goog.uri.utils.appendKeyValuePairs_(key, String(value[j]), pairs);\n    }\n  } else if (value !\x3d null) {\n    pairs.push(key + (value \x3d\x3d\x3d \x22\x22 ? \x22\x22 : \x22\\x3d\x22 + goog.string.urlEncode(value)));\n  }\n};\ngoog.uri.utils.buildQueryData \x3d function(keysAndValues, opt_startIndex) {\n  goog.asserts.assert(Math.max(keysAndValues.length - (opt_startIndex || 0), 0) % 2 \x3d\x3d 0, \x22goog.uri.utils: Key/value lists must be even in length.\x22);\n  var params \x3d [];\n  var i \x3d opt_startIndex || 0;\n  for (; i \x3c keysAndValues.length; i \x3d i + 2) {\n    var key \x3d keysAndValues[i];\n    goog.uri.utils.appendKeyValuePairs_(key, keysAndValues[i + 1], params);\n  }\n  return params.join(\x22\\x26\x22);\n};\ngoog.uri.utils.buildQueryDataFromMap \x3d function(map) {\n  var params \x3d [];\n  var key;\n  for (key in map) {\n    goog.uri.utils.appendKeyValuePairs_(key, map[key], params);\n  }\n  return params.join(\x22\\x26\x22);\n};\ngoog.uri.utils.appendParams \x3d function(uri, var_args) {\n  var queryData \x3d arguments.length \x3d\x3d 2 ? goog.uri.utils.buildQueryData(arguments[1], 0) : goog.uri.utils.buildQueryData(arguments, 1);\n  return goog.uri.utils.appendQueryDataToUri_(uri, queryData);\n};\ngoog.uri.utils.appendParamsFromMap \x3d function(uri, map) {\n  var queryData \x3d goog.uri.utils.buildQueryDataFromMap(map);\n  return goog.uri.utils.appendQueryDataToUri_(uri, queryData);\n};\ngoog.uri.utils.appendParam \x3d function(uri, key, opt_value) {\n  var value \x3d opt_value !\x3d null ? \x22\\x3d\x22 + goog.string.urlEncode(opt_value) : \x22\x22;\n  return goog.uri.utils.appendQueryDataToUri_(uri, key + value);\n};\ngoog.uri.utils.findParam_ \x3d function(uri, startIndex, keyEncoded, hashOrEndIndex) {\n  var index \x3d startIndex;\n  var keyLength \x3d keyEncoded.length;\n  for (; (index \x3d uri.indexOf(keyEncoded, index)) \x3e\x3d 0 \x26\x26 index \x3c hashOrEndIndex;) {\n    var precedingChar \x3d uri.charCodeAt(index - 1);\n    if (precedingChar \x3d\x3d goog.uri.utils.CharCode_.AMPERSAND || precedingChar \x3d\x3d goog.uri.utils.CharCode_.QUESTION) {\n      var followingChar \x3d uri.charCodeAt(index + keyLength);\n      if (!followingChar || followingChar \x3d\x3d goog.uri.utils.CharCode_.EQUAL || followingChar \x3d\x3d goog.uri.utils.CharCode_.AMPERSAND || followingChar \x3d\x3d goog.uri.utils.CharCode_.HASH) {\n        return index;\n      }\n    }\n    index \x3d index + (keyLength + 1);\n  }\n  return -1;\n};\ngoog.uri.utils.hashOrEndRe_ \x3d /#|$/;\ngoog.uri.utils.hasParam \x3d function(uri, keyEncoded) {\n  return goog.uri.utils.findParam_(uri, 0, keyEncoded, uri.search(goog.uri.utils.hashOrEndRe_)) \x3e\x3d 0;\n};\ngoog.uri.utils.getParamValue \x3d function(uri, keyEncoded) {\n  var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n  var foundIndex \x3d goog.uri.utils.findParam_(uri, 0, keyEncoded, hashOrEndIndex);\n  if (foundIndex \x3c 0) {\n    return null;\n  } else {\n    var endPosition \x3d uri.indexOf(\x22\\x26\x22, foundIndex);\n    if (endPosition \x3c 0 || endPosition \x3e hashOrEndIndex) {\n      endPosition \x3d hashOrEndIndex;\n    }\n    foundIndex \x3d foundIndex + (keyEncoded.length + 1);\n    return goog.string.urlDecode(uri.slice(foundIndex, endPosition !\x3d\x3d -1 ? endPosition : 0));\n  }\n};\ngoog.uri.utils.getParamValues \x3d function(uri, keyEncoded) {\n  var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n  var position \x3d 0;\n  var foundIndex;\n  var result \x3d [];\n  for (; (foundIndex \x3d goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) \x3e\x3d 0;) {\n    position \x3d uri.indexOf(\x22\\x26\x22, foundIndex);\n    if (position \x3c 0 || position \x3e hashOrEndIndex) {\n      position \x3d hashOrEndIndex;\n    }\n    foundIndex \x3d foundIndex + (keyEncoded.length + 1);\n    result.push(goog.string.urlDecode(uri.slice(foundIndex, Math.max(position, 0))));\n  }\n  return result;\n};\ngoog.uri.utils.trailingQueryPunctuationRe_ \x3d /[?\x26]($|#)/;\ngoog.uri.utils.removeParam \x3d function(uri, keyEncoded) {\n  var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n  var position \x3d 0;\n  var foundIndex;\n  var buffer \x3d [];\n  for (; (foundIndex \x3d goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) \x3e\x3d 0;) {\n    buffer.push(uri.substring(position, foundIndex));\n    position \x3d Math.min(uri.indexOf(\x22\\x26\x22, foundIndex) + 1 || hashOrEndIndex, hashOrEndIndex);\n  }\n  buffer.push(uri.slice(position));\n  return buffer.join(\x22\x22).replace(goog.uri.utils.trailingQueryPunctuationRe_, \x22$1\x22);\n};\ngoog.uri.utils.setParam \x3d function(uri, keyEncoded, value) {\n  return goog.uri.utils.appendParam(goog.uri.utils.removeParam(uri, keyEncoded), keyEncoded, value);\n};\ngoog.uri.utils.setParamsFromMap \x3d function(uri, params) {\n  var parts \x3d goog.uri.utils.splitQueryData_(uri);\n  var queryData \x3d parts[1];\n  var buffer \x3d [];\n  if (queryData) {\n    queryData.split(\x22\\x26\x22).forEach(function(pair) {\n      var indexOfEquals \x3d pair.indexOf(\x22\\x3d\x22);\n      var name \x3d indexOfEquals \x3e\x3d 0 ? pair.slice(0, indexOfEquals) : pair;\n      if (!params.hasOwnProperty(name)) {\n        buffer.push(pair);\n      }\n    });\n  }\n  parts[1] \x3d goog.uri.utils.appendQueryData_(buffer.join(\x22\\x26\x22), goog.uri.utils.buildQueryDataFromMap(params));\n  return goog.uri.utils.joinQueryData_(parts);\n};\ngoog.uri.utils.appendPath \x3d function(baseUri, path) {\n  goog.uri.utils.assertNoFragmentsOrQueries_(baseUri);\n  if (goog.string.endsWith(baseUri, \x22/\x22)) {\n    baseUri \x3d baseUri.slice(0, -1);\n  }\n  if (goog.string.startsWith(path, \x22/\x22)) {\n    path \x3d path.slice(1);\n  }\n  return \x22\x22 + baseUri + \x22/\x22 + path;\n};\ngoog.uri.utils.setPath \x3d function(uri, path) {\n  if (!goog.string.startsWith(path, \x22/\x22)) {\n    path \x3d \x22/\x22 + path;\n  }\n  var parts \x3d goog.uri.utils.split(uri);\n  return goog.uri.utils.buildFromEncodedParts(parts[goog.uri.utils.ComponentIndex.SCHEME], parts[goog.uri.utils.ComponentIndex.USER_INFO], parts[goog.uri.utils.ComponentIndex.DOMAIN], parts[goog.uri.utils.ComponentIndex.PORT], path, parts[goog.uri.utils.ComponentIndex.QUERY_DATA], parts[goog.uri.utils.ComponentIndex.FRAGMENT]);\n};\ngoog.uri.utils.StandardQueryParam \x3d {RANDOM:\x22zx\x22};\ngoog.uri.utils.makeUnique \x3d function(uri) {\n  return goog.uri.utils.setParam(uri, goog.uri.utils.StandardQueryParam.RANDOM, goog.string.getRandomString());\n};\n");
SHADOW_ENV.evalLoad("goog.uri.uri.js", true, "goog.provide(\x22goog.Uri\x22);\ngoog.provide(\x22goog.Uri.QueryData\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.collections.maps\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.structs\x22);\ngoog.require(\x22goog.uri.utils\x22);\ngoog.require(\x22goog.uri.utils.ComponentIndex\x22);\ngoog.require(\x22goog.uri.utils.StandardQueryParam\x22);\ngoog.Uri \x3d function(opt_uri, opt_ignoreCase) {\n  this.scheme_ \x3d \x22\x22;\n  this.userInfo_ \x3d \x22\x22;\n  this.domain_ \x3d \x22\x22;\n  this.port_ \x3d null;\n  this.path_ \x3d \x22\x22;\n  this.fragment_ \x3d \x22\x22;\n  this.isReadOnly_ \x3d false;\n  this.ignoreCase_ \x3d false;\n  this.queryData_;\n  var m;\n  if (opt_uri instanceof goog.Uri) {\n    this.ignoreCase_ \x3d opt_ignoreCase !\x3d\x3d undefined ? opt_ignoreCase : opt_uri.getIgnoreCase();\n    this.setScheme(opt_uri.getScheme());\n    this.setUserInfo(opt_uri.getUserInfo());\n    this.setDomain(opt_uri.getDomain());\n    this.setPort(opt_uri.getPort());\n    this.setPath(opt_uri.getPath());\n    this.setQueryData(opt_uri.getQueryData().clone());\n    this.setFragment(opt_uri.getFragment());\n  } else if (opt_uri \x26\x26 (m \x3d goog.uri.utils.split(String(opt_uri)))) {\n    this.ignoreCase_ \x3d !!opt_ignoreCase;\n    this.setScheme(m[goog.uri.utils.ComponentIndex.SCHEME] || \x22\x22, true);\n    this.setUserInfo(m[goog.uri.utils.ComponentIndex.USER_INFO] || \x22\x22, true);\n    this.setDomain(m[goog.uri.utils.ComponentIndex.DOMAIN] || \x22\x22, true);\n    this.setPort(m[goog.uri.utils.ComponentIndex.PORT]);\n    this.setPath(m[goog.uri.utils.ComponentIndex.PATH] || \x22\x22, true);\n    this.setQueryData(m[goog.uri.utils.ComponentIndex.QUERY_DATA] || \x22\x22, true);\n    this.setFragment(m[goog.uri.utils.ComponentIndex.FRAGMENT] || \x22\x22, true);\n  } else {\n    this.ignoreCase_ \x3d !!opt_ignoreCase;\n    this.queryData_ \x3d new goog.Uri.QueryData(null, this.ignoreCase_);\n  }\n};\ngoog.Uri.RANDOM_PARAM \x3d goog.uri.utils.StandardQueryParam.RANDOM;\ngoog.Uri.prototype.toString \x3d function() {\n  var out \x3d [];\n  var scheme \x3d this.getScheme();\n  if (scheme) {\n    out.push(goog.Uri.encodeSpecialChars_(scheme, goog.Uri.reDisallowedInSchemeOrUserInfo_, true), \x22:\x22);\n  }\n  var domain \x3d this.getDomain();\n  if (domain || scheme \x3d\x3d \x22file\x22) {\n    out.push(\x22//\x22);\n    var userInfo \x3d this.getUserInfo();\n    if (userInfo) {\n      out.push(goog.Uri.encodeSpecialChars_(userInfo, goog.Uri.reDisallowedInSchemeOrUserInfo_, true), \x22@\x22);\n    }\n    out.push(goog.Uri.removeDoubleEncoding_(goog.string.urlEncode(domain)));\n    var port \x3d this.getPort();\n    if (port !\x3d null) {\n      out.push(\x22:\x22, String(port));\n    }\n  }\n  var path \x3d this.getPath();\n  if (path) {\n    if (this.hasDomain() \x26\x26 path.charAt(0) !\x3d \x22/\x22) {\n      out.push(\x22/\x22);\n    }\n    out.push(goog.Uri.encodeSpecialChars_(path, path.charAt(0) \x3d\x3d \x22/\x22 ? goog.Uri.reDisallowedInAbsolutePath_ : goog.Uri.reDisallowedInRelativePath_, true));\n  }\n  var query \x3d this.getEncodedQuery();\n  if (query) {\n    out.push(\x22?\x22, query);\n  }\n  var fragment \x3d this.getFragment();\n  if (fragment) {\n    out.push(\x22#\x22, goog.Uri.encodeSpecialChars_(fragment, goog.Uri.reDisallowedInFragment_));\n  }\n  return out.join(\x22\x22);\n};\ngoog.Uri.prototype.resolve \x3d function(relativeUri) {\n  var absoluteUri \x3d this.clone();\n  var overridden \x3d relativeUri.hasScheme();\n  if (overridden) {\n    absoluteUri.setScheme(relativeUri.getScheme());\n  } else {\n    overridden \x3d relativeUri.hasUserInfo();\n  }\n  if (overridden) {\n    absoluteUri.setUserInfo(relativeUri.getUserInfo());\n  } else {\n    overridden \x3d relativeUri.hasDomain();\n  }\n  if (overridden) {\n    absoluteUri.setDomain(relativeUri.getDomain());\n  } else {\n    overridden \x3d relativeUri.hasPort();\n  }\n  var path \x3d relativeUri.getPath();\n  if (overridden) {\n    absoluteUri.setPort(relativeUri.getPort());\n  } else {\n    overridden \x3d relativeUri.hasPath();\n    if (overridden) {\n      if (path.charAt(0) !\x3d \x22/\x22) {\n        if (this.hasDomain() \x26\x26 !this.hasPath()) {\n          path \x3d \x22/\x22 + path;\n        } else {\n          var lastSlashIndex \x3d absoluteUri.getPath().lastIndexOf(\x22/\x22);\n          if (lastSlashIndex !\x3d -1) {\n            path \x3d absoluteUri.getPath().slice(0, lastSlashIndex + 1) + path;\n          }\n        }\n      }\n      path \x3d goog.Uri.removeDotSegments(path);\n    }\n  }\n  if (overridden) {\n    absoluteUri.setPath(path);\n  } else {\n    overridden \x3d relativeUri.hasQuery();\n  }\n  if (overridden) {\n    absoluteUri.setQueryData(relativeUri.getQueryData().clone());\n  } else {\n    overridden \x3d relativeUri.hasFragment();\n  }\n  if (overridden) {\n    absoluteUri.setFragment(relativeUri.getFragment());\n  }\n  return absoluteUri;\n};\ngoog.Uri.prototype.clone \x3d function() {\n  return new goog.Uri(this);\n};\ngoog.Uri.prototype.getScheme \x3d function() {\n  return this.scheme_;\n};\ngoog.Uri.prototype.setScheme \x3d function(newScheme, opt_decode) {\n  this.enforceReadOnly();\n  this.scheme_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newScheme, true) : newScheme;\n  if (this.scheme_) {\n    this.scheme_ \x3d this.scheme_.replace(/:$/, \x22\x22);\n  }\n  return this;\n};\ngoog.Uri.prototype.hasScheme \x3d function() {\n  return !!this.scheme_;\n};\ngoog.Uri.prototype.getUserInfo \x3d function() {\n  return this.userInfo_;\n};\ngoog.Uri.prototype.setUserInfo \x3d function(newUserInfo, opt_decode) {\n  this.enforceReadOnly();\n  this.userInfo_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newUserInfo) : newUserInfo;\n  return this;\n};\ngoog.Uri.prototype.hasUserInfo \x3d function() {\n  return !!this.userInfo_;\n};\ngoog.Uri.prototype.getDomain \x3d function() {\n  return this.domain_;\n};\ngoog.Uri.prototype.setDomain \x3d function(newDomain, opt_decode) {\n  this.enforceReadOnly();\n  this.domain_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newDomain, true) : newDomain;\n  return this;\n};\ngoog.Uri.prototype.hasDomain \x3d function() {\n  return !!this.domain_;\n};\ngoog.Uri.prototype.getPort \x3d function() {\n  return this.port_;\n};\ngoog.Uri.prototype.setPort \x3d function(newPort) {\n  this.enforceReadOnly();\n  if (newPort) {\n    newPort \x3d Number(newPort);\n    if (isNaN(newPort) || newPort \x3c 0) {\n      throw new Error(\x22Bad port number \x22 + newPort);\n    }\n    this.port_ \x3d newPort;\n  } else {\n    this.port_ \x3d null;\n  }\n  return this;\n};\ngoog.Uri.prototype.hasPort \x3d function() {\n  return this.port_ !\x3d null;\n};\ngoog.Uri.prototype.getPath \x3d function() {\n  return this.path_;\n};\ngoog.Uri.prototype.setPath \x3d function(newPath, opt_decode) {\n  this.enforceReadOnly();\n  this.path_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newPath, true) : newPath;\n  return this;\n};\ngoog.Uri.prototype.hasPath \x3d function() {\n  return !!this.path_;\n};\ngoog.Uri.prototype.hasQuery \x3d function() {\n  return this.queryData_.toString() !\x3d\x3d \x22\x22;\n};\ngoog.Uri.prototype.setQueryData \x3d function(queryData, opt_decode) {\n  this.enforceReadOnly();\n  if (queryData instanceof goog.Uri.QueryData) {\n    this.queryData_ \x3d queryData;\n    this.queryData_.setIgnoreCase(this.ignoreCase_);\n  } else {\n    if (!opt_decode) {\n      queryData \x3d goog.Uri.encodeSpecialChars_(queryData, goog.Uri.reDisallowedInQuery_);\n    }\n    this.queryData_ \x3d new goog.Uri.QueryData(queryData, this.ignoreCase_);\n  }\n  return this;\n};\ngoog.Uri.prototype.setQuery \x3d function(newQuery, opt_decode) {\n  return this.setQueryData(newQuery, opt_decode);\n};\ngoog.Uri.prototype.getEncodedQuery \x3d function() {\n  return this.queryData_.toString();\n};\ngoog.Uri.prototype.getDecodedQuery \x3d function() {\n  return this.queryData_.toDecodedString();\n};\ngoog.Uri.prototype.getQueryData \x3d function() {\n  return this.queryData_;\n};\ngoog.Uri.prototype.getQuery \x3d function() {\n  return this.getEncodedQuery();\n};\ngoog.Uri.prototype.setParameterValue \x3d function(key, value) {\n  this.enforceReadOnly();\n  this.queryData_.set(key, value);\n  return this;\n};\ngoog.Uri.prototype.setParameterValues \x3d function(key, values) {\n  this.enforceReadOnly();\n  if (!Array.isArray(values)) {\n    values \x3d [String(values)];\n  }\n  this.queryData_.setValues(key, values);\n  return this;\n};\ngoog.Uri.prototype.getParameterValues \x3d function(name) {\n  return this.queryData_.getValues(name);\n};\ngoog.Uri.prototype.getParameterValue \x3d function(paramName) {\n  return this.queryData_.get(paramName);\n};\ngoog.Uri.prototype.getFragment \x3d function() {\n  return this.fragment_;\n};\ngoog.Uri.prototype.setFragment \x3d function(newFragment, opt_decode) {\n  this.enforceReadOnly();\n  this.fragment_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newFragment) : newFragment;\n  return this;\n};\ngoog.Uri.prototype.hasFragment \x3d function() {\n  return !!this.fragment_;\n};\ngoog.Uri.prototype.hasSameDomainAs \x3d function(uri2) {\n  return (!this.hasDomain() \x26\x26 !uri2.hasDomain() || this.getDomain() \x3d\x3d uri2.getDomain()) \x26\x26 (!this.hasPort() \x26\x26 !uri2.hasPort() || this.getPort() \x3d\x3d uri2.getPort());\n};\ngoog.Uri.prototype.makeUnique \x3d function() {\n  this.enforceReadOnly();\n  this.setParameterValue(goog.Uri.RANDOM_PARAM, goog.string.getRandomString());\n  return this;\n};\ngoog.Uri.prototype.removeParameter \x3d function(key) {\n  this.enforceReadOnly();\n  this.queryData_.remove(key);\n  return this;\n};\ngoog.Uri.prototype.setReadOnly \x3d function(isReadOnly) {\n  this.isReadOnly_ \x3d isReadOnly;\n  return this;\n};\ngoog.Uri.prototype.isReadOnly \x3d function() {\n  return this.isReadOnly_;\n};\ngoog.Uri.prototype.enforceReadOnly \x3d function() {\n  if (this.isReadOnly_) {\n    throw new Error(\x22Tried to modify a read-only Uri\x22);\n  }\n};\ngoog.Uri.prototype.setIgnoreCase \x3d function(ignoreCase) {\n  this.ignoreCase_ \x3d ignoreCase;\n  if (this.queryData_) {\n    this.queryData_.setIgnoreCase(ignoreCase);\n  }\n  return this;\n};\ngoog.Uri.prototype.getIgnoreCase \x3d function() {\n  return this.ignoreCase_;\n};\ngoog.Uri.parse \x3d function(uri, opt_ignoreCase) {\n  return uri instanceof goog.Uri ? uri.clone() : new goog.Uri(uri, opt_ignoreCase);\n};\ngoog.Uri.create \x3d function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_query, opt_fragment, opt_ignoreCase) {\n  var uri \x3d new goog.Uri(null, opt_ignoreCase);\n  opt_scheme \x26\x26 uri.setScheme(opt_scheme);\n  opt_userInfo \x26\x26 uri.setUserInfo(opt_userInfo);\n  opt_domain \x26\x26 uri.setDomain(opt_domain);\n  opt_port \x26\x26 uri.setPort(opt_port);\n  opt_path \x26\x26 uri.setPath(opt_path);\n  opt_query \x26\x26 uri.setQueryData(opt_query);\n  opt_fragment \x26\x26 uri.setFragment(opt_fragment);\n  return uri;\n};\ngoog.Uri.resolve \x3d function(base, rel) {\n  if (!(base instanceof goog.Uri)) {\n    base \x3d goog.Uri.parse(base);\n  }\n  if (!(rel instanceof goog.Uri)) {\n    rel \x3d goog.Uri.parse(rel);\n  }\n  return base.resolve(rel);\n};\ngoog.Uri.removeDotSegments \x3d function(path) {\n  if (path \x3d\x3d \x22..\x22 || path \x3d\x3d \x22.\x22) {\n    return \x22\x22;\n  } else if (!goog.string.contains(path, \x22./\x22) \x26\x26 !goog.string.contains(path, \x22/.\x22)) {\n    return path;\n  } else {\n    var leadingSlash \x3d goog.string.startsWith(path, \x22/\x22);\n    var segments \x3d path.split(\x22/\x22);\n    var out \x3d [];\n    var pos \x3d 0;\n    for (; pos \x3c segments.length;) {\n      var segment \x3d segments[pos++];\n      if (segment \x3d\x3d \x22.\x22) {\n        if (leadingSlash \x26\x26 pos \x3d\x3d segments.length) {\n          out.push(\x22\x22);\n        }\n      } else if (segment \x3d\x3d \x22..\x22) {\n        if (out.length \x3e 1 || out.length \x3d\x3d 1 \x26\x26 out[0] !\x3d \x22\x22) {\n          out.pop();\n        }\n        if (leadingSlash \x26\x26 pos \x3d\x3d segments.length) {\n          out.push(\x22\x22);\n        }\n      } else {\n        out.push(segment);\n        leadingSlash \x3d true;\n      }\n    }\n    return out.join(\x22/\x22);\n  }\n};\ngoog.Uri.decodeOrEmpty_ \x3d function(val, opt_preserveReserved) {\n  if (!val) {\n    return \x22\x22;\n  }\n  return opt_preserveReserved ? decodeURI(val.replace(/%25/g, \x22%2525\x22)) : decodeURIComponent(val);\n};\ngoog.Uri.encodeSpecialChars_ \x3d function(unescapedPart, extra, opt_removeDoubleEncoding) {\n  if (typeof unescapedPart \x3d\x3d\x3d \x22string\x22) {\n    var encoded \x3d encodeURI(unescapedPart).replace(extra, goog.Uri.encodeChar_);\n    if (opt_removeDoubleEncoding) {\n      encoded \x3d goog.Uri.removeDoubleEncoding_(encoded);\n    }\n    return encoded;\n  }\n  return null;\n};\ngoog.Uri.encodeChar_ \x3d function(ch) {\n  var n \x3d ch.charCodeAt(0);\n  return \x22%\x22 + (n \x3e\x3e 4 \x26 15).toString(16) + (n \x26 15).toString(16);\n};\ngoog.Uri.removeDoubleEncoding_ \x3d function(doubleEncodedString) {\n  return doubleEncodedString.replace(/%25([0-9a-fA-F]{2})/g, \x22%$1\x22);\n};\ngoog.Uri.reDisallowedInSchemeOrUserInfo_ \x3d /[#\\/\\?@]/g;\ngoog.Uri.reDisallowedInRelativePath_ \x3d /[#\\?:]/g;\ngoog.Uri.reDisallowedInAbsolutePath_ \x3d /[#\\?]/g;\ngoog.Uri.reDisallowedInQuery_ \x3d /[#\\?@]/g;\ngoog.Uri.reDisallowedInFragment_ \x3d /#/g;\ngoog.Uri.haveSameDomain \x3d function(uri1String, uri2String) {\n  var pieces1 \x3d goog.uri.utils.split(uri1String);\n  var pieces2 \x3d goog.uri.utils.split(uri2String);\n  return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.DOMAIN] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.PORT] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.PORT];\n};\ngoog.Uri.QueryData \x3d function(opt_query, opt_ignoreCase) {\n  this.keyMap_ \x3d null;\n  this.count_ \x3d null;\n  this.encodedQuery_ \x3d opt_query || null;\n  this.ignoreCase_ \x3d !!opt_ignoreCase;\n};\ngoog.Uri.QueryData.prototype.ensureKeyMapInitialized_ \x3d function() {\n  if (!this.keyMap_) {\n    this.keyMap_ \x3d new Map();\n    this.count_ \x3d 0;\n    if (this.encodedQuery_) {\n      var self \x3d this;\n      goog.uri.utils.parseQueryData(this.encodedQuery_, function(name, value) {\n        self.add(goog.string.urlDecode(name), value);\n      });\n    }\n  }\n};\ngoog.Uri.QueryData.createFromMap \x3d function(map, opt_ignoreCase) {\n  var keys \x3d goog.structs.getKeys(map);\n  if (typeof keys \x3d\x3d \x22undefined\x22) {\n    throw new Error(\x22Keys are undefined\x22);\n  }\n  var queryData \x3d new goog.Uri.QueryData(null, opt_ignoreCase);\n  var values \x3d goog.structs.getValues(map);\n  var i \x3d 0;\n  for (; i \x3c keys.length; i++) {\n    var key \x3d keys[i];\n    var value \x3d values[i];\n    if (!Array.isArray(value)) {\n      queryData.add(key, value);\n    } else {\n      queryData.setValues(key, value);\n    }\n  }\n  return queryData;\n};\ngoog.Uri.QueryData.createFromKeysValues \x3d function(keys, values, opt_ignoreCase) {\n  if (keys.length !\x3d values.length) {\n    throw new Error(\x22Mismatched lengths for keys/values\x22);\n  }\n  var queryData \x3d new goog.Uri.QueryData(null, opt_ignoreCase);\n  var i \x3d 0;\n  for (; i \x3c keys.length; i++) {\n    queryData.add(keys[i], values[i]);\n  }\n  return queryData;\n};\ngoog.Uri.QueryData.prototype.getCount \x3d function() {\n  this.ensureKeyMapInitialized_();\n  return this.count_;\n};\ngoog.Uri.QueryData.prototype.add \x3d function(key, value) {\n  this.ensureKeyMapInitialized_();\n  this.invalidateCache_();\n  key \x3d this.getKeyName_(key);\n  var values \x3d this.keyMap_.get(key);\n  if (!values) {\n    this.keyMap_.set(key, values \x3d []);\n  }\n  values.push(value);\n  this.count_ \x3d goog.asserts.assertNumber(this.count_) + 1;\n  return this;\n};\ngoog.Uri.QueryData.prototype.remove \x3d function(key) {\n  this.ensureKeyMapInitialized_();\n  key \x3d this.getKeyName_(key);\n  if (this.keyMap_.has(key)) {\n    this.invalidateCache_();\n    this.count_ \x3d goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length;\n    return this.keyMap_.delete(key);\n  }\n  return false;\n};\ngoog.Uri.QueryData.prototype.clear \x3d function() {\n  this.invalidateCache_();\n  this.keyMap_ \x3d null;\n  this.count_ \x3d 0;\n};\ngoog.Uri.QueryData.prototype.isEmpty \x3d function() {\n  this.ensureKeyMapInitialized_();\n  return this.count_ \x3d\x3d 0;\n};\ngoog.Uri.QueryData.prototype.containsKey \x3d function(key) {\n  this.ensureKeyMapInitialized_();\n  key \x3d this.getKeyName_(key);\n  return this.keyMap_.has(key);\n};\ngoog.Uri.QueryData.prototype.containsValue \x3d function(value) {\n  var vals \x3d this.getValues();\n  return goog.array.contains(vals, value);\n};\ngoog.Uri.QueryData.prototype.forEach \x3d function(f, opt_scope) {\n  this.ensureKeyMapInitialized_();\n  this.keyMap_.forEach(function(values, key) {\n    values.forEach(function(value) {\n      f.call(opt_scope, value, key, this);\n    }, this);\n  }, this);\n};\ngoog.Uri.QueryData.prototype.getKeys \x3d function() {\n  this.ensureKeyMapInitialized_();\n  const vals \x3d Array.from(this.keyMap_.values());\n  const keys \x3d Array.from(this.keyMap_.keys());\n  const rv \x3d [];\n  for (let i \x3d 0; i \x3c keys.length; i++) {\n    const val \x3d vals[i];\n    for (let j \x3d 0; j \x3c val.length; j++) {\n      rv.push(keys[i]);\n    }\n  }\n  return rv;\n};\ngoog.Uri.QueryData.prototype.getValues \x3d function(opt_key) {\n  this.ensureKeyMapInitialized_();\n  let rv \x3d [];\n  if (typeof opt_key \x3d\x3d\x3d \x22string\x22) {\n    if (this.containsKey(opt_key)) {\n      rv \x3d rv.concat(this.keyMap_.get(this.getKeyName_(opt_key)));\n    }\n  } else {\n    const values \x3d Array.from(this.keyMap_.values());\n    for (let i \x3d 0; i \x3c values.length; i++) {\n      rv \x3d rv.concat(values[i]);\n    }\n  }\n  return rv;\n};\ngoog.Uri.QueryData.prototype.set \x3d function(key, value) {\n  this.ensureKeyMapInitialized_();\n  this.invalidateCache_();\n  key \x3d this.getKeyName_(key);\n  if (this.containsKey(key)) {\n    this.count_ \x3d goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length;\n  }\n  this.keyMap_.set(key, [value]);\n  this.count_ \x3d goog.asserts.assertNumber(this.count_) + 1;\n  return this;\n};\ngoog.Uri.QueryData.prototype.get \x3d function(key, opt_default) {\n  if (!key) {\n    return opt_default;\n  }\n  var values \x3d this.getValues(key);\n  return values.length \x3e 0 ? String(values[0]) : opt_default;\n};\ngoog.Uri.QueryData.prototype.setValues \x3d function(key, values) {\n  this.remove(key);\n  if (values.length \x3e 0) {\n    this.invalidateCache_();\n    this.keyMap_.set(this.getKeyName_(key), goog.array.clone(values));\n    this.count_ \x3d goog.asserts.assertNumber(this.count_) + values.length;\n  }\n};\ngoog.Uri.QueryData.prototype.toString \x3d function() {\n  if (this.encodedQuery_) {\n    return this.encodedQuery_;\n  }\n  if (!this.keyMap_) {\n    return \x22\x22;\n  }\n  const sb \x3d [];\n  const keys \x3d Array.from(this.keyMap_.keys());\n  var i \x3d 0;\n  for (; i \x3c keys.length; i++) {\n    const key \x3d keys[i];\n    const encodedKey \x3d goog.string.urlEncode(key);\n    const val \x3d this.getValues(key);\n    var j \x3d 0;\n    for (; j \x3c val.length; j++) {\n      var param \x3d encodedKey;\n      if (val[j] !\x3d\x3d \x22\x22) {\n        param \x3d param + (\x22\\x3d\x22 + goog.string.urlEncode(val[j]));\n      }\n      sb.push(param);\n    }\n  }\n  return this.encodedQuery_ \x3d sb.join(\x22\\x26\x22);\n};\ngoog.Uri.QueryData.prototype.toDecodedString \x3d function() {\n  return goog.Uri.decodeOrEmpty_(this.toString());\n};\ngoog.Uri.QueryData.prototype.invalidateCache_ \x3d function() {\n  this.encodedQuery_ \x3d null;\n};\ngoog.Uri.QueryData.prototype.filterKeys \x3d function(keys) {\n  this.ensureKeyMapInitialized_();\n  this.keyMap_.forEach(function(value, key) {\n    if (!goog.array.contains(keys, key)) {\n      this.remove(key);\n    }\n  }, this);\n  return this;\n};\ngoog.Uri.QueryData.prototype.clone \x3d function() {\n  var rv \x3d new goog.Uri.QueryData();\n  rv.encodedQuery_ \x3d this.encodedQuery_;\n  if (this.keyMap_) {\n    rv.keyMap_ \x3d new Map(this.keyMap_);\n    rv.count_ \x3d this.count_;\n  }\n  return rv;\n};\ngoog.Uri.QueryData.prototype.getKeyName_ \x3d function(arg) {\n  var keyName \x3d String(arg);\n  if (this.ignoreCase_) {\n    keyName \x3d keyName.toLowerCase();\n  }\n  return keyName;\n};\ngoog.Uri.QueryData.prototype.setIgnoreCase \x3d function(ignoreCase) {\n  var resetKeys \x3d ignoreCase \x26\x26 !this.ignoreCase_;\n  if (resetKeys) {\n    this.ensureKeyMapInitialized_();\n    this.invalidateCache_();\n    this.keyMap_.forEach(function(value, key) {\n      var lowerCase \x3d key.toLowerCase();\n      if (key !\x3d lowerCase) {\n        this.remove(key);\n        this.setValues(lowerCase, value);\n      }\n    }, this);\n  }\n  this.ignoreCase_ \x3d ignoreCase;\n};\ngoog.Uri.QueryData.prototype.extend \x3d function(var_args) {\n  var i \x3d 0;\n  for (; i \x3c arguments.length; i++) {\n    var data \x3d arguments[i];\n    goog.structs.forEach(data, function(value, key) {\n      this.add(key, value);\n    }, this);\n  }\n};\n");
SHADOW_ENV.evalLoad("goog.string.stringbuffer.js", true, "goog.provide(\x22goog.string.StringBuffer\x22);\ngoog.string.StringBuffer \x3d function(opt_a1, var_args) {\n  if (opt_a1 !\x3d null) {\n    this.append.apply(this, arguments);\n  }\n};\ngoog.string.StringBuffer.prototype.buffer_ \x3d \x22\x22;\ngoog.string.StringBuffer.prototype.set \x3d function(s) {\n  this.buffer_ \x3d \x22\x22 + s;\n};\ngoog.string.StringBuffer.prototype.append \x3d function(a1, opt_a2, var_args) {\n  this.buffer_ +\x3d String(a1);\n  if (opt_a2 !\x3d null) {\n    for (let i \x3d 1; i \x3c arguments.length; i++) {\n      this.buffer_ +\x3d arguments[i];\n    }\n  }\n  return this;\n};\ngoog.string.StringBuffer.prototype.clear \x3d function() {\n  this.buffer_ \x3d \x22\x22;\n};\ngoog.string.StringBuffer.prototype.getLength \x3d function() {\n  return this.buffer_.length;\n};\ngoog.string.StringBuffer.prototype.toString \x3d function() {\n  return this.buffer_;\n};\n");
SHADOW_ENV.evalLoad("cljs.core.js", true, "goog.provide(\x27cljs.core\x27);\ngoog.scope(function(){\n  cljs.core.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n  cljs.core.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n  cljs.core.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\ncljs.core._STAR_clojurescript_version_STAR_ \x3d \x221.12.42\x22;\ncljs.core._STAR_unchecked_if_STAR_ \x3d false;\ncljs.core._STAR_unchecked_arrays_STAR_ \x3d false;\ncljs.core._STAR_warn_on_infer_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.PROTOCOL_SENTINEL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.PROTOCOL_SENTINEL \x3d ({});\n}\ncljs.core.MODULE_URIS \x3d null;\ncljs.core.MODULE_INFOS \x3d null;\n/**\n * Var bound to the name value of the compiler build :target option.\n *   For example, if the compiler build :target is :nodejs, *target* will be bound\n *   to \x22nodejs\x22. *target* is a Google Closure define and can be set by compiler\n *   :closure-defines option.\n * @define {string}\n */\ncljs.core._STAR_target_STAR_ \x3d goog.define(\x22cljs.core._STAR_target_STAR_\x22,\x22default\x22);\n/**\n * Manually set the JavaScript global context. Only \x22window\x22, \x22self\x22\n *   , and \x22global\x22 supported. \n * @define {string}\n */\ncljs.core._STAR_global_STAR_ \x3d goog.define(\x22cljs.core._STAR_global_STAR_\x22,\x22default\x22);\n/**\n * Var bound to the current namespace. Only used for bootstrapping.\n * @type {*}\n */\ncljs.core._STAR_ns_STAR_ \x3d null;\n/**\n * @type {*}\n */\ncljs.core._STAR_out_STAR_ \x3d null;\ncljs.core._STAR_assert_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print output.\n *   Whatever function *print-fn* is bound to will be passed any\n *   Strings which should be printed.\n */\ncljs.core._STAR_print_fn_STAR_ \x3d null;\n}\n/**\n * Arranges to have tap functions executed via the supplied f, a\n *   function of no arguments. Returns true if successful, false otherwise.\n */\ncljs.core._STAR_exec_tap_fn_STAR_ \x3d (function cljs$core$_STAR_exec_tap_fn_STAR_(f){\nvar and__5023__auto__ \x3d (typeof setTimeout !\x3d\x3d \x27undefined\x27);\nif(and__5023__auto__){\nvar G__26900 \x3d setTimeout(f,(0));\nreturn (cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1 ? cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1(G__26900) : cljs.core.boolean$.call(null,G__26900));\n} else {\nreturn and__5023__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_err_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print error output.\n *   Whatever function *print-err-fn* is bound to will be passed any\n *   Strings which should be printed.\n */\ncljs.core._STAR_print_err_fn_STAR_ \x3d null;\n}\n/**\n * Set *print-fn* to f.\n */\ncljs.core.set_print_fn_BANG_ \x3d (function cljs$core$set_print_fn_BANG_(f){\nreturn (cljs.core._STAR_print_fn_STAR_ \x3d f);\n});\n/**\n * Set *print-err-fn* to f.\n */\ncljs.core.set_print_err_fn_BANG_ \x3d (function cljs$core$set_print_err_fn_BANG_(f){\nreturn (cljs.core._STAR_print_err_fn_STAR_ \x3d f);\n});\n/**\n * When set to true, output will be flushed whenever a newline is printed.\n * \n *   Defaults to true.\n */\ncljs.core._STAR_flush_on_newline_STAR_ \x3d true;\n/**\n * When set to logical false will drop newlines from printing calls.\n *   This is to work around the implicit newlines emitted by standard JavaScript\n *   console objects.\n */\ncljs.core._STAR_print_newline_STAR_ \x3d true;\n/**\n * When set to logical false, strings and characters will be printed with\n *   non-alphanumeric characters converted to the appropriate escape sequences.\n * \n *   Defaults to true\n */\ncljs.core._STAR_print_readably_STAR_ \x3d true;\n/**\n * If set to logical true, when printing an object, its metadata will also\n *   be printed in a form that can be read back by the reader.\n * \n *   Defaults to false.\n */\ncljs.core._STAR_print_meta_STAR_ \x3d false;\n/**\n * When set to logical true, objects will be printed in a way that preserves\n *   their type when read in later.\n * \n *   Defaults to false.\n */\ncljs.core._STAR_print_dup_STAR_ \x3d false;\n/**\n * *print-namespace-maps* controls whether the printer will print\n *   namespace map literal syntax.\n * \n *   Defaults to false, but the REPL binds it to true.\n */\ncljs.core._STAR_print_namespace_maps_STAR_ \x3d false;\n/**\n * *print-length* controls how many items of each collection the\n *   printer will print. If it is bound to logical false, there is no\n *   limit. Otherwise, it must be bound to an integer indicating the maximum\n *   number of items of each collection to print. If a collection contains\n *   more items, the printer will print items up to the limit followed by\n *   \x27...\x27 to represent the remaining items. The root binding is nil\n *   indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_length_STAR_ \x3d null;\n/**\n * *print-level* controls how many levels deep the printer will\n *   print nested objects. If it is bound to logical false, there is no\n *   limit. Otherwise, it must be bound to an integer indicating the maximum\n *   level to print. Each argument to print is at level 0; if an argument is a\n *   collection, its items are at level 1; and so on. If an object is a\n *   collection and is at a level greater than or equal to the value bound to\n *   *print-level*, the printer prints \x27#\x27 to represent it. The root binding\n *   is nil indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_level_STAR_ \x3d null;\n/**\n * *print-fns-bodies* controls whether functions print their source or\n *  only their names.\n */\ncljs.core._STAR_print_fn_bodies_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_loaded_libs_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core._STAR_loaded_libs_STAR_ \x3d null;\n}\ncljs.core.pr_opts \x3d (function cljs$core$pr_opts(){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939),cljs.core._STAR_flush_on_newline_STAR_,new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),cljs.core._STAR_print_readably_STAR_,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),cljs.core._STAR_print_meta_STAR_,new cljs.core.Keyword(null,\x22dup\x22,\x22dup\x22,556298533),cljs.core._STAR_print_dup_STAR_,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),cljs.core._STAR_print_length_STAR_], null);\n});\n/**\n * Set *print-fn* to console.log\n */\ncljs.core.enable_console_print_BANG_ \x3d (function cljs$core$enable_console_print_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.log.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\ncljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.error.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\nreturn null;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.truth_ \x3d (function cljs$core$truth_(x){\nreturn (x !\x3d null \x26\x26 x !\x3d\x3d false);\n});\ncljs.core.not_native \x3d null;\n\n/**\n * Tests if 2 arguments are the same object\n */\ncljs.core.identical_QMARK_ \x3d (function cljs$core$identical_QMARK_(x,y){\nreturn (x \x3d\x3d\x3d y);\n});\n/**\n * Returns true if x is nil, false otherwise.\n */\ncljs.core.nil_QMARK_ \x3d (function cljs$core$nil_QMARK_(x){\nreturn (x \x3d\x3d null);\n});\n/**\n * Returns true if x is a JavaScript array.\n */\ncljs.core.array_QMARK_ \x3d (function cljs$core$array_QMARK_(x){\nif((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nodejs\x22)){\nreturn Array.isArray(x);\n} else {\nreturn (x instanceof Array);\n}\n});\n/**\n * Returns true if x is a JavaScript number.\n */\ncljs.core.number_QMARK_ \x3d (function cljs$core$number_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true if x is logical false, false otherwise.\n */\ncljs.core.not \x3d (function cljs$core$not(x){\nif((x \x3d\x3d null)){\nreturn true;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Returns true if x is not nil, false otherwise.\n */\ncljs.core.some_QMARK_ \x3d (function cljs$core$some_QMARK_(x){\nreturn (!((x \x3d\x3d null)));\n});\n/**\n * Returns true if x\x27s constructor is Object\n */\ncljs.core.object_QMARK_ \x3d (function cljs$core$object_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nreturn (x.constructor \x3d\x3d\x3d Object);\n} else {\nreturn false;\n}\n});\n/**\n * Returns true if x is a JavaScript string.\n */\ncljs.core.string_QMARK_ \x3d (function cljs$core$string_QMARK_(x){\nreturn (\x22string\x22 \x3d\x3d\x3d goog.typeOf(x));\n});\n/**\n * Returns true if x is a JavaScript string of length one.\n */\ncljs.core.char_QMARK_ \x3d (function cljs$core$char_QMARK_(x){\nreturn ((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 (((1) \x3d\x3d\x3d x.length)));\n});\n/**\n * Returns true if given any argument.\n */\ncljs.core.any_QMARK_ \x3d (function cljs$core$any_QMARK_(x){\nreturn true;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.native_satisfies_QMARK_ \x3d (function cljs$core$native_satisfies_QMARK_(p,x){\nvar x__$1 \x3d (((x \x3d\x3d null))?null:x);\nif((p[goog.typeOf(x__$1)])){\nreturn true;\n} else {\nif((p[\x22_\x22])){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\ncljs.core.is_proto_ \x3d (function cljs$core$is_proto_(x){\nreturn (x.constructor.prototype \x3d\x3d\x3d x);\n});\n/**\n * When compiled for a command-line target, whatever function\n *   *main-cli-fn* is set to will be called with the command-line\n *   argv as arguments\n */\ncljs.core._STAR_main_cli_fn_STAR_ \x3d null;\n/**\n * A sequence of the supplied command line arguments, or nil if\n *   none were supplied\n */\ncljs.core._STAR_command_line_args_STAR_ \x3d null;\n/**\n * Return x\x27s constructor.\n */\ncljs.core.type \x3d (function cljs$core$type(x){\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn x.constructor;\n}\n});\ncljs.core.missing_protocol \x3d (function cljs$core$missing_protocol(proto,obj){\nvar ty \x3d cljs.core.type(obj);\nvar ty__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d ty;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ty.cljs$lang$type;\n} else {\nreturn and__5023__auto__;\n}\n})())?ty.cljs$lang$ctorStr:goog.typeOf(obj));\nreturn (new Error([\x22No protocol method \x22,proto,\x22 defined for type \x22,ty__$1,\x22: \x22,obj].join(\x22\x22)));\n});\ncljs.core.type__GT_str \x3d (function cljs$core$type__GT_str(ty){\nvar temp__5802__auto__ \x3d ty.cljs$lang$ctorStr;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar s \x3d temp__5802__auto__;\nreturn s;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(ty);\n}\n});\ncljs.core.load_file \x3d (function cljs$core$load_file(file){\nif(cljs.core.truth_(COMPILED)){\nreturn null;\n} else {\nreturn goog.nodeGlobalRequire(file);\n}\n});\nif((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((goog.typeOf(Symbol) \x3d\x3d\x3d \x22function\x22)))){\ncljs.core.ITER_SYMBOL \x3d Symbol.iterator;\n} else {\ncljs.core.ITER_SYMBOL \x3d \x22@@iterator\x22;\n}\n/**\n * @enum {string}\n */\ncljs.core.CHAR_MAP \x3d ({\x22]\x22: \x22_RBRACK_\x22, \x22\x27\x22: \x22_SINGLEQUOTE_\x22, \x22\x3d\x22: \x22_EQ_\x22, \x22\\\x22\x22: \x22_DOUBLEQUOTE_\x22, \x22!\x22: \x22_BANG_\x22, \x22*\x22: \x22_STAR_\x22, \x22%\x22: \x22_PERCENT_\x22, \x22|\x22: \x22_BAR_\x22, \x22~\x22: \x22_TILDE_\x22, \x22/\x22: \x22_SLASH_\x22, \x22\\\\\x22: \x22_BSLASH_\x22, \x22-\x22: \x22_\x22, \x22?\x22: \x22_QMARK_\x22, \x22\x26\x22: \x22_AMPERSAND_\x22, \x22:\x22: \x22_COLON_\x22, \x22\x3c\x22: \x22_LT_\x22, \x22{\x22: \x22_LBRACE_\x22, \x22}\x22: \x22_RBRACE_\x22, \x22[\x22: \x22_LBRACK_\x22, \x22#\x22: \x22_SHARP_\x22, \x22^\x22: \x22_CARET_\x22, \x22+\x22: \x22_PLUS_\x22, \x22@\x22: \x22_CIRCA_\x22, \x22\x3e\x22: \x22_GT_\x22});\n/**\n * @enum {string}\n */\ncljs.core.DEMUNGE_MAP \x3d ({\x22_RBRACE_\x22: \x22}\x22, \x22_COLON_\x22: \x22:\x22, \x22_BANG_\x22: \x22!\x22, \x22_QMARK_\x22: \x22?\x22, \x22_BSLASH_\x22: \x22\\\\\\\\\x22, \x22_SLASH_\x22: \x22/\x22, \x22_PERCENT_\x22: \x22%\x22, \x22_PLUS_\x22: \x22+\x22, \x22_SHARP_\x22: \x22#\x22, \x22_LBRACE_\x22: \x22{\x22, \x22_BAR_\x22: \x22|\x22, \x22_LBRACK_\x22: \x22[\x22, \x22_EQ_\x22: \x22\x3d\x22, \x22_\x22: \x22-\x22, \x22_TILDE_\x22: \x22~\x22, \x22_RBRACK_\x22: \x22]\x22, \x22_GT_\x22: \x22\x3e\x22, \x22_SINGLEQUOTE_\x22: \x22\x27\x22, \x22_CIRCA_\x22: \x22@\x22, \x22_AMPERSAND_\x22: \x22\x26\x22, \x22_DOUBLEQUOTE_\x22: \x22\\\\\\\x22\x22, \x22_CARET_\x22: \x22^\x22, \x22_LT_\x22: \x22\x3c\x22, \x22_STAR_\x22: \x22*\x22});\ncljs.core.DEMUNGE_PATTERN \x3d null;\n/**\n * Returns highest resolution time offered by host in milliseconds.\n */\ncljs.core.system_time \x3d (function cljs$core$system_time(){\nif((((typeof performance !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((performance.now \x3d\x3d null)))))){\nreturn performance.now();\n} else {\nif((((typeof process !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((process.hrtime \x3d\x3d null)))))){\nvar t \x3d process.hrtime();\nreturn ((((t[(0)]) * 1.0E9) + (t[(1)])) / 1000000.0);\n} else {\nreturn (new Date()).getTime();\n\n}\n}\n});\n/**\n * Construct a JavaScript array of the specified dimensions. Accepts ignored\n *   type argument for compatibility with Clojure. Note that there is no efficient\n *   way to allocate multi-dimensional arrays in JavaScript; as such, this function\n *   will run in polynomial time when called with 3 or more arguments.\n */\ncljs.core.make_array \x3d (function cljs$core$make_array(var_args){\nvar G__26905 \x3d arguments.length;\nswitch (G__26905) {\ncase 1:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28667 \x3d arguments.length;\nvar i__5750__auto___28668 \x3d (0);\nwhile(true){\nif((i__5750__auto___28668 \x3c len__5749__auto___28667)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28668]));\n\nvar G__28669 \x3d (i__5750__auto___28668 + (1));\ni__5750__auto___28668 \x3d G__28669;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,size,more_sizes){\nvar dims \x3d more_sizes;\nvar dimarray \x3d (new Array(size));\nvar n__5616__auto___28677 \x3d dimarray.length;\nvar i_28678 \x3d (0);\nwhile(true){\nif((i_28678 \x3c n__5616__auto___28677)){\n(dimarray[i_28678] \x3d (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.make_array,null,dims) : cljs.core.apply.call(null,cljs.core.make_array,null,dims)));\n\nvar G__28681 \x3d (i_28678 + (1));\ni_28678 \x3d G__28681;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn dimarray;\n}));\n\n/** @this {Function} */\n(cljs.core.make_array.cljs$lang$applyTo \x3d (function (seq26902){\nvar G__26903 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26902) : cljs.core.first.call(null,seq26902));\nvar seq26902__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26902) : cljs.core.next.call(null,seq26902));\nvar G__26904 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26902__$1) : cljs.core.first.call(null,seq26902__$1));\nvar seq26902__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26902__$1) : cljs.core.next.call(null,seq26902__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26903,G__26904,seq26902__$2);\n}));\n\n(cljs.core.make_array.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a javascript array, cloned from the passed in array\n */\ncljs.core.aclone \x3d (function cljs$core$aclone(arr){\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(len));\nvar n__5616__auto___28688 \x3d len;\nvar i_28689 \x3d (0);\nwhile(true){\nif((i_28689 \x3c n__5616__auto___28688)){\n(new_arr[i_28689] \x3d (arr[i_28689]));\n\nvar G__28690 \x3d (i_28689 + (1));\ni_28689 \x3d G__28690;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_arr;\n});\n/**\n * Creates a new javascript array.\n * @param {...*} var_args\n */\ncljs.core.array \x3d (function cljs$core$array(var_args){\nvar a \x3d (new Array(arguments.length));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c a.length)){\n(a[i] \x3d (arguments[i]));\n\nvar G__28697 \x3d (i + (1));\ni \x3d G__28697;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n});\ncljs.core.maybe_warn \x3d (function cljs$core$maybe_warn(e){\nif(cljs.core.truth_(cljs.core._STAR_print_err_fn_STAR_)){\nreturn cljs.core._STAR_print_err_fn_STAR_.call(null,e);\n} else {\nreturn null;\n}\n});\ncljs.core.checked_aget \x3d (function cljs$core$checked_aget(var_args){\nvar G__26910 \x3d arguments.length;\nswitch (G__26910) {\ncase 2:\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28701 \x3d arguments.length;\nvar i__5750__auto___28702 \x3d (0);\nwhile(true){\nif((i__5750__auto___28702 \x3c len__5749__auto___28701)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28702]));\n\nvar G__28703 \x3d (i__5750__auto___28702 + (1));\ni__5750__auto___28702 \x3d G__28703;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\ntry{if(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e26911){var e_28710 \x3d e26911;\ncljs.core.maybe_warn(e_28710);\n}\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__26912 \x3d cljs.core.checked_aget;\nvar G__26913 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__26914 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__26912,G__26913,G__26914) : cljs.core.apply.call(null,G__26912,G__26913,G__26914));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget.cljs$lang$applyTo \x3d (function (seq26907){\nvar G__26908 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26907) : cljs.core.first.call(null,seq26907));\nvar seq26907__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26907) : cljs.core.next.call(null,seq26907));\nvar G__26909 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26907__$1) : cljs.core.first.call(null,seq26907__$1));\nvar seq26907__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26907__$1) : cljs.core.next.call(null,seq26907__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26908,G__26909,seq26907__$2);\n}));\n\n(cljs.core.checked_aget.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset \x3d (function cljs$core$checked_aset(var_args){\nvar G__26920 \x3d arguments.length;\nswitch (G__26920) {\ncase 3:\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28717 \x3d arguments.length;\nvar i__5750__auto___28718 \x3d (0);\nwhile(true){\nif((i__5750__auto___28718 \x3c len__5749__auto___28717)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28718]));\n\nvar G__28719 \x3d (i__5750__auto___28718 + (1));\ni__5750__auto___28718 \x3d G__28719;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\ntry{if(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e26921){var e_28721 \x3d e26921;\ncljs.core.maybe_warn(e_28721);\n}\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__26922 \x3d cljs.core.checked_aset;\nvar G__26923 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__26924 \x3d idx2;\nvar G__26925 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__26922,G__26923,G__26924,G__26925) : cljs.core.apply.call(null,G__26922,G__26923,G__26924,G__26925));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset.cljs$lang$applyTo \x3d (function (seq26916){\nvar G__26917 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26916) : cljs.core.first.call(null,seq26916));\nvar seq26916__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26916) : cljs.core.next.call(null,seq26916));\nvar G__26918 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26916__$1) : cljs.core.first.call(null,seq26916__$1));\nvar seq26916__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26916__$1) : cljs.core.next.call(null,seq26916__$1));\nvar G__26919 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26916__$2) : cljs.core.first.call(null,seq26916__$2));\nvar seq26916__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26916__$2) : cljs.core.next.call(null,seq26916__$2));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26917,G__26918,G__26919,seq26916__$3);\n}));\n\n(cljs.core.checked_aset.cljs$lang$maxFixedArity \x3d (3));\n\ncljs.core.checked_aget_SINGLEQUOTE_ \x3d (function cljs$core$checked_aget_SINGLEQUOTE_(var_args){\nvar G__26930 \x3d arguments.length;\nswitch (G__26930) {\ncase 2:\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28729 \x3d arguments.length;\nvar i__5750__auto___28730 \x3d (0);\nwhile(true){\nif((i__5750__auto___28730 \x3c len__5749__auto___28729)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28730]));\n\nvar G__28731 \x3d (i__5750__auto___28730 + (1));\ni__5750__auto___28730 \x3d G__28731;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__26931 \x3d cljs.core.checked_aget_SINGLEQUOTE_;\nvar G__26932 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__26933 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__26931,G__26932,G__26933) : cljs.core.apply.call(null,G__26931,G__26932,G__26933));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq26927){\nvar G__26928 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26927) : cljs.core.first.call(null,seq26927));\nvar seq26927__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26927) : cljs.core.next.call(null,seq26927));\nvar G__26929 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26927__$1) : cljs.core.first.call(null,seq26927__$1));\nvar seq26927__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26927__$1) : cljs.core.next.call(null,seq26927__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26928,G__26929,seq26927__$2);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset_SINGLEQUOTE_ \x3d (function cljs$core$checked_aset_SINGLEQUOTE_(var_args){\nvar G__26939 \x3d arguments.length;\nswitch (G__26939) {\ncase 3:\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28748 \x3d arguments.length;\nvar i__5750__auto___28750 \x3d (0);\nwhile(true){\nif((i__5750__auto___28750 \x3c len__5749__auto___28748)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28750]));\n\nvar G__28752 \x3d (i__5750__auto___28750 + (1));\ni__5750__auto___28750 \x3d G__28752;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__26940 \x3d cljs.core.checked_aset_SINGLEQUOTE_;\nvar G__26941 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__26942 \x3d idx2;\nvar G__26943 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__26940,G__26941,G__26942,G__26943) : cljs.core.apply.call(null,G__26940,G__26941,G__26942,G__26943));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq26935){\nvar G__26936 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26935) : cljs.core.first.call(null,seq26935));\nvar seq26935__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26935) : cljs.core.next.call(null,seq26935));\nvar G__26937 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26935__$1) : cljs.core.first.call(null,seq26935__$1));\nvar seq26935__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26935__$1) : cljs.core.next.call(null,seq26935__$1));\nvar G__26938 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26935__$2) : cljs.core.first.call(null,seq26935__$2));\nvar seq26935__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26935__$2) : cljs.core.next.call(null,seq26935__$2));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26936,G__26937,G__26938,seq26935__$3);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the value at the index/indices. Works on JavaScript arrays.\n */\ncljs.core.aget \x3d (function cljs$core$aget(var_args){\nvar G__26948 \x3d arguments.length;\nswitch (G__26948) {\ncase 2:\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28769 \x3d arguments.length;\nvar i__5750__auto___28770 \x3d (0);\nwhile(true){\nif((i__5750__auto___28770 \x3c len__5749__auto___28769)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28770]));\n\nvar G__28772 \x3d (i__5750__auto___28770 + (1));\ni__5750__auto___28770 \x3d G__28772;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nreturn (array[idx]);\n}));\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__26949 \x3d cljs.core.aget;\nvar G__26950 \x3d (array[idx]);\nvar G__26951 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__26949,G__26950,G__26951) : cljs.core.apply.call(null,G__26949,G__26950,G__26951));\n}));\n\n/** @this {Function} */\n(cljs.core.aget.cljs$lang$applyTo \x3d (function (seq26945){\nvar G__26946 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26945) : cljs.core.first.call(null,seq26945));\nvar seq26945__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26945) : cljs.core.next.call(null,seq26945));\nvar G__26947 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26945__$1) : cljs.core.first.call(null,seq26945__$1));\nvar seq26945__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26945__$1) : cljs.core.next.call(null,seq26945__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26946,G__26947,seq26945__$2);\n}));\n\n(cljs.core.aget.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Sets the value at the index/indices. Works on JavaScript arrays.\n *   Returns val.\n */\ncljs.core.aset \x3d (function cljs$core$aset(var_args){\nvar G__26957 \x3d arguments.length;\nswitch (G__26957) {\ncase 3:\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28785 \x3d arguments.length;\nvar i__5750__auto___28787 \x3d (0);\nwhile(true){\nif((i__5750__auto___28787 \x3c len__5749__auto___28785)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28787]));\n\nvar G__28789 \x3d (i__5750__auto___28787 + (1));\ni__5750__auto___28787 \x3d G__28789;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__26958 \x3d cljs.core.aset;\nvar G__26959 \x3d (array[idx]);\nvar G__26960 \x3d idx2;\nvar G__26961 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__26958,G__26959,G__26960,G__26961) : cljs.core.apply.call(null,G__26958,G__26959,G__26960,G__26961));\n}));\n\n/** @this {Function} */\n(cljs.core.aset.cljs$lang$applyTo \x3d (function (seq26953){\nvar G__26954 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26953) : cljs.core.first.call(null,seq26953));\nvar seq26953__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26953) : cljs.core.next.call(null,seq26953));\nvar G__26955 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26953__$1) : cljs.core.first.call(null,seq26953__$1));\nvar seq26953__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26953__$1) : cljs.core.next.call(null,seq26953__$1));\nvar G__26956 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26953__$2) : cljs.core.first.call(null,seq26953__$2));\nvar seq26953__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26953__$2) : cljs.core.next.call(null,seq26953__$2));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26954,G__26955,G__26956,seq26953__$3);\n}));\n\n(cljs.core.aset.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the length of the array. Works on arrays of all types.\n */\ncljs.core.alength \x3d (function cljs$core$alength(array){\nreturn array.length;\n});\n/**\n * Returns an array with components set to the values in aseq. Optional type\n *   argument accepted for compatibility with Clojure.\n */\ncljs.core.into_array \x3d (function cljs$core$into_array(var_args){\nvar G__26963 \x3d arguments.length;\nswitch (G__26963) {\ncase 1:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (aseq){\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(null,aseq);\n}));\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,aseq){\nvar G__26964 \x3d (function (a,x){\na.push(x);\n\nreturn a;\n});\nvar G__26965 \x3d [];\nvar G__26966 \x3d aseq;\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__26964,G__26965,G__26966) : cljs.core.reduce.call(null,G__26964,G__26965,G__26966));\n}));\n\n(cljs.core.into_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Invoke JavaScript object method via string. Needed when the\n *   string is not a valid unquoted property name.\n */\ncljs.core.js_invoke \x3d (function cljs$core$js_invoke(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___28821 \x3d arguments.length;\nvar i__5750__auto___28823 \x3d (0);\nwhile(true){\nif((i__5750__auto___28823 \x3c len__5749__auto___28821)){\nargs__5755__auto__.push((arguments[i__5750__auto___28823]));\n\nvar G__28826 \x3d (i__5750__auto___28823 + (1));\ni__5750__auto___28823 \x3d G__28826;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,s,args){\nreturn (obj[s]).apply(obj,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args));\n}));\n\n(cljs.core.js_invoke.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.js_invoke.cljs$lang$applyTo \x3d (function (seq26967){\nvar G__26968 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26967) : cljs.core.first.call(null,seq26967));\nvar seq26967__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26967) : cljs.core.next.call(null,seq26967));\nvar G__26969 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26967__$1) : cljs.core.first.call(null,seq26967__$1));\nvar seq26967__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26967__$1) : cljs.core.next.call(null,seq26967__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26968,G__26969,seq26967__$2);\n}));\n\n/**\n * Returns true if x is an instance of Symbol\n */\ncljs.core.js_symbol_QMARK_ \x3d (function cljs$core$js_symbol_QMARK_(x){\nreturn (((goog.typeOf(x) \x3d\x3d\x3d \x22symbol\x22)) || ((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((x instanceof Symbol)))));\n});\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.Fn \x3d function(){};\n\n\n/**\n * Protocol for adding the ability to invoke an object as a function.\n *   For example, a vector can also be used to look up a value:\n *   ([1 2 3 4] 1) \x3d\x3e 2\n * @interface\n */\ncljs.core.IFn \x3d function(){};\n\nvar cljs$core$IFn$_invoke$dyn_28838 \x3d (function() {\nvar G__28839 \x3d null;\nvar G__28839__1 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__2 \x3d (function (this$,a){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5374__auto__.call(null,this$,a));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5372__auto__.call(null,this$,a));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__3 \x3d (function (this$,a,b){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5374__auto__.call(null,this$,a,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5372__auto__.call(null,this$,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__4 \x3d (function (this$,a,b,c){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5374__auto__.call(null,this$,a,b,c));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5372__auto__.call(null,this$,a,b,c));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__5 \x3d (function (this$,a,b,c,d){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5374__auto__.call(null,this$,a,b,c,d));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5372__auto__.call(null,this$,a,b,c,d));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__6 \x3d (function (this$,a,b,c,d,e){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5374__auto__.call(null,this$,a,b,c,d,e));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5372__auto__.call(null,this$,a,b,c,d,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__7 \x3d (function (this$,a,b,c,d,e,f){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5374__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5372__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__8 \x3d (function (this$,a,b,c,d,e,f,g){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s, new cljs.core.IndexedSeq([t],0,null)) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s, new cljs.core.IndexedSeq([t],0,null)) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28839__22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s, new cljs.core.IndexedSeq([t,rest],0,null)) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s, new cljs.core.IndexedSeq([t,rest],0,null)) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nG__28839 \x3d function(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nswitch(arguments.length){\ncase 1:\nreturn G__28839__1.call(this,this$);\ncase 2:\nreturn G__28839__2.call(this,this$,a);\ncase 3:\nreturn G__28839__3.call(this,this$,a,b);\ncase 4:\nreturn G__28839__4.call(this,this$,a,b,c);\ncase 5:\nreturn G__28839__5.call(this,this$,a,b,c,d);\ncase 6:\nreturn G__28839__6.call(this,this$,a,b,c,d,e);\ncase 7:\nreturn G__28839__7.call(this,this$,a,b,c,d,e,f);\ncase 8:\nreturn G__28839__8.call(this,this$,a,b,c,d,e,f,g);\ncase 9:\nreturn G__28839__9.call(this,this$,a,b,c,d,e,f,g,h);\ncase 10:\nreturn G__28839__10.call(this,this$,a,b,c,d,e,f,g,h,i);\ncase 11:\nreturn G__28839__11.call(this,this$,a,b,c,d,e,f,g,h,i,j);\ncase 12:\nreturn G__28839__12.call(this,this$,a,b,c,d,e,f,g,h,i,j,k);\ncase 13:\nreturn G__28839__13.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l);\ncase 14:\nreturn G__28839__14.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\ncase 15:\nreturn G__28839__15.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\ncase 16:\nreturn G__28839__16.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\ncase 17:\nreturn G__28839__17.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\ncase 18:\nreturn G__28839__18.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\ncase 19:\nreturn G__28839__19.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\ncase 20:\nreturn G__28839__20.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\ncase 21:\nreturn G__28839__21.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\ncase 22:\nreturn G__28839__22.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__28839.cljs$core$IFn$_invoke$arity$1 \x3d G__28839__1;\nG__28839.cljs$core$IFn$_invoke$arity$2 \x3d G__28839__2;\nG__28839.cljs$core$IFn$_invoke$arity$3 \x3d G__28839__3;\nG__28839.cljs$core$IFn$_invoke$arity$4 \x3d G__28839__4;\nG__28839.cljs$core$IFn$_invoke$arity$5 \x3d G__28839__5;\nG__28839.cljs$core$IFn$_invoke$arity$6 \x3d G__28839__6;\nG__28839.cljs$core$IFn$_invoke$arity$7 \x3d G__28839__7;\nG__28839.cljs$core$IFn$_invoke$arity$8 \x3d G__28839__8;\nG__28839.cljs$core$IFn$_invoke$arity$9 \x3d G__28839__9;\nG__28839.cljs$core$IFn$_invoke$arity$10 \x3d G__28839__10;\nG__28839.cljs$core$IFn$_invoke$arity$11 \x3d G__28839__11;\nG__28839.cljs$core$IFn$_invoke$arity$12 \x3d G__28839__12;\nG__28839.cljs$core$IFn$_invoke$arity$13 \x3d G__28839__13;\nG__28839.cljs$core$IFn$_invoke$arity$14 \x3d G__28839__14;\nG__28839.cljs$core$IFn$_invoke$arity$15 \x3d G__28839__15;\nG__28839.cljs$core$IFn$_invoke$arity$16 \x3d G__28839__16;\nG__28839.cljs$core$IFn$_invoke$arity$17 \x3d G__28839__17;\nG__28839.cljs$core$IFn$_invoke$arity$18 \x3d G__28839__18;\nG__28839.cljs$core$IFn$_invoke$arity$19 \x3d G__28839__19;\nG__28839.cljs$core$IFn$_invoke$arity$20 \x3d G__28839__20;\nG__28839.cljs$core$IFn$_invoke$arity$21 \x3d G__28839__21;\nG__28839.cljs$core$IFn$_invoke$arity$22 \x3d G__28839__22;\nreturn G__28839;\n})()\n;\ncljs.core._invoke \x3d (function cljs$core$_invoke(var_args){\nvar G__26971 \x3d arguments.length;\nswitch (G__26971) {\ncase 1:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase 8:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$8((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase 9:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$9((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase 10:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$10((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase 11:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$11((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase 12:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$12((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase 13:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$13((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase 14:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$14((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase 15:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$15((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase 16:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$16((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase 17:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$17((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase 18:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$18((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase 19:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$19((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase 20:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$20((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase 21:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$21((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase 22:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$22((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$1 \x3d (function (this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$1(this$);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$2 \x3d (function (this$,a){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$2(this$,a);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$3 \x3d (function (this$,a,b){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$3(this$,a,b);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$4 \x3d (function (this$,a,b,c){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$4 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$4(this$,a,b,c);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$5 \x3d (function (this$,a,b,c,d){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$5 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$6 \x3d (function (this$,a,b,c,d,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$6 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$7 \x3d (function (this$,a,b,c,d,e,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$7 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$8 \x3d (function (this$,a,b,c,d,e,f,g){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$8 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$9 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$10 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$11 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$12 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$13 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$14 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$15 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$16 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$17 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$18 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$19 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$20 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$21 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$22 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28838(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\n}));\n\n(cljs.core._invoke.cljs$lang$maxFixedArity \x3d 22);\n\n\n\n/**\n * Protocol for cloning a value.\n * @interface\n */\ncljs.core.ICloneable \x3d function(){};\n\nvar cljs$core$ICloneable$_clone$dyn_29489 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (cljs.core._clone[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._clone[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22ICloneable.-clone\x22,value);\n}\n}\n});\n/**\n * Creates a clone of value.\n */\ncljs.core._clone \x3d (function cljs$core$_clone(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.cljs$core$ICloneable$_clone$arity$1 \x3d\x3d null)))))){\nreturn value.cljs$core$ICloneable$_clone$arity$1(value);\n} else {\nreturn cljs$core$ICloneable$_clone$dyn_29489(value);\n}\n});\n\n\n/**\n * Protocol for adding the ability to count a collection in constant time.\n * @interface\n */\ncljs.core.ICounted \x3d function(){};\n\nvar cljs$core$ICounted$_count$dyn_29504 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._count[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._count[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ICounted.-count\x22,coll);\n}\n}\n});\n/**\n * Calculates the count of coll in constant time. Used by cljs.core/count.\n */\ncljs.core._count \x3d (function cljs$core$_count(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICounted$_count$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICounted$_count$arity$1(coll);\n} else {\nreturn cljs$core$ICounted$_count$dyn_29504(coll);\n}\n});\n\n\n/**\n * Protocol for creating an empty collection.\n * @interface\n */\ncljs.core.IEmptyableCollection \x3d function(){};\n\nvar cljs$core$IEmptyableCollection$_empty$dyn_29521 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._empty[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._empty[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEmptyableCollection.-empty\x22,coll);\n}\n}\n});\n/**\n * Returns an empty collection of the same category as coll. Used\n *   by cljs.core/empty.\n */\ncljs.core._empty \x3d (function cljs$core$_empty(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(coll);\n} else {\nreturn cljs$core$IEmptyableCollection$_empty$dyn_29521(coll);\n}\n});\n\n\n/**\n * Protocol for adding to a collection.\n * @interface\n */\ncljs.core.ICollection \x3d function(){};\n\nvar cljs$core$ICollection$_conj$dyn_29530 \x3d (function (coll,o){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._conj[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5374__auto__.call(null,coll,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._conj[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5372__auto__.call(null,coll,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ICollection.-conj\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with o added to it. The new item\n *   should be added to the most efficient place, e.g.\n *   (conj [1 2 3 4] 5) \x3d\x3e [1 2 3 4 5]\n *   (conj \x27(2 3 4 5) 1) \x3d\x3e \x27(1 2 3 4 5)\n */\ncljs.core._conj \x3d (function cljs$core$_conj(coll,o){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICollection$_conj$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICollection$_conj$arity$2(coll,o);\n} else {\nreturn cljs$core$ICollection$_conj$dyn_29530(coll,o);\n}\n});\n\n\n/**\n * Protocol for collections to provide indexed-based access to their items.\n * @interface\n */\ncljs.core.IIndexed \x3d function(){};\n\nvar cljs$core$IIndexed$_nth$dyn_29545 \x3d (function() {\nvar G__29546 \x3d null;\nvar G__29546__2 \x3d (function (coll,n){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5374__auto__.call(null,coll,n));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5372__auto__.call(null,coll,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nvar G__29546__3 \x3d (function (coll,n,not_found){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5374__auto__.call(null,coll,n,not_found));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5372__auto__.call(null,coll,n,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nG__29546 \x3d function(coll,n,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__29546__2.call(this,coll,n);\ncase 3:\nreturn G__29546__3.call(this,coll,n,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29546.cljs$core$IFn$_invoke$arity$2 \x3d G__29546__2;\nG__29546.cljs$core$IFn$_invoke$arity$3 \x3d G__29546__3;\nreturn G__29546;\n})()\n;\n/**\n * Returns the value at the index n in the collection coll.\n *   Returns not-found if index n is out of bounds and not-found is supplied.\n */\ncljs.core._nth \x3d (function cljs$core$_nth(var_args){\nvar G__26973 \x3d arguments.length;\nswitch (G__26973) {\ncase 2:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(coll,n);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_29545(coll,n);\n}\n}));\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(coll,n,not_found);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_29545(coll,n,not_found);\n}\n}));\n\n(cljs.core._nth.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Marker protocol indicating an array sequence.\n * @interface\n */\ncljs.core.ASeq \x3d function(){};\n\n\n/**\n * Protocol for collections to provide access to their items as sequences.\n * @interface\n */\ncljs.core.ISeq \x3d function(){};\n\nvar cljs$core$ISeq$_first$dyn_29574 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._first[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._first[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first item in the collection coll. Used by cljs.core/first.\n */\ncljs.core._first \x3d (function cljs$core$_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_first$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_first$dyn_29574(coll);\n}\n});\n\nvar cljs$core$ISeq$_rest$dyn_29584 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._rest[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._rest[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-rest\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. It should\n *   always return a seq, e.g.\n *   (rest []) \x3d\x3e ()\n *   (rest nil) \x3d\x3e ()\n */\ncljs.core._rest \x3d (function cljs$core$_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_rest$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_rest$dyn_29584(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the next items of a collection.\n * @interface\n */\ncljs.core.INext \x3d function(){};\n\nvar cljs$core$INext$_next$dyn_29591 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._next[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._next[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22INext.-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. In contrast to\n *   rest, it should return nil if there are no more items, e.g.\n *   (next []) \x3d\x3e nil\n *   (next nil) \x3d\x3e nil\n */\ncljs.core._next \x3d (function cljs$core$_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$INext$_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$INext$_next$arity$1(coll);\n} else {\nreturn cljs$core$INext$_next$dyn_29591(coll);\n}\n});\n\n\n/**\n * Protocol for looking up a value in a data structure.\n * @interface\n */\ncljs.core.ILookup \x3d function(){};\n\nvar cljs$core$ILookup$_lookup$dyn_29602 \x3d (function() {\nvar G__29603 \x3d null;\nvar G__29603__2 \x3d (function (o,k){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5374__auto__.call(null,o,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5372__auto__.call(null,o,k));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nvar G__29603__3 \x3d (function (o,k,not_found){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5374__auto__.call(null,o,k,not_found));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5372__auto__.call(null,o,k,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nG__29603 \x3d function(o,k,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__29603__2.call(this,o,k);\ncase 3:\nreturn G__29603__3.call(this,o,k,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29603.cljs$core$IFn$_invoke$arity$2 \x3d G__29603__2;\nG__29603.cljs$core$IFn$_invoke$arity$3 \x3d G__29603__3;\nreturn G__29603;\n})()\n;\n/**\n * Use k to look up a value in o. If not-found is supplied and k is not\n *   a valid value that can be used for look up, not-found is returned.\n */\ncljs.core._lookup \x3d (function cljs$core$_lookup(var_args){\nvar G__26975 \x3d arguments.length;\nswitch (G__26975) {\ncase 2:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$2(o,k);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_29602(o,k);\n}\n}));\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$3(o,k,not_found);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_29602(o,k,not_found);\n}\n}));\n\n(cljs.core._lookup.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for adding associativity to collections.\n * @interface\n */\ncljs.core.IAssociative \x3d function(){};\n\nvar cljs$core$IAssociative$_contains_key_QMARK_$dyn_29621 \x3d (function (coll,k){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._contains_key_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5374__auto__.call(null,coll,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._contains_key_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5372__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-contains-key?\x22,coll);\n}\n}\n});\n/**\n * Returns true if k is a key in coll.\n */\ncljs.core._contains_key_QMARK_ \x3d (function cljs$core$_contains_key_QMARK_(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(coll,k);\n} else {\nreturn cljs$core$IAssociative$_contains_key_QMARK_$dyn_29621(coll,k);\n}\n});\n\nvar cljs$core$IAssociative$_assoc$dyn_29623 \x3d (function (coll,k,v){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._assoc[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5374__auto__.call(null,coll,k,v));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._assoc[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5372__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-assoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with a mapping from key k to\n *   value v added to it.\n */\ncljs.core._assoc \x3d (function cljs$core$_assoc(coll,k,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_assoc$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(coll,k,v);\n} else {\nreturn cljs$core$IAssociative$_assoc$dyn_29623(coll,k,v);\n}\n});\n\n\n/**\n * Protocol for implementing entry finding in collections.\n * @interface\n */\ncljs.core.IFind \x3d function(){};\n\nvar cljs$core$IFind$_find$dyn_29630 \x3d (function (coll,k){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._find[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5374__auto__.call(null,coll,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._find[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5372__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFind.-find\x22,coll);\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core._find \x3d (function cljs$core$_find(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IFind$_find$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IFind$_find$arity$2(coll,k);\n} else {\nreturn cljs$core$IFind$_find$dyn_29630(coll,k);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to collections.\n * @interface\n */\ncljs.core.IMap \x3d function(){};\n\nvar cljs$core$IMap$_dissoc$dyn_29645 \x3d (function (coll,k){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._dissoc[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5374__auto__.call(null,coll,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._dissoc[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5372__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IMap.-dissoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the mapping for key k.\n */\ncljs.core._dissoc \x3d (function cljs$core$_dissoc(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMap$_dissoc$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMap$_dissoc$arity$2(coll,k);\n} else {\nreturn cljs$core$IMap$_dissoc$dyn_29645(coll,k);\n}\n});\n\n\n/**\n * Protocol for examining a map entry.\n * @interface\n */\ncljs.core.IMapEntry \x3d function(){};\n\nvar cljs$core$IMapEntry$_key$dyn_29670 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._key[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._key[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core._key \x3d (function cljs$core$_key(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_key$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_key$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_key$dyn_29670(coll);\n}\n});\n\nvar cljs$core$IMapEntry$_val$dyn_29681 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._val[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._val[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-val\x22,coll);\n}\n}\n});\n/**\n * Returns the value of the map entry.\n */\ncljs.core._val \x3d (function cljs$core$_val(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_val$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_val$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_val$dyn_29681(coll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a collection.\n * @interface\n */\ncljs.core.ISet \x3d function(){};\n\nvar cljs$core$ISet$_disjoin$dyn_29682 \x3d (function (coll,v){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._disjoin[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5374__auto__.call(null,coll,v));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._disjoin[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5372__auto__.call(null,coll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ISet.-disjoin\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll that does not contain v.\n */\ncljs.core._disjoin \x3d (function cljs$core$_disjoin(coll,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISet$_disjoin$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISet$_disjoin$arity$2(coll,v);\n} else {\nreturn cljs$core$ISet$_disjoin$dyn_29682(coll,v);\n}\n});\n\n\n/**\n * Protocol for collections to provide access to their items as stacks. The top\n *   of the stack should be accessed in the most efficient way for the different\n *   data structures.\n * @interface\n */\ncljs.core.IStack \x3d function(){};\n\nvar cljs$core$IStack$_peek$dyn_29692 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._peek[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._peek[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-peek\x22,coll);\n}\n}\n});\n/**\n * Returns the item from the top of the stack. Is used by cljs.core/peek.\n */\ncljs.core._peek \x3d (function cljs$core$_peek(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_peek$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_peek$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_peek$dyn_29692(coll);\n}\n});\n\nvar cljs$core$IStack$_pop$dyn_29699 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._pop[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._pop[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-pop\x22,coll);\n}\n}\n});\n/**\n * Returns a new stack without the item on top of the stack. Is used\n *   by cljs.core/pop.\n */\ncljs.core._pop \x3d (function cljs$core$_pop(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_pop$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_pop$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_pop$dyn_29699(coll);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to collections.\n * @interface\n */\ncljs.core.IVector \x3d function(){};\n\nvar cljs$core$IVector$_assoc_n$dyn_29705 \x3d (function (coll,n,val){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._assoc_n[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5374__auto__.call(null,coll,n,val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._assoc_n[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5372__auto__.call(null,coll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22IVector.-assoc-n\x22,coll);\n}\n}\n});\n/**\n * Returns a new vector with value val added at position n.\n */\ncljs.core._assoc_n \x3d (function cljs$core$_assoc_n(coll,n,val){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IVector$_assoc_n$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IVector$_assoc_n$arity$3(coll,n,val);\n} else {\nreturn cljs$core$IVector$_assoc_n$dyn_29705(coll,n,val);\n}\n});\n\n\n/**\n * Protocol for adding dereference functionality to a reference.\n * @interface\n */\ncljs.core.IDeref \x3d function(){};\n\nvar cljs$core$IDeref$_deref$dyn_29708 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._deref[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._deref[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IDeref.-deref\x22,o);\n}\n}\n});\n/**\n * Returns the value of the reference o.\n */\ncljs.core._deref \x3d (function cljs$core$_deref(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDeref$_deref$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IDeref$_deref$arity$1(o);\n} else {\nreturn cljs$core$IDeref$_deref$dyn_29708(o);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.IDerefWithTimeout \x3d function(){};\n\nvar cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_29713 \x3d (function (o,msec,timeout_val){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._deref_with_timeout[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5374__auto__.call(null,o,msec,timeout_val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._deref_with_timeout[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5372__auto__.call(null,o,msec,timeout_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IDerefWithTimeout.-deref-with-timeout\x22,o);\n}\n}\n});\ncljs.core._deref_with_timeout \x3d (function cljs$core$_deref_with_timeout(o,msec,timeout_val){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3(o,msec,timeout_val);\n} else {\nreturn cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_29713(o,msec,timeout_val);\n}\n});\n\n\n/**\n * Protocol for accessing the metadata of an object.\n * @interface\n */\ncljs.core.IMeta \x3d function(){};\n\nvar cljs$core$IMeta$_meta$dyn_29717 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._meta[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._meta[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IMeta.-meta\x22,o);\n}\n}\n});\n/**\n * Returns the metadata of object o.\n */\ncljs.core._meta \x3d (function cljs$core$_meta(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IMeta$_meta$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IMeta$_meta$arity$1(o);\n} else {\nreturn cljs$core$IMeta$_meta$dyn_29717(o);\n}\n});\n\n\n/**\n * Protocol for adding metadata to an object.\n * @interface\n */\ncljs.core.IWithMeta \x3d function(){};\n\nvar cljs$core$IWithMeta$_with_meta$dyn_29721 \x3d (function (o,meta){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._with_meta[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5374__auto__.call(null,o,meta));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._with_meta[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5372__auto__.call(null,o,meta));\n} else {\nthrow cljs.core.missing_protocol(\x22IWithMeta.-with-meta\x22,o);\n}\n}\n});\n/**\n * Returns a new object with value of o and metadata meta added to it.\n */\ncljs.core._with_meta \x3d (function cljs$core$_with_meta(o,meta){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IWithMeta$_with_meta$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IWithMeta$_with_meta$arity$2(o,meta);\n} else {\nreturn cljs$core$IWithMeta$_with_meta$dyn_29721(o,meta);\n}\n});\n\n\n/**\n * Protocol for seq types that can reduce themselves.\n *   Called by cljs.core/reduce.\n * @interface\n */\ncljs.core.IReduce \x3d function(){};\n\nvar cljs$core$IReduce$_reduce$dyn_29726 \x3d (function() {\nvar G__29727 \x3d null;\nvar G__29727__2 \x3d (function (coll,f){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5374__auto__.call(null,coll,f));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5372__auto__.call(null,coll,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nvar G__29727__3 \x3d (function (coll,f,start){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5374__auto__.call(null,coll,f,start));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5372__auto__.call(null,coll,f,start));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nG__29727 \x3d function(coll,f,start){\nswitch(arguments.length){\ncase 2:\nreturn G__29727__2.call(this,coll,f);\ncase 3:\nreturn G__29727__3.call(this,coll,f,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29727.cljs$core$IFn$_invoke$arity$2 \x3d G__29727__2;\nG__29727.cljs$core$IFn$_invoke$arity$3 \x3d G__29727__3;\nreturn G__29727;\n})()\n;\n/**\n * f should be a function of 2 arguments. If start is not supplied,\n *   returns the result of applying f to the first 2 items in coll, then\n *   applying f to that result and the 3rd item, etc.\n */\ncljs.core._reduce \x3d (function cljs$core$_reduce(var_args){\nvar G__26977 \x3d arguments.length;\nswitch (G__26977) {\ncase 2:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(coll,f);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_29726(coll,f);\n}\n}));\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,start){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(coll,f,start);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_29726(coll,f,start);\n}\n}));\n\n(cljs.core._reduce.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for associative types that can reduce themselves\n *   via a function of key and val. Called by cljs.core/reduce-kv.\n * @interface\n */\ncljs.core.IKVReduce \x3d function(){};\n\nvar cljs$core$IKVReduce$_kv_reduce$dyn_29740 \x3d (function (coll,f,init){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._kv_reduce[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5374__auto__.call(null,coll,f,init));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._kv_reduce[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5372__auto__.call(null,coll,f,init));\n} else {\nthrow cljs.core.missing_protocol(\x22IKVReduce.-kv-reduce\x22,coll);\n}\n}\n});\n/**\n * Reduces an associative collection and returns the result. f should be\n *   a function that takes three arguments.\n */\ncljs.core._kv_reduce \x3d (function cljs$core$_kv_reduce(coll,f,init){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IKVReduce$_kv_reduce$arity$3(coll,f,init);\n} else {\nreturn cljs$core$IKVReduce$_kv_reduce$dyn_29740(coll,f,init);\n}\n});\n\n\n/**\n * Protocol for adding value comparison functionality to a type.\n * @interface\n */\ncljs.core.IEquiv \x3d function(){};\n\nvar cljs$core$IEquiv$_equiv$dyn_29748 \x3d (function (o,other){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._equiv[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5374__auto__.call(null,o,other));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._equiv[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5372__auto__.call(null,o,other));\n} else {\nthrow cljs.core.missing_protocol(\x22IEquiv.-equiv\x22,o);\n}\n}\n});\n/**\n * Returns true if o and other are equal, false otherwise.\n */\ncljs.core._equiv \x3d (function cljs$core$_equiv(o,other){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IEquiv$_equiv$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IEquiv$_equiv$arity$2(o,other);\n} else {\nreturn cljs$core$IEquiv$_equiv$dyn_29748(o,other);\n}\n});\n\n\n/**\n * Protocol for adding hashing functionality to a type.\n * @interface\n */\ncljs.core.IHash \x3d function(){};\n\nvar cljs$core$IHash$_hash$dyn_29751 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._hash[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._hash[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IHash.-hash\x22,o);\n}\n}\n});\n/**\n * Returns the hash code of o.\n */\ncljs.core._hash \x3d (function cljs$core$_hash(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IHash$_hash$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IHash$_hash$arity$1(o);\n} else {\nreturn cljs$core$IHash$_hash$dyn_29751(o);\n}\n});\n\n\n/**\n * Protocol for adding the ability to a type to be transformed into a sequence.\n * @interface\n */\ncljs.core.ISeqable \x3d function(){};\n\nvar cljs$core$ISeqable$_seq$dyn_29753 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._seq[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._seq[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeqable.-seq\x22,o);\n}\n}\n});\n/**\n * Returns a seq of o, or nil if o is empty.\n */\ncljs.core._seq \x3d (function cljs$core$_seq(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISeqable$_seq$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$ISeqable$_seq$arity$1(o);\n} else {\nreturn cljs$core$ISeqable$_seq$dyn_29753(o);\n}\n});\n\n\n/**\n * Marker interface indicating a persistent collection of sequential items\n * @interface\n */\ncljs.core.ISequential \x3d function(){};\n\n\n/**\n * Marker interface indicating a persistent list\n * @interface\n */\ncljs.core.IList \x3d function(){};\n\n\n/**\n * Marker interface indicating a record object\n * @interface\n */\ncljs.core.IRecord \x3d function(){};\n\n\n/**\n * Protocol for reversing a seq.\n * @interface\n */\ncljs.core.IReversible \x3d function(){};\n\nvar cljs$core$IReversible$_rseq$dyn_29754 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._rseq[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._rseq[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IReversible.-rseq\x22,coll);\n}\n}\n});\n/**\n * Returns a seq of the items in coll in reversed order.\n */\ncljs.core._rseq \x3d (function cljs$core$_rseq(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReversible$_rseq$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReversible$_rseq$arity$1(coll);\n} else {\nreturn cljs$core$IReversible$_rseq$dyn_29754(coll);\n}\n});\n\n\n/**\n * Protocol for a collection which can represent their items\n *   in a sorted manner. \n * @interface\n */\ncljs.core.ISorted \x3d function(){};\n\nvar cljs$core$ISorted$_sorted_seq$dyn_29756 \x3d (function (coll,ascending_QMARK_){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._sorted_seq[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5374__auto__.call(null,coll,ascending_QMARK_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._sorted_seq[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5372__auto__.call(null,coll,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n */\ncljs.core._sorted_seq \x3d (function cljs$core$_sorted_seq(coll,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq$arity$2(coll,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq$dyn_29756(coll,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_sorted_seq_from$dyn_29757 \x3d (function (coll,k,ascending_QMARK_){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._sorted_seq_from[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5374__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._sorted_seq_from[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5372__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq-from\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n *   If ascending is true, the result should contain all items which are \x3e or \x3e\x3d\n *   than k. If ascending is false, the result should contain all items which\n *   are \x3c or \x3c\x3d than k, e.g.\n *   (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 true) \x3d\x3e (3 4 5)\n *   (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 false) \x3d\x3e (3 2 1)\n */\ncljs.core._sorted_seq_from \x3d (function cljs$core$_sorted_seq_from(coll,k,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq_from$arity$3(coll,k,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq_from$dyn_29757(coll,k,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_entry_key$dyn_29758 \x3d (function (coll,entry){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._entry_key[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5374__auto__.call(null,coll,entry));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._entry_key[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5372__auto__.call(null,coll,entry));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-entry-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key for entry.\n */\ncljs.core._entry_key \x3d (function cljs$core$_entry_key(coll,entry){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_entry_key$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_entry_key$arity$2(coll,entry);\n} else {\nreturn cljs$core$ISorted$_entry_key$dyn_29758(coll,entry);\n}\n});\n\nvar cljs$core$ISorted$_comparator$dyn_29764 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._comparator[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._comparator[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-comparator\x22,coll);\n}\n}\n});\n/**\n * Returns the comparator for coll.\n */\ncljs.core._comparator \x3d (function cljs$core$_comparator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_comparator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_comparator$arity$1(coll);\n} else {\nreturn cljs$core$ISorted$_comparator$dyn_29764(coll);\n}\n});\n\n\n/**\n * Protocol for writing. Currently only implemented by StringBufferWriter.\n * @interface\n */\ncljs.core.IWriter \x3d function(){};\n\nvar cljs$core$IWriter$_write$dyn_29765 \x3d (function (writer,s){\nvar x__5373__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5374__auto__ \x3d (cljs.core._write[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5374__auto__.call(null,writer,s));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._write[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5372__auto__.call(null,writer,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-write\x22,writer);\n}\n}\n});\n/**\n * Writes s with writer and returns the result.\n */\ncljs.core._write \x3d (function cljs$core$_write(writer,s){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_write$arity$2 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_write$arity$2(writer,s);\n} else {\nreturn cljs$core$IWriter$_write$dyn_29765(writer,s);\n}\n});\n\nvar cljs$core$IWriter$_flush$dyn_29766 \x3d (function (writer){\nvar x__5373__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5374__auto__ \x3d (cljs.core._flush[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5374__auto__.call(null,writer));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._flush[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5372__auto__.call(null,writer));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-flush\x22,writer);\n}\n}\n});\n/**\n * Flush writer.\n */\ncljs.core._flush \x3d (function cljs$core$_flush(writer){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_flush$arity$1 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_flush$arity$1(writer);\n} else {\nreturn cljs$core$IWriter$_flush$dyn_29766(writer);\n}\n});\n\n\n/**\n * The old IPrintable protocol\x27s implementation consisted of building a giant\n * list of strings to concatenate.  This involved lots of concat calls,\n * intermediate vectors, and lazy-seqs, and was very slow in some older JS\n * engines.  IPrintWithWriter implements printing via the IWriter protocol, so it\n * be implemented efficiently in terms of e.g. a StringBuffer append.\n * @interface\n */\ncljs.core.IPrintWithWriter \x3d function(){};\n\nvar cljs$core$IPrintWithWriter$_pr_writer$dyn_29768 \x3d (function (o,writer,opts){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._pr_writer[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5374__auto__.call(null,o,writer,opts));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._pr_writer[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5372__auto__.call(null,o,writer,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrintWithWriter.-pr-writer\x22,o);\n}\n}\n});\ncljs.core._pr_writer \x3d (function cljs$core$_pr_writer(o,writer,opts){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IPrintWithWriter$_pr_writer$arity$3(o,writer,opts);\n} else {\nreturn cljs$core$IPrintWithWriter$_pr_writer$dyn_29768(o,writer,opts);\n}\n});\n\n\n/**\n * Protocol for types which can have a deferred realization. Currently only\n *   implemented by Delay and LazySeq.\n * @interface\n */\ncljs.core.IPending \x3d function(){};\n\nvar cljs$core$IPending$_realized_QMARK_$dyn_29773 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._realized_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._realized_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IPending.-realized?\x22,x);\n}\n}\n});\n/**\n * Returns true if a value for x has been produced, false otherwise.\n */\ncljs.core._realized_QMARK_ \x3d (function cljs$core$_realized_QMARK_(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IPending$_realized_QMARK_$arity$1(x);\n} else {\nreturn cljs$core$IPending$_realized_QMARK_$dyn_29773(x);\n}\n});\n\n\n/**\n * Protocol for types that can be watched. Currently only implemented by Atom.\n * @interface\n */\ncljs.core.IWatchable \x3d function(){};\n\nvar cljs$core$IWatchable$_notify_watches$dyn_29775 \x3d (function (this$,oldval,newval){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._notify_watches[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5374__auto__.call(null,this$,oldval,newval));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._notify_watches[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5372__auto__.call(null,this$,oldval,newval));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-notify-watches\x22,this$);\n}\n}\n});\n/**\n * Calls all watchers with this, oldval and newval.\n */\ncljs.core._notify_watches \x3d (function cljs$core$_notify_watches(this$,oldval,newval){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_notify_watches$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_notify_watches$arity$3(this$,oldval,newval);\n} else {\nreturn cljs$core$IWatchable$_notify_watches$dyn_29775(this$,oldval,newval);\n}\n});\n\nvar cljs$core$IWatchable$_add_watch$dyn_29781 \x3d (function (this$,key,f){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._add_watch[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5374__auto__.call(null,this$,key,f));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._add_watch[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5372__auto__.call(null,this$,key,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-add-watch\x22,this$);\n}\n}\n});\n/**\n * Adds a watcher function f to this. Keys must be unique per reference,\n *   and can be used to remove the watch with -remove-watch.\n */\ncljs.core._add_watch \x3d (function cljs$core$_add_watch(this$,key,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_add_watch$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_add_watch$arity$3(this$,key,f);\n} else {\nreturn cljs$core$IWatchable$_add_watch$dyn_29781(this$,key,f);\n}\n});\n\nvar cljs$core$IWatchable$_remove_watch$dyn_29782 \x3d (function (this$,key){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._remove_watch[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5374__auto__.call(null,this$,key));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._remove_watch[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5372__auto__.call(null,this$,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-remove-watch\x22,this$);\n}\n}\n});\n/**\n * Removes watcher that corresponds to key from this.\n */\ncljs.core._remove_watch \x3d (function cljs$core$_remove_watch(this$,key){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_remove_watch$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_remove_watch$arity$2(this$,key);\n} else {\nreturn cljs$core$IWatchable$_remove_watch$dyn_29782(this$,key);\n}\n});\n\n\n/**\n * Protocol for collections which can transformed to transients.\n * @interface\n */\ncljs.core.IEditableCollection \x3d function(){};\n\nvar cljs$core$IEditableCollection$_as_transient$dyn_29783 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._as_transient[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._as_transient[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEditableCollection.-as-transient\x22,coll);\n}\n}\n});\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core._as_transient \x3d (function cljs$core$_as_transient(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEditableCollection$_as_transient$arity$1(coll);\n} else {\nreturn cljs$core$IEditableCollection$_as_transient$dyn_29783(coll);\n}\n});\n\n\n/**\n * Protocol for adding basic functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientCollection \x3d function(){};\n\nvar cljs$core$ITransientCollection$_conj_BANG_$dyn_29785 \x3d (function (tcoll,val){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._conj_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5374__auto__.call(null,tcoll,val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._conj_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5372__auto__.call(null,tcoll,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-conj!\x22,tcoll);\n}\n}\n});\n/**\n * Adds value val to tcoll and returns tcoll.\n */\ncljs.core._conj_BANG_ \x3d (function cljs$core$_conj_BANG_(tcoll,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2(tcoll,val);\n} else {\nreturn cljs$core$ITransientCollection$_conj_BANG_$dyn_29785(tcoll,val);\n}\n});\n\nvar cljs$core$ITransientCollection$_persistent_BANG_$dyn_29789 \x3d (function (tcoll){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._persistent_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5374__auto__.call(null,tcoll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._persistent_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5372__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-persistent!\x22,tcoll);\n}\n}\n});\n/**\n * Creates a persistent data structure from tcoll and returns it.\n */\ncljs.core._persistent_BANG_ \x3d (function cljs$core$_persistent_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientCollection$_persistent_BANG_$dyn_29789(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding associativity to transient collections.\n * @interface\n */\ncljs.core.ITransientAssociative \x3d function(){};\n\nvar cljs$core$ITransientAssociative$_assoc_BANG_$dyn_29790 \x3d (function (tcoll,key,val){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._assoc_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5374__auto__.call(null,tcoll,key,val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._assoc_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5372__auto__.call(null,tcoll,key,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientAssociative.-assoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll with a mapping from key to\n *   val added to it.\n */\ncljs.core._assoc_BANG_ \x3d (function cljs$core$_assoc_BANG_(tcoll,key,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(tcoll,key,val);\n} else {\nreturn cljs$core$ITransientAssociative$_assoc_BANG_$dyn_29790(tcoll,key,val);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientMap \x3d function(){};\n\nvar cljs$core$ITransientMap$_dissoc_BANG_$dyn_29796 \x3d (function (tcoll,key){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._dissoc_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5374__auto__.call(null,tcoll,key));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._dissoc_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5372__auto__.call(null,tcoll,key));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientMap.-dissoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll without the mapping for key.\n */\ncljs.core._dissoc_BANG_ \x3d (function cljs$core$_dissoc_BANG_(tcoll,key){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2(tcoll,key);\n} else {\nreturn cljs$core$ITransientMap$_dissoc_BANG_$dyn_29796(tcoll,key);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientVector \x3d function(){};\n\nvar cljs$core$ITransientVector$_assoc_n_BANG_$dyn_29801 \x3d (function (tcoll,n,val){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._assoc_n_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5374__auto__.call(null,tcoll,n,val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._assoc_n_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5372__auto__.call(null,tcoll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-assoc-n!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with value val added at position n.\n */\ncljs.core._assoc_n_BANG_ \x3d (function cljs$core$_assoc_n_BANG_(tcoll,n,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(tcoll,n,val);\n} else {\nreturn cljs$core$ITransientVector$_assoc_n_BANG_$dyn_29801(tcoll,n,val);\n}\n});\n\nvar cljs$core$ITransientVector$_pop_BANG_$dyn_29804 \x3d (function (tcoll){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._pop_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5374__auto__.call(null,tcoll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._pop_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5372__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-pop!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with the last item removed from it.\n */\ncljs.core._pop_BANG_ \x3d (function cljs$core$_pop_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientVector$_pop_BANG_$dyn_29804(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a transient collection.\n * @interface\n */\ncljs.core.ITransientSet \x3d function(){};\n\nvar cljs$core$ITransientSet$_disjoin_BANG_$dyn_29813 \x3d (function (tcoll,v){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._disjoin_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5374__auto__.call(null,tcoll,v));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._disjoin_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5372__auto__.call(null,tcoll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientSet.-disjoin!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll without v.\n */\ncljs.core._disjoin_BANG_ \x3d (function cljs$core$_disjoin_BANG_(tcoll,v){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2(tcoll,v);\n} else {\nreturn cljs$core$ITransientSet$_disjoin_BANG_$dyn_29813(tcoll,v);\n}\n});\n\n\n/**\n * Protocol for values that can be compared.\n * @interface\n */\ncljs.core.IComparable \x3d function(){};\n\nvar cljs$core$IComparable$_compare$dyn_29819 \x3d (function (x,y){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._compare[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5374__auto__.call(null,x,y));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._compare[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5372__auto__.call(null,x,y));\n} else {\nthrow cljs.core.missing_protocol(\x22IComparable.-compare\x22,x);\n}\n}\n});\n/**\n * Returns a negative number, zero, or a positive number when x is logically\n *   \x27less than\x27, \x27equal to\x27, or \x27greater than\x27 y.\n */\ncljs.core._compare \x3d (function cljs$core$_compare(x,y){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IComparable$_compare$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IComparable$_compare$arity$2(x,y);\n} else {\nreturn cljs$core$IComparable$_compare$dyn_29819(x,y);\n}\n});\n\n\n/**\n * Protocol for accessing the items of a chunk.\n * @interface\n */\ncljs.core.IChunk \x3d function(){};\n\nvar cljs$core$IChunk$_drop_first$dyn_29822 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._drop_first[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._drop_first[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunk.-drop-first\x22,coll);\n}\n}\n});\n/**\n * Return a new chunk of coll with the first item removed.\n */\ncljs.core._drop_first \x3d (function cljs$core$_drop_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunk$_drop_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunk$_drop_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunk$_drop_first$dyn_29822(coll);\n}\n});\n\n\n/**\n * Protocol for accessing a collection as sequential chunks.\n * @interface\n */\ncljs.core.IChunkedSeq \x3d function(){};\n\nvar cljs$core$IChunkedSeq$_chunked_first$dyn_29824 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._chunked_first[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._chunked_first[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first chunk in coll.\n */\ncljs.core._chunked_first \x3d (function cljs$core$_chunked_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_first$dyn_29824(coll);\n}\n});\n\nvar cljs$core$IChunkedSeq$_chunked_rest$dyn_29828 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._chunked_rest[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._chunked_rest[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-rest\x22,coll);\n}\n}\n});\n/**\n * Return a new collection of coll with the first chunk removed.\n */\ncljs.core._chunked_rest \x3d (function cljs$core$_chunked_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_rest$dyn_29828(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the chunks of a collection.\n * @interface\n */\ncljs.core.IChunkedNext \x3d function(){};\n\nvar cljs$core$IChunkedNext$_chunked_next$dyn_29836 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._chunked_next[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._chunked_next[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedNext.-chunked-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first chunk.\n */\ncljs.core._chunked_next \x3d (function cljs$core$_chunked_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedNext$_chunked_next$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedNext$_chunked_next$dyn_29836(coll);\n}\n});\n\n\n/**\n * Protocol for adding a name.\n * @interface\n */\ncljs.core.INamed \x3d function(){};\n\nvar cljs$core$INamed$_name$dyn_29837 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._name[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._name[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-name\x22,x);\n}\n}\n});\n/**\n * Returns the name String of x.\n */\ncljs.core._name \x3d (function cljs$core$_name(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_name$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_name$arity$1(x);\n} else {\nreturn cljs$core$INamed$_name$dyn_29837(x);\n}\n});\n\nvar cljs$core$INamed$_namespace$dyn_29838 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._namespace[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._namespace[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-namespace\x22,x);\n}\n}\n});\n/**\n * Returns the namespace String of x.\n */\ncljs.core._namespace \x3d (function cljs$core$_namespace(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_namespace$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_namespace$arity$1(x);\n} else {\nreturn cljs$core$INamed$_namespace$dyn_29838(x);\n}\n});\n\n\n/**\n * Marker protocol indicating an atom.\n * @interface\n */\ncljs.core.IAtom \x3d function(){};\n\n\n/**\n * Protocol for adding resetting functionality.\n * @interface\n */\ncljs.core.IReset \x3d function(){};\n\nvar cljs$core$IReset$_reset_BANG_$dyn_29843 \x3d (function (o,new_value){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._reset_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5374__auto__.call(null,o,new_value));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._reset_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5372__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IReset.-reset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of o to new-value.\n */\ncljs.core._reset_BANG_ \x3d (function cljs$core$_reset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IReset$_reset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IReset$_reset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IReset$_reset_BANG_$dyn_29843(o,new_value);\n}\n});\n\n\n/**\n * Protocol for adding swapping functionality.\n * @interface\n */\ncljs.core.ISwap \x3d function(){};\n\nvar cljs$core$ISwap$_swap_BANG_$dyn_29851 \x3d (function() {\nvar G__29852 \x3d null;\nvar G__29852__2 \x3d (function (o,f){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5374__auto__.call(null,o,f));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5372__auto__.call(null,o,f));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__29852__3 \x3d (function (o,f,a){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5374__auto__.call(null,o,f,a));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5372__auto__.call(null,o,f,a));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__29852__4 \x3d (function (o,f,a,b){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5374__auto__.call(null,o,f,a,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5372__auto__.call(null,o,f,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__29852__5 \x3d (function (o,f,a,b,xs){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5374__auto__.call(null,o,f,a,b,xs));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5372__auto__.call(null,o,f,a,b,xs));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nG__29852 \x3d function(o,f,a,b,xs){\nswitch(arguments.length){\ncase 2:\nreturn G__29852__2.call(this,o,f);\ncase 3:\nreturn G__29852__3.call(this,o,f,a);\ncase 4:\nreturn G__29852__4.call(this,o,f,a,b);\ncase 5:\nreturn G__29852__5.call(this,o,f,a,b,xs);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29852.cljs$core$IFn$_invoke$arity$2 \x3d G__29852__2;\nG__29852.cljs$core$IFn$_invoke$arity$3 \x3d G__29852__3;\nG__29852.cljs$core$IFn$_invoke$arity$4 \x3d G__29852__4;\nG__29852.cljs$core$IFn$_invoke$arity$5 \x3d G__29852__5;\nreturn G__29852;\n})()\n;\n/**\n * Swaps the value of o to be (apply f current-value-of-atom args).\n */\ncljs.core._swap_BANG_ \x3d (function cljs$core$_swap_BANG_(var_args){\nvar G__26979 \x3d arguments.length;\nswitch (G__26979) {\ncase 2:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,f){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$2(o,f);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_29851(o,f);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,f,a){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$3(o,f,a);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_29851(o,f,a);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (o,f,a,b){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$4 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$4(o,f,a,b);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_29851(o,f,a,b);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5 \x3d (function (o,f,a,b,xs){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$5 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$5(o,f,a,b,xs);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_29851(o,f,a,b,xs);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n/**\n * Protocol for adding volatile functionality.\n * @interface\n */\ncljs.core.IVolatile \x3d function(){};\n\nvar cljs$core$IVolatile$_vreset_BANG_$dyn_29868 \x3d (function (o,new_value){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._vreset_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5374__auto__.call(null,o,new_value));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._vreset_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5372__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IVolatile.-vreset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of volatile o to new-value without regard for the\n *   current value. Returns new-value.\n */\ncljs.core._vreset_BANG_ \x3d (function cljs$core$_vreset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IVolatile$_vreset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IVolatile$_vreset_BANG_$dyn_29868(o,new_value);\n}\n});\n\n\n/**\n * Protocol for iterating over a collection.\n * @interface\n */\ncljs.core.IIterable \x3d function(){};\n\nvar cljs$core$IIterable$_iterator$dyn_29871 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._iterator[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._iterator[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IIterable.-iterator\x22,coll);\n}\n}\n});\n/**\n * Returns an iterator for coll.\n */\ncljs.core._iterator \x3d (function cljs$core$_iterator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIterable$_iterator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIterable$_iterator$arity$1(coll);\n} else {\nreturn cljs$core$IIterable$_iterator$dyn_29871(coll);\n}\n});\n\n\n/**\n * Protocol for persistent or algorithmically defined collections to provide a\n *   means of dropping N items that is more efficient than sequential walking.\n * @interface\n */\ncljs.core.IDrop \x3d function(){};\n\nvar cljs$core$IDrop$_drop$dyn_29875 \x3d (function (coll,n){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._drop[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5374__auto__.call(null,coll,n));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._drop[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5372__auto__.call(null,coll,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IDrop.-drop\x22,coll);\n}\n}\n});\n/**\n * Returns a collection that is ISequential, ISeq, and IReduce, or nil if past\n *   the end. The number of items to drop n must be \x3e 0. It is also useful if the\n *   returned coll implements IDrop for subsequent use in a partition-like scenario.\n */\ncljs.core._drop \x3d (function cljs$core$_drop(coll,n){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IDrop$_drop$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IDrop$_drop$arity$2(coll,n);\n} else {\nreturn cljs$core$IDrop$_drop$dyn_29875(coll,n);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\ncljs.core.StringBufferWriter \x3d (function (sb){\nthis.sb \x3d sb;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.sb.append(s);\n}));\n\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.StringBufferWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null)], null);\n}));\n\n(cljs.core.StringBufferWriter.cljs$lang$type \x3d true);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorStr \x3d \x22cljs.core/StringBufferWriter\x22);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/StringBufferWriter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringBufferWriter.\n */\ncljs.core.__GT_StringBufferWriter \x3d (function cljs$core$__GT_StringBufferWriter(sb){\nreturn (new cljs.core.StringBufferWriter(sb));\n});\n\n/**\n * Support so that collections can implement toString without\n * loading all the printing machinery.\n */\ncljs.core.pr_str_STAR_ \x3d (function cljs$core$pr_str_STAR_(obj){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\nobj.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,writer,cljs.core.pr_opts());\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n});\ncljs.core.int_rotate_left \x3d (function cljs$core$int_rotate_left(x,n){\nreturn ((x \x3c\x3c n) | (x \x3e\x3e\x3e (- n)));\n});\nif((((typeof Math !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof Math.imul !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((Math.imul((4294967295),(5)) \x3d\x3d\x3d (0))))))){\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nreturn Math.imul(a,b);\n});\n} else {\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nvar ah \x3d ((a \x3e\x3e\x3e (16)) \x26 (65535));\nvar al \x3d (a \x26 (65535));\nvar bh \x3d ((b \x3e\x3e\x3e (16)) \x26 (65535));\nvar bl \x3d (b \x26 (65535));\nreturn (((al * bl) + ((((ah * bl) + (al * bh)) \x3c\x3c (16)) \x3e\x3e\x3e (0))) | (0));\n});\n}\ncljs.core.m3_seed \x3d (0);\ncljs.core.m3_C1 \x3d ((3432918353) | (0));\ncljs.core.m3_C2 \x3d ((461845907) | (0));\ncljs.core.m3_mix_K1 \x3d (function cljs$core$m3_mix_K1(k1){\nreturn cljs.core.imul(cljs.core.int_rotate_left(cljs.core.imul((k1 | (0)),cljs.core.m3_C1),(15)),cljs.core.m3_C2);\n});\ncljs.core.m3_mix_H1 \x3d (function cljs$core$m3_mix_H1(h1,k1){\nreturn ((cljs.core.imul(cljs.core.int_rotate_left(((h1 | (0)) ^ (k1 | (0))),(13)),(5)) + ((3864292196) | (0))) | (0));\n});\ncljs.core.m3_fmix \x3d (function cljs$core$m3_fmix(h1,len){\nvar h1__$1 \x3d (h1 | (0));\nvar h1__$2 \x3d (h1__$1 ^ len);\nvar h1__$3 \x3d (h1__$2 ^ (h1__$2 \x3e\x3e\x3e (16)));\nvar h1__$4 \x3d cljs.core.imul(h1__$3,((2246822507) | (0)));\nvar h1__$5 \x3d (h1__$4 ^ (h1__$4 \x3e\x3e\x3e (13)));\nvar h1__$6 \x3d cljs.core.imul(h1__$5,((3266489909) | (0)));\nreturn (h1__$6 ^ (h1__$6 \x3e\x3e\x3e (16)));\n});\ncljs.core.m3_hash_int \x3d (function cljs$core$m3_hash_int(in$){\nif((in$ \x3d\x3d\x3d (0))){\nreturn in$;\n} else {\nvar k1 \x3d cljs.core.m3_mix_K1(in$);\nvar h1 \x3d cljs.core.m3_mix_H1(cljs.core.m3_seed,k1);\nreturn cljs.core.m3_fmix(h1,(4));\n}\n});\ncljs.core.hash_long \x3d (function cljs$core$hash_long(high,low){\nreturn (high ^ low);\n});\ncljs.core.hash_double \x3d (function cljs$core$hash_double(f){\nvar arr \x3d (function (){var G__26980 \x3d (new Float64Array((1)));\n(G__26980[(0)] \x3d f);\n\nreturn G__26980;\n})();\nvar buf \x3d arr.buffer;\nvar high \x3d (new DataView(buf,(0),(4))).getInt32();\nvar low \x3d (new DataView(buf,(4),(4))).getInt32();\nreturn cljs.core.hash_long(high,low);\n});\ncljs.core.m3_hash_unencoded_chars \x3d (function cljs$core$m3_hash_unencoded_chars(in$){\nvar h1 \x3d (function (){var i \x3d (1);\nvar h1 \x3d cljs.core.m3_seed;\nwhile(true){\nif((i \x3c in$.length)){\nvar G__29890 \x3d (i + (2));\nvar G__29891 \x3d cljs.core.m3_mix_H1(h1,cljs.core.m3_mix_K1((in$.charCodeAt((i - (1))) | (in$.charCodeAt(i) \x3c\x3c (16)))));\ni \x3d G__29890;\nh1 \x3d G__29891;\ncontinue;\n} else {\nreturn h1;\n}\nbreak;\n}\n})();\nvar h1__$1 \x3d ((((in$.length \x26 (1)) \x3d\x3d\x3d (1)))?(h1 ^ cljs.core.m3_mix_K1(in$.charCodeAt((in$.length - (1))))):h1);\nreturn cljs.core.m3_fmix(h1__$1,cljs.core.imul((2),in$.length));\n});\n\n\n\ncljs.core.string_hash_cache \x3d ({});\ncljs.core.string_hash_cache_count \x3d (0);\ncljs.core.hash_string_STAR_ \x3d (function cljs$core$hash_string_STAR_(s){\nif((!((s \x3d\x3d null)))){\nvar len \x3d s.length;\nif((len \x3e (0))){\nvar i \x3d (0);\nvar hash \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__29895 \x3d (i + (1));\nvar G__29896 \x3d (cljs.core.imul((31),hash) + s.charCodeAt(i));\ni \x3d G__29895;\nhash \x3d G__29896;\ncontinue;\n} else {\nreturn hash;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.add_to_string_hash_cache \x3d (function cljs$core$add_to_string_hash_cache(k){\nvar h \x3d cljs.core.hash_string_STAR_(k);\ncljs.core.goog$module$goog$object.set(cljs.core.string_hash_cache,k,h);\n\n(cljs.core.string_hash_cache_count \x3d (cljs.core.string_hash_cache_count + (1)));\n\nreturn h;\n});\ncljs.core.hash_string \x3d (function cljs$core$hash_string(k){\nif((cljs.core.string_hash_cache_count \x3e (255))){\n(cljs.core.string_hash_cache \x3d ({}));\n\n(cljs.core.string_hash_cache_count \x3d (0));\n} else {\n}\n\nif((k \x3d\x3d null)){\nreturn (0);\n} else {\nvar h \x3d (cljs.core.string_hash_cache[k]);\nif(typeof h \x3d\x3d\x3d \x27number\x27){\nreturn h;\n} else {\nreturn cljs.core.add_to_string_hash_cache(k);\n}\n}\n});\n/**\n * Returns the hash code of its argument. Note this is the hash code\n * consistent with \x3d.\n */\ncljs.core.hash \x3d (function cljs$core$hash(o){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (4194304))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IHash$))))?true:false):false)){\nreturn (o.cljs$core$IHash$_hash$arity$1(null) ^ (0));\n} else {\nif(typeof o \x3d\x3d\x3d \x27number\x27){\nif(isFinite(o)){\nif((!(Number.isSafeInteger(o)))){\nreturn cljs.core.hash_double(o);\n} else {\nreturn (Math.floor(o) % (2147483647));\n}\n} else {\nvar G__26986 \x3d o;\nswitch (G__26986) {\ncase Infinity:\nreturn (2146435072);\n\nbreak;\ncase -Infinity:\nreturn (-1048576);\n\nbreak;\ndefault:\nreturn (2146959360);\n\n}\n}\n} else {\nif(o \x3d\x3d\x3d true){\nreturn (1231);\n} else {\nif(o \x3d\x3d\x3d false){\nreturn (1237);\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.m3_hash_int(cljs.core.hash_string(o));\n} else {\nif((o instanceof Date)){\nreturn (o.valueOf() ^ (0));\n} else {\nif((o \x3d\x3d null)){\nreturn (0);\n} else {\nreturn (cljs.core._hash(o) ^ (0));\n\n}\n}\n}\n}\n}\n}\n}\n});\ncljs.core.hash_combine \x3d (function cljs$core$hash_combine(seed,hash){\nreturn (seed ^ (((hash + (2654435769)) + (seed \x3c\x3c (6))) + (seed \x3e\x3e (2))));\n});\n/**\n * Evaluates x and tests if it is an instance of the type\n *   c. Returns true or false\n */\ncljs.core.instance_QMARK_ \x3d (function cljs$core$instance_QMARK_(c,x){\nreturn (x instanceof c);\n});\n/**\n * Return true if x is a Symbol\n */\ncljs.core.symbol_QMARK_ \x3d (function cljs$core$symbol_QMARK_(x){\nreturn (x instanceof cljs.core.Symbol);\n});\ncljs.core.hash_symbol \x3d (function cljs$core$hash_symbol(sym){\nreturn cljs.core.hash_combine(cljs.core.m3_hash_unencoded_chars(sym.name),cljs.core.hash_string(sym.ns));\n});\ncljs.core.compare_symbols \x3d (function cljs$core$compare_symbols(a,b){\nif((a.str \x3d\x3d\x3d b.str)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(a.ns);\nif(and__5023__auto__){\nreturn b.ns;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Symbol \x3d (function (ns,name,str,_hash,_meta){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.str \x3d str;\nthis._hash \x3d _hash;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2154168321;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Symbol.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.str;\n}));\n\n(cljs.core.Symbol.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Symbol)){\nreturn (self__.str \x3d\x3d\x3d other.str);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Symbol.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__26988 \x3d (arguments.length - (1));\nswitch (G__26988) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Symbol.prototype.apply \x3d (function (self__,args26987){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args26987)));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$2 ? cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,sym) : cljs.core.get.call(null,coll,sym));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$3 ? cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,sym,not_found) : cljs.core.get.call(null,coll,sym,not_found));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Symbol(self__.ns,self__.name,self__.str,self__._hash,new_meta));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (sym){\nvar self__ \x3d this;\nvar sym__$1 \x3d this;\nvar h__5134__auto__ \x3d self__._hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_symbol(sym__$1);\n(self__._hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,self__.str);\n}));\n\n(cljs.core.Symbol.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22str\x22,\x22str\x22,-1564826950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Symbol.cljs$lang$type \x3d true);\n\n(cljs.core.Symbol.cljs$lang$ctorStr \x3d \x22cljs.core/Symbol\x22);\n\n(cljs.core.Symbol.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Symbol\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Symbol.\n */\ncljs.core.__GT_Symbol \x3d (function cljs$core$__GT_Symbol(ns,name,str,_hash,_meta){\nreturn (new cljs.core.Symbol(ns,name,str,_hash,_meta));\n});\n\n/**\n * Returns true if v is of type cljs.core.Var\n */\ncljs.core.var_QMARK_ \x3d (function cljs$core$var_QMARK_(v){\nreturn (v instanceof cljs.core.Var);\n});\n/**\n * Returns a Symbol with the given namespace and name. Arity-1 works\n *   on strings, keywords, and vars.\n */\ncljs.core.symbol \x3d (function cljs$core$symbol(var_args){\nvar G__26990 \x3d arguments.length;\nswitch (G__26990) {\ncase 1:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nwhile(true){\nif((name instanceof cljs.core.Symbol)){\nreturn name;\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar idx \x3d name.indexOf(\x22/\x22);\nif((idx \x3c (1))){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,name);\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(name.substring((0),idx),name.substring((idx + (1)),name.length));\n}\n} else {\nif(cljs.core.var_QMARK_(name)){\nreturn name.sym;\n} else {\nif((name instanceof cljs.core.Keyword)){\nvar G__29906 \x3d name.fqn;\nname \x3d G__29906;\ncontinue;\n} else {\nthrow (new Error(\x22no conversion to symbol\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar sym_str \x3d (((!((ns \x3d\x3d null))))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(\x27\x27):name);\nreturn (new cljs.core.Symbol(ns,name,sym_str,null,null));\n}));\n\n(cljs.core.symbol.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Var \x3d (function (val,sym,_meta){\nthis.val \x3d val;\nthis.sym \x3d sym;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6717441;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Var.prototype.isMacro \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null)).cljs$lang$macro;\n}));\n\n(cljs.core.Var.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22#\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.sym)].join(\x27\x27);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Var.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Var(self__.val,self__.sym,new_meta));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.Var)){\nvar G__26992 \x3d this$__$1.sym;\nvar G__26993 \x3d other.sym;\nreturn (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 ? cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(G__26992,G__26993) : cljs.core._EQ_.call(null,G__26992,G__26993));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Var.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash_symbol(self__.sym);\n}));\n\n(cljs.core.Var.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__26994 \x3d (arguments.length - (1));\nswitch (G__26994) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Var.prototype.apply \x3d (function (self__,args26991){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args26991)));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26995 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26995.cljs$core$IFn$_invoke$arity$0 ? fexpr__26995.cljs$core$IFn$_invoke$arity$0() : fexpr__26995.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26996 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26996.cljs$core$IFn$_invoke$arity$1 ? fexpr__26996.cljs$core$IFn$_invoke$arity$1(a) : fexpr__26996.call(null,a));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26997 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26997.cljs$core$IFn$_invoke$arity$2 ? fexpr__26997.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__26997.call(null,a,b));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26998 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26998.cljs$core$IFn$_invoke$arity$3 ? fexpr__26998.cljs$core$IFn$_invoke$arity$3(a,b,c) : fexpr__26998.call(null,a,b,c));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26999 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26999.cljs$core$IFn$_invoke$arity$4 ? fexpr__26999.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : fexpr__26999.call(null,a,b,c,d));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27000 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27000.cljs$core$IFn$_invoke$arity$5 ? fexpr__27000.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : fexpr__27000.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27001 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27001.cljs$core$IFn$_invoke$arity$6 ? fexpr__27001.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : fexpr__27001.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27002 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27002.cljs$core$IFn$_invoke$arity$7 ? fexpr__27002.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : fexpr__27002.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27003 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27003.cljs$core$IFn$_invoke$arity$8 ? fexpr__27003.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : fexpr__27003.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27004 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27004.cljs$core$IFn$_invoke$arity$9 ? fexpr__27004.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : fexpr__27004.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27005 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27005.cljs$core$IFn$_invoke$arity$10 ? fexpr__27005.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : fexpr__27005.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27006 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27006.cljs$core$IFn$_invoke$arity$11 ? fexpr__27006.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : fexpr__27006.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27007 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27007.cljs$core$IFn$_invoke$arity$12 ? fexpr__27007.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : fexpr__27007.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27008 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27008.cljs$core$IFn$_invoke$arity$13 ? fexpr__27008.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : fexpr__27008.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27009 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27009.cljs$core$IFn$_invoke$arity$14 ? fexpr__27009.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : fexpr__27009.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27010 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27010.cljs$core$IFn$_invoke$arity$15 ? fexpr__27010.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : fexpr__27010.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27011 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27011.cljs$core$IFn$_invoke$arity$16 ? fexpr__27011.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : fexpr__27011.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27012 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27012.cljs$core$IFn$_invoke$arity$17 ? fexpr__27012.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : fexpr__27012.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27013 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27013.cljs$core$IFn$_invoke$arity$18 ? fexpr__27013.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : fexpr__27013.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27014 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27014.cljs$core$IFn$_invoke$arity$19 ? fexpr__27014.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : fexpr__27014.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27015 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27015.cljs$core$IFn$_invoke$arity$20 ? fexpr__27015.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : fexpr__27015.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar G__27016 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nvar G__27017 \x3d a;\nvar G__27018 \x3d b;\nvar G__27019 \x3d c;\nvar G__27020 \x3d d;\nvar G__27021 \x3d e;\nvar G__27022 \x3d f;\nvar G__27023 \x3d g;\nvar G__27024 \x3d h;\nvar G__27025 \x3d i;\nvar G__27026 \x3d j;\nvar G__27027 \x3d k;\nvar G__27028 \x3d l;\nvar G__27029 \x3d m;\nvar G__27030 \x3d n;\nvar G__27031 \x3d o;\nvar G__27032 \x3d p;\nvar G__27033 \x3d q;\nvar G__27034 \x3d r;\nvar G__27035 \x3d s;\nvar G__27036 \x3d t;\nvar G__27037 \x3d rest;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$21 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$21(G__27016,G__27017,G__27018,G__27019,G__27020,G__27021,G__27022,G__27023,G__27024,G__27025,G__27026,G__27027,G__27028,G__27029,G__27030,G__27031,G__27032,G__27033,G__27034,G__27035, new cljs.core.IndexedSeq([G__27036,G__27037],0,null)) : cljs.core.apply.call(null,G__27016,G__27017,G__27018,G__27019,G__27020,G__27021,G__27022,G__27023,G__27024,G__27025,G__27026,G__27027,G__27028,G__27029,G__27030,G__27031,G__27032,G__27033,G__27034,G__27035,G__27036,G__27037));\n}));\n\n(cljs.core.Var.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22sym\x22,\x22sym\x22,195671222,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Var.cljs$lang$type \x3d true);\n\n(cljs.core.Var.cljs$lang$ctorStr \x3d \x22cljs.core/Var\x22);\n\n(cljs.core.Var.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Var\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Var.\n */\ncljs.core.__GT_Var \x3d (function cljs$core$__GT_Var(val,sym,_meta){\nreturn (new cljs.core.Var(val,sym,_meta));\n});\n\n\n\n/**\n * Return true if x implements IIterable protocol.\n */\ncljs.core.iterable_QMARK_ \x3d (function cljs$core$iterable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIterable$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n}\n});\n/**\n * Return true if x has a JavaScript iterator property\n */\ncljs.core.js_iterable_QMARK_ \x3d (function cljs$core$js_iterable_QMARK_(x){\nreturn (((!((x \x3d\x3d null)))) \x26\x26 ((!((x[cljs.core.ITER_SYMBOL] \x3d\x3d null)))));\n});\n/**\n * Clone the supplied value which must implement ICloneable.\n */\ncljs.core.clone \x3d (function cljs$core$clone(value){\nreturn cljs.core._clone(value);\n});\n/**\n * Return true if x implements ICloneable protocol.\n */\ncljs.core.cloneable_QMARK_ \x3d (function cljs$core$cloneable_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif((((value.cljs$lang$protocol_mask$partition1$ \x26 (8192))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$ICloneable$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n}\n});\n/**\n * Returns a seq on the collection. If the collection is\n *   empty, returns nil.  (seq nil) returns nil. seq also works on\n *   Strings.\n */\ncljs.core.seq \x3d (function cljs$core$seq(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn coll.cljs$core$ISeqable$_seq$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(cljs.core.js_iterable_QMARK_(coll)){\nvar G__27041 \x3d cljs.core.goog$module$goog$object.get(coll,cljs.core.ITER_SYMBOL).call(coll);\nreturn (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(G__27041) : cljs.core.es6_iterator_seq.call(null,G__27041));\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,coll)){\nreturn cljs.core._seq(coll);\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll),\x22 is not ISeqable\x22].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\n/**\n * Returns the first item in the collection. Calls seq on its\n *   argument. If coll is nil, returns nil.\n */\ncljs.core.first \x3d (function cljs$core$first(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_first$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._first(s);\n}\n}\n}\n});\n/**\n * Returns a possibly empty seq of the items after the first. Calls seq on its\n *   argument.\n */\ncljs.core.rest \x3d (function cljs$core$rest(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif(s){\nreturn s.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a seq of the items after the first. Calls seq on its\n *   argument.  If there are no more items, returns nil\n */\ncljs.core.next \x3d (function cljs$core$next(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n}\n});\n/**\n * Equality. Returns true if x equals y, false if not. Compares\n *   numbers and collections in a type-independent manner.  Clojure\x27s immutable data\n *   structures define -equiv (and thus \x3d) as a value, not an identity,\n *   comparison.\n */\ncljs.core._EQ_ \x3d (function cljs$core$_EQ_(var_args){\nvar G__27049 \x3d arguments.length;\nswitch (G__27049) {\ncase 1:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___29942 \x3d arguments.length;\nvar i__5750__auto___29943 \x3d (0);\nwhile(true){\nif((i__5750__auto___29943 \x3c len__5749__auto___29942)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___29943]));\n\nvar G__29944 \x3d (i__5750__auto___29943 + (1));\ni__5750__auto___29943 \x3d G__29944;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nif((x \x3d\x3d null)){\nreturn (y \x3d\x3d null);\n} else {\nreturn (((x \x3d\x3d\x3d y)) || (cljs.core._equiv(x,y)));\n}\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\nif(cljs.core.next(more)){\nvar G__29945 \x3d y;\nvar G__29946 \x3d cljs.core.first(more);\nvar G__29947 \x3d cljs.core.next(more);\nx \x3d G__29945;\ny \x3d G__29946;\nmore \x3d G__29947;\ncontinue;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(y,cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ_.cljs$lang$applyTo \x3d (function (seq27046){\nvar G__27047 \x3d cljs.core.first(seq27046);\nvar seq27046__$1 \x3d cljs.core.next(seq27046);\nvar G__27048 \x3d cljs.core.first(seq27046__$1);\nvar seq27046__$2 \x3d cljs.core.next(seq27046__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27047,G__27048,seq27046__$2);\n}));\n\n(cljs.core._EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6Iterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6Iterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: x, \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6Iterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6Iterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6Iterator\x22);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ES6Iterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6Iterator.\n */\ncljs.core.__GT_ES6Iterator \x3d (function cljs$core$__GT_ES6Iterator(s){\nreturn (new cljs.core.ES6Iterator(s));\n});\n\n/**\n * Return a ES2015+ compatible iterator for coll.\n */\ncljs.core.es6_iterator \x3d (function cljs$core$es6_iterator(coll){\nreturn (new cljs.core.ES6Iterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n*/\ncljs.core.ES6IteratorSeq \x3d (function (value,iter,_rest){\nthis.value \x3d value;\nthis.iter \x3d iter;\nthis._rest \x3d _rest;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8388672;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.value;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((self__._rest \x3d\x3d null)){\n(self__._rest \x3d (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(self__.iter) : cljs.core.es6_iterator_seq.call(null,self__.iter)));\n} else {\n}\n\nreturn self__._rest;\n}));\n\n(cljs.core.ES6IteratorSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_rest\x22,\x22_rest\x22,-2100466189,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6IteratorSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ES6IteratorSeq\x22);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ES6IteratorSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6IteratorSeq.\n */\ncljs.core.__GT_ES6IteratorSeq \x3d (function cljs$core$__GT_ES6IteratorSeq(value,iter,_rest){\nreturn (new cljs.core.ES6IteratorSeq(value,iter,_rest));\n});\n\n/**\n * Given an ES2015+ compatible iterator return a seq.\n */\ncljs.core.es6_iterator_seq \x3d (function cljs$core$es6_iterator_seq(iter){\nvar v \x3d iter.next();\nif(cljs.core.truth_(v.done)){\nreturn null;\n} else {\nreturn (new cljs.core.ES6IteratorSeq(v.value,iter,null));\n}\n});\n/**\n * Mix final collection hash for ordered or unordered collections.\n * hash-basis is the combined collection hash, count is the number\n * of elements included in the basis. Note this is the hash code\n * consistent with \x3d, different from .hashCode.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.mix_collection_hash \x3d (function cljs$core$mix_collection_hash(hash_basis,count){\nvar h1 \x3d cljs.core.m3_seed;\nvar k1 \x3d cljs.core.m3_mix_K1(hash_basis);\nvar h1__$1 \x3d cljs.core.m3_mix_H1(h1,k1);\nreturn cljs.core.m3_fmix(h1__$1,count);\n});\n/**\n * Returns the hash code, consistent with \x3d, for an external ordered\n * collection implementing Iterable.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_ordered_coll \x3d (function cljs$core$hash_ordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (1);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__29952 \x3d (n + (1));\nvar G__29953 \x3d ((cljs.core.imul((31),hash_code) + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__29954 \x3d cljs.core.next(coll__$1);\nn \x3d G__29952;\nhash_code \x3d G__29953;\ncoll__$1 \x3d G__29954;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_ordered_hash \x3d cljs.core.mix_collection_hash((1),(0));\n/**\n * Returns the hash code, consistent with \x3d, for an external unordered\n * collection implementing Iterable. For maps, the iterator should\n * return map entries whose hash is computed as\n *   (hash-ordered-coll [k v]).\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_unordered_coll \x3d (function cljs$core$hash_unordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (0);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__29957 \x3d (n + (1));\nvar G__29958 \x3d ((hash_code + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__29959 \x3d cljs.core.next(coll__$1);\nn \x3d G__29957;\nhash_code \x3d G__29958;\ncoll__$1 \x3d G__29959;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_unordered_hash \x3d cljs.core.mix_collection_hash((0),(0));\n\n\n(cljs.core.ICounted[\x22null\x22] \x3d true);\n\n(cljs.core._count[\x22null\x22] \x3d (function (_){\nreturn (0);\n}));\n(Date.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar o__$1 \x3d this;\nreturn (((other instanceof Date)) \x26\x26 ((o__$1.valueOf() \x3d\x3d\x3d other.valueOf())));\n}));\n\n(Date.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof Date)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(this$__$1.valueOf(),other.valueOf());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n/**\n * @interface\n */\ncljs.core.Inst \x3d function(){};\n\nvar cljs$core$Inst$inst_ms_STAR_$dyn_29960 \x3d (function (inst){\nvar x__5373__auto__ \x3d (((inst \x3d\x3d null))?null:inst);\nvar m__5374__auto__ \x3d (cljs.core.inst_ms_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5374__auto__.call(null,inst));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.inst_ms_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5372__auto__.call(null,inst));\n} else {\nthrow cljs.core.missing_protocol(\x22Inst.inst-ms*\x22,inst);\n}\n}\n});\ncljs.core.inst_ms_STAR_ \x3d (function cljs$core$inst_ms_STAR_(inst){\nif((((!((inst \x3d\x3d null)))) \x26\x26 ((!((inst.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d\x3d null)))))){\nreturn inst.cljs$core$Inst$inst_ms_STAR_$arity$1(inst);\n} else {\nreturn cljs$core$Inst$inst_ms_STAR_$dyn_29960(inst);\n}\n});\n\n(Date.prototype.cljs$core$Inst$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d (function (inst){\nvar inst__$1 \x3d this;\nreturn inst__$1.getTime();\n}));\n/**\n * Return the number of milliseconds since January 1, 1970, 00:00:00 GMT\n */\ncljs.core.inst_ms \x3d (function cljs$core$inst_ms(inst){\nreturn cljs.core.inst_ms_STAR_(inst);\n});\n/**\n * Return true if x satisfies Inst\n */\ncljs.core.inst_QMARK_ \x3d (function cljs$core$inst_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$Inst$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n}\n});\n(cljs.core.IEquiv[\x22number\x22] \x3d true);\n\n(cljs.core._equiv[\x22number\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n(cljs.core.Fn[\x22function\x22] \x3d true);\n\n(cljs.core.IMeta[\x22function\x22] \x3d true);\n\n(cljs.core._meta[\x22function\x22] \x3d (function (_){\nreturn null;\n}));\n(cljs.core.IHash[\x22_\x22] \x3d true);\n\n(cljs.core._hash[\x22_\x22] \x3d (function (o){\nreturn goog.getUid(o);\n}));\n(cljs.core.IHash[\x22symbol\x22] \x3d true);\n\n(cljs.core._hash[\x22symbol\x22] \x3d (function (o){\nreturn cljs.core.hash(o.toString());\n}));\n/**\n * Returns a number one greater than num.\n */\ncljs.core.inc \x3d (function cljs$core$inc(x){\nreturn (x + (1));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Reduced \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Reduced.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (o){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Reduced.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.Reduced.cljs$lang$type \x3d true);\n\n(cljs.core.Reduced.cljs$lang$ctorStr \x3d \x22cljs.core/Reduced\x22);\n\n(cljs.core.Reduced.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Reduced\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Reduced.\n */\ncljs.core.__GT_Reduced \x3d (function cljs$core$__GT_Reduced(val){\nreturn (new cljs.core.Reduced(val));\n});\n\n/**\n * Wraps x in a way such that a reduce will terminate with the value x\n */\ncljs.core.reduced \x3d (function cljs$core$reduced(x){\nreturn (new cljs.core.Reduced(x));\n});\n/**\n * Returns true if x is the result of a call to reduced\n */\ncljs.core.reduced_QMARK_ \x3d (function cljs$core$reduced_QMARK_(r){\nreturn (r instanceof cljs.core.Reduced);\n});\n/**\n * If x is already reduced?, returns it, else returns (reduced x)\n */\ncljs.core.ensure_reduced \x3d (function cljs$core$ensure_reduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn x;\n} else {\nreturn cljs.core.reduced(x);\n}\n});\n/**\n * If x is reduced?, returns (deref x), else returns x\n */\ncljs.core.unreduced \x3d (function cljs$core$unreduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn (cljs.core.deref.cljs$core$IFn$_invoke$arity$1 ? cljs.core.deref.cljs$core$IFn$_invoke$arity$1(x) : cljs.core.deref.call(null,x));\n} else {\nreturn x;\n}\n});\n/**\n * Also reader macro: @var/@atom/@delay. Returns the\n * most-recently-committed value of ref. When applied to a var\n * or atom, returns its current state. When applied to a delay, forces\n * it if not already forced. See also - realized?.\n */\ncljs.core.deref \x3d (function cljs$core$deref(o){\nreturn cljs.core._deref(o);\n});\n/**\n * Accepts any collection which satisfies the ICount and IIndexed protocols and\n * reduces them without incurring seq initialization\n */\ncljs.core.ci_reduce \x3d (function cljs$core$ci_reduce(var_args){\nvar G__27052 \x3d arguments.length;\nswitch (G__27052) {\ncase 2:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (cicoll,f){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nif((cnt \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,(0));\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27053 \x3d val;\nvar G__27054 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27053,G__27054) : f.call(null,G__27053,G__27054));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29966 \x3d nval;\nvar G__29967 \x3d (n + (1));\nval \x3d G__29966;\nn \x3d G__29967;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (cicoll,f,val){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27055 \x3d val__$1;\nvar G__27056 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27055,G__27056) : f.call(null,G__27055,G__27056));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29968 \x3d nval;\nvar G__29969 \x3d (n + (1));\nval__$1 \x3d G__29968;\nn \x3d G__29969;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ci_reduce.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.array_reduce \x3d (function cljs$core$array_reduce(var_args){\nvar G__27058 \x3d arguments.length;\nswitch (G__27058) {\ncase 2:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,f){\nvar cnt \x3d arr.length;\nif((arr.length \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d (arr[(0)]);\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27059 \x3d val;\nvar G__27060 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27059,G__27060) : f.call(null,G__27059,G__27060));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29971 \x3d nval;\nvar G__29972 \x3d (n + (1));\nval \x3d G__29971;\nn \x3d G__29972;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,f,val){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27061 \x3d val__$1;\nvar G__27062 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27061,G__27062) : f.call(null,G__27061,G__27062));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29976 \x3d nval;\nvar G__29977 \x3d (n + (1));\nval__$1 \x3d G__29976;\nn \x3d G__29977;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (arr,f,val,idx){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d idx;\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27063 \x3d val__$1;\nvar G__27064 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27063,G__27064) : f.call(null,G__27063,G__27064));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29978 \x3d nval;\nvar G__29979 \x3d (n + (1));\nval__$1 \x3d G__29978;\nn \x3d G__29979;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$lang$maxFixedArity \x3d 4);\n\n\n\n\n\n\n\n/**\n * Returns true if coll implements count in constant time\n */\ncljs.core.counted_QMARK_ \x3d (function cljs$core$counted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICounted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n}\n});\n/**\n * Returns true if coll implements nth in constant time\n */\ncljs.core.indexed_QMARK_ \x3d (function cljs$core$indexed_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIndexed$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n}\n});\ncljs.core._indexOf \x3d (function cljs$core$_indexOf(var_args){\nvar G__27068 \x3d arguments.length;\nswitch (G__27068) {\ncase 2:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n}));\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((start \x3e\x3d len)){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?start:(((start \x3c (0)))?(function (){var x__5110__auto__ \x3d (0);\nvar y__5111__auto__ \x3d (start + len);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})():start\n));\nwhile(true){\nif((idx \x3c len)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__29981 \x3d (idx + (1));\nidx \x3d G__29981;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._indexOf.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core._lastIndexOf \x3d (function cljs$core$_lastIndexOf(var_args){\nvar G__27070 \x3d arguments.length;\nswitch (G__27070) {\ncase 2:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n}));\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((len \x3d\x3d\x3d (0))){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?(function (){var x__5113__auto__ \x3d (len - (1));\nvar y__5114__auto__ \x3d start;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})():(((start \x3c (0)))?(len + start):start\n));\nwhile(true){\nif((idx \x3e\x3d (0))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__29983 \x3d (idx - (1));\nidx \x3d G__29983;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._lastIndexOf.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.IndexedSeqIterator \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.IndexedSeqIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.IndexedSeqIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.IndexedSeqIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IndexedSeqIterator.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeqIterator\x22);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/IndexedSeqIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeqIterator.\n */\ncljs.core.__GT_IndexedSeqIterator \x3d (function cljs$core$__GT_IndexedSeqIterator(arr,i){\nreturn (new cljs.core.IndexedSeqIterator(arr,i));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IndexedSeq \x3d (function (arr,i,meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166592766;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 401408;\n});\n(cljs.core.IndexedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IndexedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IndexedSeq.prototype.indexOf \x3d (function() {\nvar G__29985 \x3d null;\nvar G__29985__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__29985__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__29985 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__29985__1.call(this,x);\ncase 2:\nreturn G__29985__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29985.cljs$core$IFn$_invoke$arity$1 \x3d G__29985__1;\nG__29985.cljs$core$IFn$_invoke$arity$2 \x3d G__29985__2;\nreturn G__29985;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__29986 \x3d null;\nvar G__29986__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__29986__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__29986 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__29986__1.call(this,x);\ncase 2:\nreturn G__29986__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29986.cljs$core$IFn$_invoke$arity$1 \x3d G__29986__1;\nG__29986.cljs$core$IFn$_invoke$arity$2 \x3d G__29986__2;\nreturn G__29986;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.IndexedSeqIterator(self__.arr,self__.i));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,self__.meta));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar x__5110__auto__ \x3d (0);\nvar y__5111__auto__ \x3d (self__.arr.length - self__.i);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar c \x3d coll__$1.cljs$core$ICounted$_count$arity$1(null);\nif((c \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(c - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.i]),(self__.i + (1)));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.i);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.arr[self__.i]);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.i \x3c self__.arr.length)){\nreturn this$__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3e (0))){\nif(((self__.i + n) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + n),null));\n} else {\nreturn null;\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.IndexedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.IndexedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeq\x22);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/IndexedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeq.\n */\ncljs.core.__GT_IndexedSeq \x3d (function cljs$core$__GT_IndexedSeq(arr,i,meta){\nreturn (new cljs.core.IndexedSeq(arr,i,meta));\n});\n\n(cljs.core.IndexedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Create seq from a primitive JavaScript Array-like.\n */\ncljs.core.prim_seq \x3d (function cljs$core$prim_seq(var_args){\nvar G__27072 \x3d arguments.length;\nswitch (G__27072) {\ncase 1:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (prim){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(prim,(0));\n}));\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (prim,i){\nif((i \x3c prim.length)){\nreturn (new cljs.core.IndexedSeq(prim,i,null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prim_seq.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Create a seq from a JavaScript array.\n */\ncljs.core.array_seq \x3d (function cljs$core$array_seq(var_args){\nvar G__27074 \x3d arguments.length;\nswitch (G__27074) {\ncase 1:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (array){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,(0));\n}));\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,i){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,i);\n}));\n\n(cljs.core.array_seq.cljs$lang$maxFixedArity \x3d 2);\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RSeq \x3d (function (ci,i,meta){\nthis.ci \x3d ci;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.RSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.RSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.RSeq.prototype.indexOf \x3d (function() {\nvar G__30016 \x3d null;\nvar G__30016__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30016__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30016 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30016__1.call(this,x);\ncase 2:\nreturn G__30016__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30016.cljs$core$IFn$_invoke$arity$1 \x3d G__30016__1;\nG__30016.cljs$core$IFn$_invoke$arity$2 \x3d G__30016__2;\nreturn G__30016;\n})()\n);\n\n(cljs.core.RSeq.prototype.lastIndexOf \x3d (function() {\nvar G__30017 \x3d null;\nvar G__30017__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__30017__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30017 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30017__1.call(this,x);\ncase 2:\nreturn G__30017__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30017.cljs$core$IFn$_invoke$arity$1 \x3d G__30017__1;\nG__30017.cljs$core$IFn$_invoke$arity$2 \x3d G__30017__2;\nreturn G__30017;\n})()\n);\n\n(cljs.core.RSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RSeq(self__.ci,self__.i,self__.meta));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.i + (1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (col,f){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,col__$1) : cljs.core.seq_reduce.call(null,f,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (col,f,start){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,col__$1) : cljs.core.seq_reduce.call(null,f,start,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.ci,self__.i);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.RSeq(self__.ci,self__.i,new_meta));\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.RSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ci\x22,\x22ci\x22,2049808339,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.RSeq.cljs$lang$type \x3d true);\n\n(cljs.core.RSeq.cljs$lang$ctorStr \x3d \x22cljs.core/RSeq\x22);\n\n(cljs.core.RSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RSeq.\n */\ncljs.core.__GT_RSeq \x3d (function cljs$core$__GT_RSeq(ci,i,meta){\nreturn (new cljs.core.RSeq(ci,i,meta));\n});\n\n(cljs.core.RSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Same as (first (next x))\n */\ncljs.core.second \x3d (function cljs$core$second(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (first (first x))\n */\ncljs.core.ffirst \x3d (function cljs$core$ffirst(coll){\nreturn cljs.core.first(cljs.core.first(coll));\n});\n/**\n * Same as (next (first x))\n */\ncljs.core.nfirst \x3d (function cljs$core$nfirst(coll){\nreturn cljs.core.next(cljs.core.first(coll));\n});\n/**\n * Same as (first (next x))\n */\ncljs.core.fnext \x3d (function cljs$core$fnext(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (next (next x))\n */\ncljs.core.nnext \x3d (function cljs$core$nnext(coll){\nreturn cljs.core.next(cljs.core.next(coll));\n});\n/**\n * Return the last item in coll, in linear time\n */\ncljs.core.last \x3d (function cljs$core$last(s){\nwhile(true){\nvar sn \x3d cljs.core.next(s);\nif((!((sn \x3d\x3d null)))){\nvar G__30022 \x3d sn;\ns \x3d G__30022;\ncontinue;\n} else {\nreturn cljs.core.first(s);\n}\nbreak;\n}\n});\n(cljs.core.IEquiv[\x22_\x22] \x3d true);\n\n(cljs.core._equiv[\x22_\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n/**\n * conj[oin]. Returns a new collection with the xs\n *   \x27added\x27. (conj nil item) returns (item).\n *   (conj coll) returns coll. (conj) returns [].\n *   The \x27addition\x27 may happen at different \x27places\x27 depending\n *   on the concrete type.\n */\ncljs.core.conj \x3d (function cljs$core$conj(var_args){\nvar G__27079 \x3d arguments.length;\nswitch (G__27079) {\ncase 0:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30024 \x3d arguments.length;\nvar i__5750__auto___30025 \x3d (0);\nwhile(true){\nif((i__5750__auto___30025 \x3c len__5749__auto___30024)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30025]));\n\nvar G__30027 \x3d (i__5750__auto___30025 + (1));\ni__5750__auto___30025 \x3d G__30027;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._conj(coll,x);\n} else {\nreturn (new cljs.core.List(null,x,null,(1),null));\n}\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,x,xs){\nwhile(true){\nif(cljs.core.truth_(xs)){\nvar G__30029 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\nvar G__30030 \x3d cljs.core.first(xs);\nvar G__30031 \x3d cljs.core.next(xs);\ncoll \x3d G__30029;\nx \x3d G__30030;\nxs \x3d G__30031;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj.cljs$lang$applyTo \x3d (function (seq27076){\nvar G__27077 \x3d cljs.core.first(seq27076);\nvar seq27076__$1 \x3d cljs.core.next(seq27076);\nvar G__27078 \x3d cljs.core.first(seq27076__$1);\nvar seq27076__$2 \x3d cljs.core.next(seq27076__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27077,G__27078,seq27076__$2);\n}));\n\n(cljs.core.conj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns an empty collection of the same category as coll, or nil\n */\ncljs.core.empty \x3d (function cljs$core$empty(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:false):false)){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll))){\nreturn cljs.core._empty(coll);\n} else {\nreturn null;\n\n}\n}\n}\n});\ncljs.core.accumulating_seq_count \x3d (function cljs$core$accumulating_seq_count(coll){\nvar s \x3d cljs.core.seq(coll);\nvar acc \x3d (0);\nwhile(true){\nif(cljs.core.counted_QMARK_(s)){\nreturn (acc + cljs.core._count(s));\n} else {\nvar G__30038 \x3d cljs.core.next(s);\nvar G__30039 \x3d (acc + (1));\ns \x3d G__30038;\nacc \x3d G__30039;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Returns the number of items in the collection. (count nil) returns\n *   0.  Also works on strings, arrays, and Maps\n */\ncljs.core.count \x3d (function cljs$core$count(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ICounted$))))?true:false):false)){\nreturn coll.cljs$core$ICounted$_count$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn coll.length;\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn coll.length;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn cljs.core.accumulating_seq_count(coll);\n} else {\nreturn cljs.core._count(coll);\n\n}\n}\n}\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.linear_traversal_nth \x3d (function cljs$core$linear_traversal_nth(var_args){\nvar G__27085 \x3d arguments.length;\nswitch (G__27085) {\ncase 2:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nwhile(true){\nif((coll \x3d\x3d null)){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nif(cljs.core.seq(coll)){\nvar G__30041 \x3d cljs.core.next(coll);\nvar G__30042 \x3d (n - (1));\ncoll \x3d G__30041;\nn \x3d G__30042;\ncontinue;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nif(cljs.core.seq(coll)){\nvar G__30043 \x3d cljs.core.next(coll);\nvar G__30044 \x3d (n - (1));\nvar G__30045 \x3d not_found;\ncoll \x3d G__30043;\nn \x3d G__30044;\nnot_found \x3d G__30045;\ncontinue;\n} else {\nreturn not_found;\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the value at the index. get returns nil if index out of\n *   bounds, nth throws an exception unless not-found is supplied.  nth\n *   also works for strings, arrays, regex Matchers and Lists, and,\n *   in O(n) time, for sequences.\n */\ncljs.core.nth \x3d (function cljs$core$nth(var_args){\nvar G__27087 \x3d arguments.length;\nswitch (G__27087) {\ncase 2:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn coll;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif((function (){var or__5025__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(coll,n);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number.\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,n,not_found);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif((function (){var or__5025__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nreturn not_found;\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(coll,n,not_found);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the nth rest of coll, coll when n is 0.\n */\ncljs.core.nthrest \x3d (function cljs$core$nthrest(coll,n){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition1$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IDrop$))))?true:false):false)){\nif((n \x3e (0))){\nvar or__5025__auto__ \x3d coll.cljs$core$IDrop$_drop$arity$2(null,Math.ceil(n));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n} else {\nreturn coll;\n}\n} else {\nvar n__$1 \x3d n;\nvar xs \x3d coll;\nwhile(true){\nvar temp__5802__auto__ \x3d (((n__$1 \x3e (0))) \x26\x26 (cljs.core.seq(xs)));\nif(temp__5802__auto__){\nvar xs__$1 \x3d temp__5802__auto__;\nvar G__30050 \x3d (n__$1 - (1));\nvar G__30051 \x3d cljs.core.rest(xs__$1);\nn__$1 \x3d G__30050;\nxs \x3d G__30051;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n}\n});\n/**\n * Returns the value mapped to key, not-found or nil if key not present\n *   in associative collection, set, string, array, or ILookup instance.\n */\ncljs.core.get \x3d (function cljs$core$get(var_args){\nvar G__27096 \x3d arguments.length;\nswitch (G__27096) {\ncase 2:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$2(null,k);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 ((k \x3c o.length)))){\nreturn (o[(k | (0))]);\n} else {\nreturn null;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k);\n} else {\nreturn null;\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((!((o \x3d\x3d null)))){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn (o[(k | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}\n}\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.get.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * assoc[iate]. When applied to a map, returns a new map of the\n * same (hashed/sorted) type, that contains the mapping of key(s) to\n * val(s). When applied to a vector, returns a new vector that\n * contains val at index. Note - index must be \x3c\x3d (count vector).\n */\ncljs.core.assoc \x3d (function cljs$core$assoc(var_args){\nvar G__27104 \x3d arguments.length;\nswitch (G__27104) {\ncase 3:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30059 \x3d arguments.length;\nvar i__5750__auto___30060 \x3d (0);\nwhile(true){\nif((i__5750__auto___30060 \x3c len__5749__auto___30059)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30060]));\n\nvar G__30061 \x3d (i__5750__auto___30060 + (1));\ni__5750__auto___30060 \x3d G__30061;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,k,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(null,k,v);\n} else {\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._assoc(coll,k,v);\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([k,v]);\n}\n}\n}));\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,v,kvs){\nwhile(true){\nvar ret \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(coll,k,v);\nif(cljs.core.truth_(kvs)){\nvar G__30062 \x3d ret;\nvar G__30063 \x3d cljs.core.first(kvs);\nvar G__30064 \x3d cljs.core.second(kvs);\nvar G__30065 \x3d cljs.core.nnext(kvs);\ncoll \x3d G__30062;\nk \x3d G__30063;\nv \x3d G__30064;\nkvs \x3d G__30065;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc.cljs$lang$applyTo \x3d (function (seq27100){\nvar G__27101 \x3d cljs.core.first(seq27100);\nvar seq27100__$1 \x3d cljs.core.next(seq27100);\nvar G__27102 \x3d cljs.core.first(seq27100__$1);\nvar seq27100__$2 \x3d cljs.core.next(seq27100__$1);\nvar G__27103 \x3d cljs.core.first(seq27100__$2);\nvar seq27100__$3 \x3d cljs.core.next(seq27100__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27101,G__27102,G__27103,seq27100__$3);\n}));\n\n(cljs.core.assoc.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * dissoc[iate]. Returns a new map of the same (hashed/sorted) type,\n *   that does not contain a mapping for key(s).\n */\ncljs.core.dissoc \x3d (function cljs$core$dissoc(var_args){\nvar G__27110 \x3d arguments.length;\nswitch (G__27110) {\ncase 1:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30068 \x3d arguments.length;\nvar i__5750__auto___30069 \x3d (0);\nwhile(true){\nif((i__5750__auto___30069 \x3c len__5749__auto___30068)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30069]));\n\nvar G__30071 \x3d (i__5750__auto___30069 + (1));\ni__5750__auto___30069 \x3d G__30071;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._dissoc(coll,k);\n}\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__30075 \x3d ret;\nvar G__30076 \x3d cljs.core.first(ks);\nvar G__30077 \x3d cljs.core.next(ks);\ncoll \x3d G__30075;\nk \x3d G__30076;\nks \x3d G__30077;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc.cljs$lang$applyTo \x3d (function (seq27107){\nvar G__27108 \x3d cljs.core.first(seq27107);\nvar seq27107__$1 \x3d cljs.core.next(seq27107);\nvar G__27109 \x3d cljs.core.first(seq27107__$1);\nvar seq27107__$2 \x3d cljs.core.next(seq27107__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27108,G__27109,seq27107__$2);\n}));\n\n(cljs.core.dissoc.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return true if f is a JavaScript function or satisfies the Fn protocol.\n */\ncljs.core.fn_QMARK_ \x3d (function cljs$core$fn_QMARK_(f){\nvar or__5025__auto__ \x3d typeof f \x3d\x3d\x3d \x27function\x27;\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$Fn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.MetaFn \x3d (function (afn,meta){\nthis.afn \x3d afn;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393217;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MetaFn.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.MetaFn(self__.afn,new_meta));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MetaFn.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27113 \x3d (arguments.length - (1));\nswitch (G__27113) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MetaFn.prototype.apply \x3d (function (self__,args27112){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27112)));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$0 ? self__.afn.cljs$core$IFn$_invoke$arity$0() : self__.afn.call(null));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$1 ? self__.afn.cljs$core$IFn$_invoke$arity$1(a) : self__.afn.call(null,a));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$2 ? self__.afn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.afn.call(null,a,b));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$3 ? self__.afn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.afn.call(null,a,b,c));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$4 ? self__.afn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.afn.call(null,a,b,c,d));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$5 ? self__.afn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.afn.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$6 ? self__.afn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.afn.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$7 ? self__.afn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.afn.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$8 ? self__.afn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.afn.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$9 ? self__.afn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.afn.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$10 ? self__.afn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$11 ? self__.afn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$12 ? self__.afn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$13 ? self__.afn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$14 ? self__.afn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$15 ? self__.afn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$16 ? self__.afn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$17 ? self__.afn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$18 ? self__.afn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$19 ? self__.afn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$20 ? self__.afn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$21 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$21(self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s, new cljs.core.IndexedSeq([t,rest],0,null)) : cljs.core.apply.call(null,self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n}));\n\n(cljs.core.MetaFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22afn\x22,\x22afn\x22,216963467,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.MetaFn.cljs$lang$type \x3d true);\n\n(cljs.core.MetaFn.cljs$lang$ctorStr \x3d \x22cljs.core/MetaFn\x22);\n\n(cljs.core.MetaFn.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/MetaFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MetaFn.\n */\ncljs.core.__GT_MetaFn \x3d (function cljs$core$__GT_MetaFn(afn,meta){\nreturn (new cljs.core.MetaFn(afn,meta));\n});\n\n/**\n * Returns an object of the same type and value as obj, with\n *   map m as its metadata.\n */\ncljs.core.with_meta \x3d (function cljs$core$with_meta(o,meta){\nif(typeof o \x3d\x3d\x3d \x27function\x27){\nreturn (new cljs.core.MetaFn(o,meta));\n} else {\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._with_meta(o,meta);\n}\n}\n});\n/**\n * Returns the metadata of obj, returns nil if there is no metadata.\n */\ncljs.core.meta \x3d (function cljs$core$meta(o){\nif((function (){var and__5023__auto__ \x3d (!((o \x3d\x3d null)));\nif(and__5023__auto__){\nif((!((o \x3d\x3d null)))){\nif((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$)))){\nreturn true;\n} else {\nif((!o.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n}\n} else {\nreturn and__5023__auto__;\n}\n})()){\nreturn cljs.core._meta(o);\n} else {\nreturn null;\n}\n});\n/**\n * For a list or queue, same as first, for a vector, same as, but much\n *   more efficient than, last. If the collection is empty, returns nil.\n */\ncljs.core.peek \x3d (function cljs$core$peek(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._peek(coll);\n}\n});\n/**\n * For a list or queue, returns a new list/queue without the first\n *   item, for a vector, returns a new vector without the last item.\n *   Note - not the same as next/butlast.\n */\ncljs.core.pop \x3d (function cljs$core$pop(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._pop(coll);\n}\n});\n/**\n * disj[oin]. Returns a new set of the same (hashed/sorted) type, that\n *   does not contain key(s).\n */\ncljs.core.disj \x3d (function cljs$core$disj(var_args){\nvar G__27119 \x3d arguments.length;\nswitch (G__27119) {\ncase 1:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30100 \x3d arguments.length;\nvar i__5750__auto___30101 \x3d (0);\nwhile(true){\nif((i__5750__auto___30101 \x3c len__5749__auto___30100)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30101]));\n\nvar G__30102 \x3d (i__5750__auto___30101 + (1));\ni__5750__auto___30101 \x3d G__30102;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._disjoin(coll,k);\n}\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__30103 \x3d ret;\nvar G__30104 \x3d cljs.core.first(ks);\nvar G__30105 \x3d cljs.core.next(ks);\ncoll \x3d G__30103;\nk \x3d G__30104;\nks \x3d G__30105;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj.cljs$lang$applyTo \x3d (function (seq27116){\nvar G__27117 \x3d cljs.core.first(seq27116);\nvar seq27116__$1 \x3d cljs.core.next(seq27116);\nvar G__27118 \x3d cljs.core.first(seq27116__$1);\nvar seq27116__$2 \x3d cljs.core.next(seq27116__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27117,G__27118,seq27116__$2);\n}));\n\n(cljs.core.disj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if coll has no items. To check the emptiness of a seq,\n *   please use the idiom (seq x) rather than (not (empty? x))\n */\ncljs.core.empty_QMARK_ \x3d (function cljs$core$empty_QMARK_(coll){\nif((coll \x3d\x3d null)){\nreturn true;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ICounted$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,coll))){\nreturn (cljs.core._count(coll) \x3d\x3d\x3d (0));\n} else {\nreturn cljs.core.not(cljs.core.seq(coll));\n\n}\n}\n});\n/**\n * Returns true if x satisfies ICollection\n */\ncljs.core.coll_QMARK_ \x3d (function cljs$core$coll_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (8))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICollection$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n}\n}\n});\n/**\n * Returns true if x satisfies ISet\n */\ncljs.core.set_QMARK_ \x3d (function cljs$core$set_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n}\n}\n});\n/**\n * Returns true if coll implements IAssociative\n */\ncljs.core.associative_QMARK_ \x3d (function cljs$core$associative_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IAssociative$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n}\n});\n/**\n * Returns true if coll implements IFind\n */\ncljs.core.ifind_QMARK_ \x3d (function cljs$core$ifind_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IFind$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n}\n});\n/**\n * Returns true if coll satisfies ISequential\n */\ncljs.core.sequential_QMARK_ \x3d (function cljs$core$sequential_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n}\n});\n/**\n * Returns true if coll satisfies ISorted\n */\ncljs.core.sorted_QMARK_ \x3d (function cljs$core$sorted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (268435456))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISorted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n}\n});\n/**\n * Returns true if coll satisfies IReduce\n */\ncljs.core.reduceable_QMARK_ \x3d (function cljs$core$reduceable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IReduce$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n}\n});\n/**\n * Return true if x satisfies IMap\n */\ncljs.core.map_QMARK_ \x3d (function cljs$core$map_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n}\n}\n});\n/**\n * Return true if x satisfies IRecord\n */\ncljs.core.record_QMARK_ \x3d (function cljs$core$record_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IRecord$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n}\n});\n/**\n * Return true if x satisfies IVector\n */\ncljs.core.vector_QMARK_ \x3d (function cljs$core$vector_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IVector$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n}\n});\n\n/**\n * Return true if x satisfies IChunkedSeq.\n */\ncljs.core.chunked_seq_QMARK_ \x3d (function cljs$core$chunked_seq_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IChunkedSeq$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n/**\n * Create JavaSript object from an even number arguments representing\n *   interleaved keys and values.\n */\ncljs.core.js_obj \x3d (function cljs$core$js_obj(var_args){\nvar G__27134 \x3d arguments.length;\nswitch (G__27134) {\ncase 0:\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30111 \x3d arguments.length;\nvar i__5750__auto___30112 \x3d (0);\nwhile(true){\nif((i__5750__auto___30112 \x3c len__5749__auto___30111)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30112]));\n\nvar G__30113 \x3d (i__5750__auto___30112 + (1));\ni__5750__auto___30112 \x3d G__30113;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((0) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn ({});\n}));\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$2 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.goog$module$goog$object.create,keyvals) : cljs.core.apply.call(null,cljs.core.goog$module$goog$object.create,keyvals));\n}));\n\n/** @this {Function} */\n(cljs.core.js_obj.cljs$lang$applyTo \x3d (function (seq27133){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27133));\n}));\n\n(cljs.core.js_obj.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Return the JavaScript keys for an object.\n */\ncljs.core.js_keys \x3d (function cljs$core$js_keys(obj){\nreturn cljs.core.goog$module$goog$object.getKeys(obj);\n});\n/**\n * Delete a property from a JavaScript object.\n *   Returns true upon success, false otherwise.\n */\ncljs.core.js_delete \x3d (function cljs$core$js_delete(obj,key){\nreturn delete obj[key];\n});\ncljs.core.array_copy \x3d (function cljs$core$array_copy(from,i,to,j,len){\nvar i__$1 \x3d i;\nvar j__$1 \x3d j;\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__30114 \x3d (i__$1 + (1));\nvar G__30115 \x3d (j__$1 + (1));\nvar G__30116 \x3d (len__$1 - (1));\ni__$1 \x3d G__30114;\nj__$1 \x3d G__30115;\nlen__$1 \x3d G__30116;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.array_copy_downward \x3d (function cljs$core$array_copy_downward(from,i,to,j,len){\nvar i__$1 \x3d (i + (len - (1)));\nvar j__$1 \x3d (j + (len - (1)));\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__30117 \x3d (i__$1 - (1));\nvar G__30118 \x3d (j__$1 - (1));\nvar G__30119 \x3d (len__$1 - (1));\ni__$1 \x3d G__30117;\nj__$1 \x3d G__30118;\nlen__$1 \x3d G__30119;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.lookup_sentinel \x3d ({});\n/**\n * Returns true if x is the value false, false otherwise.\n */\ncljs.core.false_QMARK_ \x3d (function cljs$core$false_QMARK_(x){\nreturn x \x3d\x3d\x3d false;\n});\n/**\n * Returns true if x is the value true, false otherwise.\n */\ncljs.core.true_QMARK_ \x3d (function cljs$core$true_QMARK_(x){\nreturn x \x3d\x3d\x3d true;\n});\n/**\n * Return true if x is a Boolean\n */\ncljs.core.boolean_QMARK_ \x3d (function cljs$core$boolean_QMARK_(x){\nreturn ((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false));\n});\n/**\n * Returns true if x identical to the JavaScript undefined value.\n */\ncljs.core.undefined_QMARK_ \x3d (function cljs$core$undefined_QMARK_(x){\nreturn (void 0 \x3d\x3d\x3d x);\n});\n/**\n * Return true if s satisfies ISeq\n */\ncljs.core.seq_QMARK_ \x3d (function cljs$core$seq_QMARK_(s){\nif((s \x3d\x3d null)){\nreturn false;\n} else {\nif((!((s \x3d\x3d null)))){\nif((((s.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$ISeq$)))){\nreturn true;\n} else {\nif((!s.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n}\n}\n});\n/**\n * Return true if the seq function is supported for s\n */\ncljs.core.seqable_QMARK_ \x3d (function cljs$core$seqable_QMARK_(s){\nvar or__5025__auto__ \x3d (s \x3d\x3d null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$ISeqable$))))?true:(((!s.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s));\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn ((cljs.core.js_iterable_QMARK_(s)) || (((cljs.core.array_QMARK_(s)) || (typeof s \x3d\x3d\x3d \x27string\x27))));\n}\n}\n});\n/**\n * Coerce to boolean\n */\ncljs.core.boolean$ \x3d (function cljs$core$boolean(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n});\n/**\n * Returns true if f returns true for fn? or satisfies IFn.\n */\ncljs.core.ifn_QMARK_ \x3d (function cljs$core$ifn_QMARK_(f){\nvar or__5025__auto__ \x3d cljs.core.fn_QMARK_(f);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif((((f.cljs$lang$protocol_mask$partition0$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$IFn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n}\n}\n});\n/**\n * Returns true if n is a JavaScript number with no decimal part.\n */\ncljs.core.integer_QMARK_ \x3d (function cljs$core$integer_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))));\n});\n/**\n * INTERNAL: do not use\n */\ncljs.core.LongImpl \x3d cljs.core.goog$module$goog$math$Long;\n/**\n * Return true if x satisfies integer? or is an instance of goog.math.Integer\n * or goog.math.Long.\n */\ncljs.core.int_QMARK_ \x3d (function cljs$core$int_QMARK_(x){\nreturn ((cljs.core.integer_QMARK_(x)) || ((((x instanceof goog.math.Integer)) || ((x instanceof cljs.core.goog$module$goog$math$Long)))));\n});\n/**\n * Return true if x satisfies int? and is positive.\n */\ncljs.core.pos_int_QMARK_ \x3d (function cljs$core$pos_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3e (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is negative.\n */\ncljs.core.neg_int_QMARK_ \x3d (function cljs$core$neg_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3c (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn x.isNegative();\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn x.isNegative();\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is a natural integer value.\n */\ncljs.core.nat_int_QMARK_ \x3d (function cljs$core$nat_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (!((x \x3c (0))));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn cljs.core.not(x.isNegative());\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn cljs.core.not(x.isNegative());\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.float_QMARK_ \x3d (function cljs$core$float_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.double_QMARK_ \x3d (function cljs$core$double_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for Infinity and -Infinity values.\n */\ncljs.core.infinite_QMARK_ \x3d (function cljs$core$infinite_QMARK_(x){\nreturn (((x \x3d\x3d\x3d Number.POSITIVE_INFINITY)) || ((x \x3d\x3d\x3d Number.NEGATIVE_INFINITY)));\n});\n/**\n * Returns true if key is present in the given collection, otherwise\n *   returns false.  Note that for numerically indexed collections like\n *   vectors and arrays, this tests if the numeric key is within the\n *   range of indexes. \x27contains?\x27 operates constant or logarithmic time;\n *   it will not perform a linear search for a value.  See also \x27some\x27.\n */\ncljs.core.contains_QMARK_ \x3d (function cljs$core$contains_QMARK_(coll,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(null,v);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,coll)){\nreturn cljs.core._contains_key_QMARK_(coll,v);\n} else {\nif((cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core.find \x3d (function cljs$core$find(coll,k){\nif(cljs.core.ifind_QMARK_(coll)){\nreturn cljs.core._find(coll,k);\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 (((cljs.core.associative_QMARK_(coll)) \x26\x26 (cljs.core.contains_QMARK_(coll,k)))))){\nreturn (new cljs.core.MapEntry(k,cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,k),null));\n} else {\nreturn null;\n}\n}\n});\n/**\n * Returns true if no two of the arguments are \x3d\n */\ncljs.core.distinct_QMARK_ \x3d (function cljs$core$distinct_QMARK_(var_args){\nvar G__27147 \x3d arguments.length;\nswitch (G__27147) {\ncase 1:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30135 \x3d arguments.length;\nvar i__5750__auto___30136 \x3d (0);\nwhile(true){\nif((i__5750__auto___30136 \x3c len__5749__auto___30135)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30136]));\n\nvar G__30137 \x3d (i__5750__auto___30136 + (1));\ni__5750__auto___30136 \x3d G__30137;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)))){\nvar s \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([x,y]);\nvar xs \x3d more;\nwhile(true){\nvar x__$1 \x3d cljs.core.first(xs);\nvar etc \x3d cljs.core.next(xs);\nif(cljs.core.truth_(xs)){\nif(cljs.core.contains_QMARK_(s,x__$1)){\nreturn false;\n} else {\nvar G__30141 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(s,x__$1);\nvar G__30142 \x3d etc;\ns \x3d G__30141;\nxs \x3d G__30142;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.distinct_QMARK_.cljs$lang$applyTo \x3d (function (seq27144){\nvar G__27145 \x3d cljs.core.first(seq27144);\nvar seq27144__$1 \x3d cljs.core.next(seq27144);\nvar G__27146 \x3d cljs.core.first(seq27144__$1);\nvar seq27144__$2 \x3d cljs.core.next(seq27144__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27145,G__27146,seq27144__$2);\n}));\n\n(cljs.core.distinct_QMARK_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Comparator. Returns a negative number, zero, or a positive number\n *   when x is logically \x27less than\x27, \x27equal to\x27, or \x27greater than\x27\n *   y. Uses IComparable if available and google.array.defaultCompare for objects\n *  of the same type and special-cases nil to be less than any other object.\n */\ncljs.core.compare \x3d (function cljs$core$compare(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn (0);\n} else {\nif((x \x3d\x3d null)){\nreturn (-1);\n} else {\nif((y \x3d\x3d null)){\nreturn (1);\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nif(typeof y \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IComparable$))))?true:(((!x.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x))){\nreturn cljs.core._compare(x,y);\n} else {\nif(((((typeof x \x3d\x3d\x3d \x27string\x27) || (((cljs.core.array_QMARK_(x)) || (((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false))))))) \x26\x26 ((cljs.core.type(x) \x3d\x3d\x3d cljs.core.type(y))))){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n\n}\n}\n}\n}\n}\n});\n/**\n * Compare indexed collection.\n */\ncljs.core.compare_indexed \x3d (function cljs$core$compare_indexed(var_args){\nvar G__27150 \x3d arguments.length;\nswitch (G__27150) {\ncase 2:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (xs,ys){\nvar xl \x3d cljs.core.count(xs);\nvar yl \x3d cljs.core.count(ys);\nif((xl \x3c yl)){\nreturn (-1);\n} else {\nif((xl \x3e yl)){\nreturn (1);\n} else {\nif((xl \x3d\x3d\x3d (0))){\nreturn (0);\n} else {\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(xs,ys,xl,(0));\n\n}\n}\n}\n}));\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4 \x3d (function (xs,ys,len,n){\nwhile(true){\nvar d \x3d cljs.core.compare(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(xs,n),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ys,n));\nif((((d \x3d\x3d\x3d (0))) \x26\x26 (((n + (1)) \x3c len)))){\nvar G__30146 \x3d xs;\nvar G__30147 \x3d ys;\nvar G__30148 \x3d len;\nvar G__30149 \x3d (n + (1));\nxs \x3d G__30146;\nys \x3d G__30147;\nlen \x3d G__30148;\nn \x3d G__30149;\ncontinue;\n} else {\nreturn d;\n}\nbreak;\n}\n}));\n\n(cljs.core.compare_indexed.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Given a fn that might be boolean valued or a comparator,\n * return a fn that is a comparator.\n */\ncljs.core.fn__GT_comparator \x3d (function cljs$core$fn__GT_comparator(f){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.compare)){\nreturn cljs.core.compare;\n} else {\nreturn (function (x,y){\nvar r \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\nif(typeof r \x3d\x3d\x3d \x27number\x27){\nreturn r;\n} else {\nif(cljs.core.truth_(r)){\nreturn (-1);\n} else {\nif(cljs.core.truth_((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(y,x) : f.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n}\n}\n}\n});\n}\n});\n/**\n * Returns a sorted sequence of the items in coll. Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort \x3d (function cljs$core$sort(var_args){\nvar G__27152 \x3d arguments.length;\nswitch (G__27152) {\ncase 1:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(cljs.core.compare,coll);\n}));\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$2 \x3d (function (comp,coll){\nif(cljs.core.seq(coll)){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.stableSort(a,cljs.core.fn__GT_comparator(comp));\n\nreturn cljs.core.with_meta(cljs.core.seq(a),cljs.core.meta(coll));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sort.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a sorted sequence of the items in coll, where the sort\n * order is determined by comparing (keyfn item).  Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort_by \x3d (function cljs$core$sort_by(var_args){\nvar G__27154 \x3d arguments.length;\nswitch (G__27154) {\ncase 2:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (keyfn,coll){\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(keyfn,cljs.core.compare,coll);\n}));\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (keyfn,comp,coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (x,y){\nvar G__27156 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(x) : keyfn.call(null,x));\nvar G__27157 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(y) : keyfn.call(null,y));\nvar fexpr__27155 \x3d cljs.core.fn__GT_comparator(comp);\nreturn (fexpr__27155.cljs$core$IFn$_invoke$arity$2 ? fexpr__27155.cljs$core$IFn$_invoke$arity$2(G__27156,G__27157) : fexpr__27155.call(null,G__27156,G__27157));\n}),coll);\n}));\n\n(cljs.core.sort_by.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.seq_reduce \x3d (function cljs$core$seq_reduce(var_args){\nvar G__27159 \x3d arguments.length;\nswitch (G__27159) {\ncase 2:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar s \x3d temp__5802__auto__;\nvar G__27160 \x3d f;\nvar G__27161 \x3d cljs.core.first(s);\nvar G__27162 \x3d cljs.core.next(s);\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__27160,G__27161,G__27162) : cljs.core.reduce.call(null,G__27160,G__27161,G__27162));\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nvar val__$1 \x3d val;\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif(coll__$1){\nvar nval \x3d (function (){var G__27163 \x3d val__$1;\nvar G__27164 \x3d cljs.core.first(coll__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27163,G__27164) : f.call(null,G__27163,G__27164));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__30157 \x3d nval;\nvar G__30158 \x3d cljs.core.next(coll__$1);\nval__$1 \x3d G__30157;\ncoll__$1 \x3d G__30158;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.seq_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return a random permutation of coll\n */\ncljs.core.shuffle \x3d (function cljs$core$shuffle(coll){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.shuffle(a);\n\nreturn (cljs.core.vec.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vec.cljs$core$IFn$_invoke$arity$1(a) : cljs.core.vec.call(null,a));\n});\ncljs.core.iter_reduce \x3d (function cljs$core$iter_reduce(var_args){\nvar G__27166 \x3d arguments.length;\nswitch (G__27166) {\ncase 2:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nvar iter \x3d cljs.core._iterator(coll);\nif(cljs.core.truth_(iter.hasNext())){\nvar init \x3d iter.next();\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__27167 \x3d acc;\nvar G__27168 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27167,G__27168) : f.call(null,G__27167,G__27168));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__30160 \x3d nacc;\nacc \x3d G__30160;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,init){\nvar iter \x3d cljs.core._iterator(coll);\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__27169 \x3d acc;\nvar G__27170 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27169,G__27170) : f.call(null,G__27169,G__27170));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__30161 \x3d nacc;\nacc \x3d G__30161;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.iter_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * f should be a function of 2 arguments. If val is not supplied,\n *   returns the result of applying f to the first 2 items in coll, then\n *   applying f to that result and the 3rd item, etc. If coll contains no\n *   items, f must accept no arguments as well, and reduce returns the\n *   result of calling f with no arguments.  If coll has only 1 item, it\n *   is returned and f is not called.  If val is supplied, returns the\n *   result of applying f to val and the first item in coll, then\n *   applying f to that result and the 2nd item, etc. If coll contains no\n *   items, returns val and f is not called.\n */\ncljs.core.reduce \x3d (function cljs$core$reduce(var_args){\nvar G__27172 \x3d arguments.length;\nswitch (G__27172) {\ncase 2:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(null,f);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(null,f,val);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f,val);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,val,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reduces an associative collection. f should be a function of 3\n *   arguments. Returns the result of applying f to init, the first key\n *   and the first value in coll, then applying f to that result and the\n *   2nd key and value, etc. If coll contains no entries, returns init\n *   and f is not called. Note that reduce-kv is supported on vectors,\n *   where the keys will be the ordinals.\n */\ncljs.core.reduce_kv \x3d (function cljs$core$reduce_kv(f,init,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (1048576))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IKVReduce$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,coll))){\nreturn cljs.core._kv_reduce(coll,f,init);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,me){\nvar G__27176 \x3d ret;\nvar G__27177 \x3d cljs.core._key(me);\nvar G__27178 \x3d cljs.core._val(me);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27176,G__27177,G__27178) : f.call(null,G__27176,G__27177,G__27178));\n}),init,coll);\n}\n});\n/**\n * Returns its argument.\n */\ncljs.core.identity \x3d (function cljs$core$identity(x){\nreturn x;\n});\n/**\n * Takes a reducing function f of 2 args and returns a fn suitable for\n *   transduce by adding an arity-1 signature that calls cf (default -\n *   identity) on the result argument.\n */\ncljs.core.completing \x3d (function cljs$core$completing(var_args){\nvar G__27180 \x3d arguments.length;\nswitch (G__27180) {\ncase 1:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2(f,cljs.core.identity);\n}));\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,cf){\nreturn (function() {\nvar G__30164 \x3d null;\nvar G__30164__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n});\nvar G__30164__1 \x3d (function (x){\nreturn (cf.cljs$core$IFn$_invoke$arity$1 ? cf.cljs$core$IFn$_invoke$arity$1(x) : cf.call(null,x));\n});\nvar G__30164__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\n});\nG__30164 \x3d function(x,y){\nswitch(arguments.length){\ncase 0:\nreturn G__30164__0.call(this);\ncase 1:\nreturn G__30164__1.call(this,x);\ncase 2:\nreturn G__30164__2.call(this,x,y);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30164.cljs$core$IFn$_invoke$arity$0 \x3d G__30164__0;\nG__30164.cljs$core$IFn$_invoke$arity$1 \x3d G__30164__1;\nG__30164.cljs$core$IFn$_invoke$arity$2 \x3d G__30164__2;\nreturn G__30164;\n})()\n}));\n\n(cljs.core.completing.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * reduce with a transformation of f (xf). If init is not\n *   supplied, (f) will be called to produce it. f should be a reducing\n *   step function that accepts both 1 and 2 arguments, if it accepts\n *   only 2 you can add the arity-1 with \x27completing\x27. Returns the result\n *   of applying (the transformed) xf to init and the first item in coll,\n *   then applying xf to that result and the 2nd item, etc. If coll\n *   contains no items, returns init and f is not called. Note that\n *   certain transforms may inject or skip items.\n */\ncljs.core.transduce \x3d (function cljs$core$transduce(var_args){\nvar G__27182 \x3d arguments.length;\nswitch (G__27182) {\ncase 3:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (xform,f,coll){\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,f,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),coll);\n}));\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (xform,f,init,coll){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar ret \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(f__$1,init,coll);\nreturn (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(ret) : f__$1.call(null,ret));\n}));\n\n(cljs.core.transduce.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core._PLUS_ \x3d (function cljs$core$_PLUS_(var_args){\nvar G__27187 \x3d arguments.length;\nswitch (G__27187) {\ncase 0:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30167 \x3d arguments.length;\nvar i__5750__auto___30171 \x3d (0);\nwhile(true){\nif((i__5750__auto___30171 \x3c len__5749__auto___30167)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30171]));\n\nvar G__30172 \x3d (i__5750__auto___30171 + (1));\ni__5750__auto___30171 \x3d G__30172;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._PLUS_,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._PLUS_.cljs$lang$applyTo \x3d (function (seq27184){\nvar G__27185 \x3d cljs.core.first(seq27184);\nvar seq27184__$1 \x3d cljs.core.next(seq27184);\nvar G__27186 \x3d cljs.core.first(seq27184__$1);\nvar seq27184__$2 \x3d cljs.core.next(seq27184__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27185,G__27186,seq27184__$2);\n}));\n\n(cljs.core._PLUS_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n *   the ys from x and returns the result.\n */\ncljs.core._ \x3d (function cljs$core$_(var_args){\nvar G__27192 \x3d arguments.length;\nswitch (G__27192) {\ncase 1:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30174 \x3d arguments.length;\nvar i__5750__auto___30175 \x3d (0);\nwhile(true){\nif((i__5750__auto___30175 \x3c len__5749__auto___30174)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30175]));\n\nvar G__30176 \x3d (i__5750__auto___30175 + (1));\ni__5750__auto___30175 \x3d G__30176;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._.cljs$lang$applyTo \x3d (function (seq27189){\nvar G__27190 \x3d cljs.core.first(seq27189);\nvar seq27189__$1 \x3d cljs.core.next(seq27189);\nvar G__27191 \x3d cljs.core.first(seq27189__$1);\nvar seq27189__$2 \x3d cljs.core.next(seq27189__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27190,G__27191,seq27189__$2);\n}));\n\n(cljs.core._.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core._STAR_ \x3d (function cljs$core$_STAR_(var_args){\nvar G__27197 \x3d arguments.length;\nswitch (G__27197) {\ncase 0:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30178 \x3d arguments.length;\nvar i__5750__auto___30179 \x3d (0);\nwhile(true){\nif((i__5750__auto___30179 \x3c len__5749__auto___30178)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30179]));\n\nvar G__30180 \x3d (i__5750__auto___30179 + (1));\ni__5750__auto___30179 \x3d G__30180;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._STAR_,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._STAR_.cljs$lang$applyTo \x3d (function (seq27194){\nvar G__27195 \x3d cljs.core.first(seq27194);\nvar seq27194__$1 \x3d cljs.core.next(seq27194);\nvar G__27196 \x3d cljs.core.first(seq27194__$1);\nvar seq27194__$2 \x3d cljs.core.next(seq27194__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27195,G__27196,seq27194__$2);\n}));\n\n(cljs.core._STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no denominators are supplied, returns 1/numerator,\n *   else returns numerator divided by all of the denominators.\n */\ncljs.core._SLASH_ \x3d (function cljs$core$_SLASH_(var_args){\nvar G__27202 \x3d arguments.length;\nswitch (G__27202) {\ncase 1:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30185 \x3d arguments.length;\nvar i__5750__auto___30186 \x3d (0);\nwhile(true){\nif((i__5750__auto___30186 \x3c len__5749__auto___30185)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30186]));\n\nvar G__30187 \x3d (i__5750__auto___30186 + (1));\ni__5750__auto___30186 \x3d G__30187;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._SLASH_,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._SLASH_.cljs$lang$applyTo \x3d (function (seq27199){\nvar G__27200 \x3d cljs.core.first(seq27199);\nvar seq27199__$1 \x3d cljs.core.next(seq27199);\nvar G__27201 \x3d cljs.core.first(seq27199__$1);\nvar seq27199__$2 \x3d cljs.core.next(seq27199__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27200,G__27201,seq27199__$2);\n}));\n\n(cljs.core._SLASH_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically increasing order,\n *   otherwise false.\n */\ncljs.core._LT_ \x3d (function cljs$core$_LT_(var_args){\nvar G__27207 \x3d arguments.length;\nswitch (G__27207) {\ncase 1:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30192 \x3d arguments.length;\nvar i__5750__auto___30193 \x3d (0);\nwhile(true){\nif((i__5750__auto___30193 \x3c len__5749__auto___30192)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30193]));\n\nvar G__30194 \x3d (i__5750__auto___30193 + (1));\ni__5750__auto___30193 \x3d G__30194;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c y);\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c y)){\nif(cljs.core.next(more)){\nvar G__30195 \x3d y;\nvar G__30196 \x3d cljs.core.first(more);\nvar G__30197 \x3d cljs.core.next(more);\nx \x3d G__30195;\ny \x3d G__30196;\nmore \x3d G__30197;\ncontinue;\n} else {\nreturn (y \x3c cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT_.cljs$lang$applyTo \x3d (function (seq27204){\nvar G__27205 \x3d cljs.core.first(seq27204);\nvar seq27204__$1 \x3d cljs.core.next(seq27204);\nvar G__27206 \x3d cljs.core.first(seq27204__$1);\nvar seq27204__$2 \x3d cljs.core.next(seq27204__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27205,G__27206,seq27204__$2);\n}));\n\n(cljs.core._LT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-decreasing order,\n *   otherwise false.\n */\ncljs.core._LT__EQ_ \x3d (function cljs$core$_LT__EQ_(var_args){\nvar G__27212 \x3d arguments.length;\nswitch (G__27212) {\ncase 1:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30202 \x3d arguments.length;\nvar i__5750__auto___30203 \x3d (0);\nwhile(true){\nif((i__5750__auto___30203 \x3c len__5749__auto___30202)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30203]));\n\nvar G__30204 \x3d (i__5750__auto___30203 + (1));\ni__5750__auto___30203 \x3d G__30204;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c\x3d y);\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c\x3d y)){\nif(cljs.core.next(more)){\nvar G__30213 \x3d y;\nvar G__30214 \x3d cljs.core.first(more);\nvar G__30215 \x3d cljs.core.next(more);\nx \x3d G__30213;\ny \x3d G__30214;\nmore \x3d G__30215;\ncontinue;\n} else {\nreturn (y \x3c\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT__EQ_.cljs$lang$applyTo \x3d (function (seq27209){\nvar G__27210 \x3d cljs.core.first(seq27209);\nvar seq27209__$1 \x3d cljs.core.next(seq27209);\nvar G__27211 \x3d cljs.core.first(seq27209__$1);\nvar seq27209__$2 \x3d cljs.core.next(seq27209__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27210,G__27211,seq27209__$2);\n}));\n\n(cljs.core._LT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically decreasing order,\n *   otherwise false.\n */\ncljs.core._GT_ \x3d (function cljs$core$_GT_(var_args){\nvar G__27217 \x3d arguments.length;\nswitch (G__27217) {\ncase 1:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30222 \x3d arguments.length;\nvar i__5750__auto___30223 \x3d (0);\nwhile(true){\nif((i__5750__auto___30223 \x3c len__5749__auto___30222)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30223]));\n\nvar G__30224 \x3d (i__5750__auto___30223 + (1));\ni__5750__auto___30223 \x3d G__30224;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e y);\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e y)){\nif(cljs.core.next(more)){\nvar G__30228 \x3d y;\nvar G__30232 \x3d cljs.core.first(more);\nvar G__30233 \x3d cljs.core.next(more);\nx \x3d G__30228;\ny \x3d G__30232;\nmore \x3d G__30233;\ncontinue;\n} else {\nreturn (y \x3e cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT_.cljs$lang$applyTo \x3d (function (seq27214){\nvar G__27215 \x3d cljs.core.first(seq27214);\nvar seq27214__$1 \x3d cljs.core.next(seq27214);\nvar G__27216 \x3d cljs.core.first(seq27214__$1);\nvar seq27214__$2 \x3d cljs.core.next(seq27214__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27215,G__27216,seq27214__$2);\n}));\n\n(cljs.core._GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-increasing order,\n *   otherwise false.\n */\ncljs.core._GT__EQ_ \x3d (function cljs$core$_GT__EQ_(var_args){\nvar G__27222 \x3d arguments.length;\nswitch (G__27222) {\ncase 1:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30235 \x3d arguments.length;\nvar i__5750__auto___30236 \x3d (0);\nwhile(true){\nif((i__5750__auto___30236 \x3c len__5749__auto___30235)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30236]));\n\nvar G__30237 \x3d (i__5750__auto___30236 + (1));\ni__5750__auto___30236 \x3d G__30237;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e\x3d y);\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e\x3d y)){\nif(cljs.core.next(more)){\nvar G__30241 \x3d y;\nvar G__30242 \x3d cljs.core.first(more);\nvar G__30243 \x3d cljs.core.next(more);\nx \x3d G__30241;\ny \x3d G__30242;\nmore \x3d G__30243;\ncontinue;\n} else {\nreturn (y \x3e\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT__EQ_.cljs$lang$applyTo \x3d (function (seq27219){\nvar G__27220 \x3d cljs.core.first(seq27219);\nvar seq27219__$1 \x3d cljs.core.next(seq27219);\nvar G__27221 \x3d cljs.core.first(seq27219__$1);\nvar seq27219__$2 \x3d cljs.core.next(seq27219__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27220,G__27221,seq27219__$2);\n}));\n\n(cljs.core._GT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than num.\n */\ncljs.core.dec \x3d (function cljs$core$dec(x){\nreturn (x - (1));\n});\n/**\n * Returns the absolute value of a.\n */\ncljs.core.abs \x3d (function cljs$core$abs(a){\nreturn Math.abs(a);\n});\n/**\n * Returns the greatest of the nums.\n */\ncljs.core.max \x3d (function cljs$core$max(var_args){\nvar G__27227 \x3d arguments.length;\nswitch (G__27227) {\ncase 1:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30245 \x3d arguments.length;\nvar i__5750__auto___30246 \x3d (0);\nwhile(true){\nif((i__5750__auto___30246 \x3c len__5749__auto___30245)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30246]));\n\nvar G__30247 \x3d (i__5750__auto___30246 + (1));\ni__5750__auto___30246 \x3d G__30247;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5110__auto__ \x3d x;\nvar y__5111__auto__ \x3d y;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(function (){var x__5110__auto__ \x3d x;\nvar y__5111__auto__ \x3d y;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max.cljs$lang$applyTo \x3d (function (seq27224){\nvar G__27225 \x3d cljs.core.first(seq27224);\nvar seq27224__$1 \x3d cljs.core.next(seq27224);\nvar G__27226 \x3d cljs.core.first(seq27224__$1);\nvar seq27224__$2 \x3d cljs.core.next(seq27224__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27225,G__27226,seq27224__$2);\n}));\n\n(cljs.core.max.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the least of the nums.\n */\ncljs.core.min \x3d (function cljs$core$min(var_args){\nvar G__27232 \x3d arguments.length;\nswitch (G__27232) {\ncase 1:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30252 \x3d arguments.length;\nvar i__5750__auto___30253 \x3d (0);\nwhile(true){\nif((i__5750__auto___30253 \x3c len__5749__auto___30252)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30253]));\n\nvar G__30254 \x3d (i__5750__auto___30253 + (1));\ni__5750__auto___30253 \x3d G__30254;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5113__auto__ \x3d x;\nvar y__5114__auto__ \x3d y;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.min,(function (){var x__5113__auto__ \x3d x;\nvar y__5114__auto__ \x3d y;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min.cljs$lang$applyTo \x3d (function (seq27229){\nvar G__27230 \x3d cljs.core.first(seq27229);\nvar seq27229__$1 \x3d cljs.core.next(seq27229);\nvar G__27231 \x3d cljs.core.first(seq27229__$1);\nvar seq27229__$2 \x3d cljs.core.next(seq27229__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27230,G__27231,seq27229__$2);\n}));\n\n(cljs.core.min.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.byte$ \x3d (function cljs$core$byte(x){\nreturn x;\n});\n/**\n * Coerce to char\n */\ncljs.core.char$ \x3d (function cljs$core$char(x){\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn String.fromCharCode(x);\n} else {\nif(((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 ((x.length \x3d\x3d\x3d (1))))){\nreturn x;\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.core.short$ \x3d (function cljs$core$short(x){\nreturn x;\n});\ncljs.core.float$ \x3d (function cljs$core$float(x){\nreturn x;\n});\ncljs.core.double$ \x3d (function cljs$core$double(x){\nreturn x;\n});\ncljs.core.unchecked_byte \x3d (function cljs$core$unchecked_byte(x){\nreturn x;\n});\ncljs.core.unchecked_char \x3d (function cljs$core$unchecked_char(x){\nreturn x;\n});\ncljs.core.unchecked_short \x3d (function cljs$core$unchecked_short(x){\nreturn x;\n});\ncljs.core.unchecked_float \x3d (function cljs$core$unchecked_float(x){\nreturn x;\n});\ncljs.core.unchecked_double \x3d (function cljs$core$unchecked_double(x){\nreturn x;\n});\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add \x3d (function cljs$core$unchecked_add(var_args){\nvar G__27237 \x3d arguments.length;\nswitch (G__27237) {\ncase 0:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30259 \x3d arguments.length;\nvar i__5750__auto___30260 \x3d (0);\nwhile(true){\nif((i__5750__auto___30260 \x3c len__5749__auto___30259)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30260]));\n\nvar G__30261 \x3d (i__5750__auto___30260 + (1));\ni__5750__auto___30260 \x3d G__30261;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add.cljs$lang$applyTo \x3d (function (seq27234){\nvar G__27235 \x3d cljs.core.first(seq27234);\nvar seq27234__$1 \x3d cljs.core.next(seq27234);\nvar G__27236 \x3d cljs.core.first(seq27234__$1);\nvar seq27234__$2 \x3d cljs.core.next(seq27234__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27235,G__27236,seq27234__$2);\n}));\n\n(cljs.core.unchecked_add.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add_int \x3d (function cljs$core$unchecked_add_int(var_args){\nvar G__27242 \x3d arguments.length;\nswitch (G__27242) {\ncase 0:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30275 \x3d arguments.length;\nvar i__5750__auto___30276 \x3d (0);\nwhile(true){\nif((i__5750__auto___30276 \x3c len__5749__auto___30275)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30276]));\n\nvar G__30277 \x3d (i__5750__auto___30276 + (1));\ni__5750__auto___30276 \x3d G__30277;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add_int,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add_int.cljs$lang$applyTo \x3d (function (seq27239){\nvar G__27240 \x3d cljs.core.first(seq27239);\nvar seq27239__$1 \x3d cljs.core.next(seq27239);\nvar G__27241 \x3d cljs.core.first(seq27239__$1);\nvar seq27239__$2 \x3d cljs.core.next(seq27239__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27240,G__27241,seq27239__$2);\n}));\n\n(cljs.core.unchecked_add_int.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec \x3d (function cljs$core$unchecked_dec(x){\nreturn (x - (1));\n});\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec_int \x3d (function cljs$core$unchecked_dec_int(x){\nreturn (x - (1));\n});\n/**\n * If no denominators are supplied, returns 1/numerator,\n *   else returns numerator divided by all of the denominators.\n */\ncljs.core.unchecked_divide_int \x3d (function cljs$core$unchecked_divide_int(var_args){\nvar G__27247 \x3d arguments.length;\nswitch (G__27247) {\ncase 1:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30279 \x3d arguments.length;\nvar i__5750__auto___30280 \x3d (0);\nwhile(true){\nif((i__5750__auto___30280 \x3c len__5749__auto___30279)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30280]));\n\nvar G__30284 \x3d (i__5750__auto___30280 + (1));\ni__5750__auto___30280 \x3d G__30284;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_divide_int,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_divide_int.cljs$lang$applyTo \x3d (function (seq27244){\nvar G__27245 \x3d cljs.core.first(seq27244);\nvar seq27244__$1 \x3d cljs.core.next(seq27244);\nvar G__27246 \x3d cljs.core.first(seq27244__$1);\nvar seq27244__$2 \x3d cljs.core.next(seq27244__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27245,G__27246,seq27244__$2);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_inc \x3d (function cljs$core$unchecked_inc(x){\nreturn (x + (1));\n});\ncljs.core.unchecked_inc_int \x3d (function cljs$core$unchecked_inc_int(x){\nreturn (x + (1));\n});\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply \x3d (function cljs$core$unchecked_multiply(var_args){\nvar G__27252 \x3d arguments.length;\nswitch (G__27252) {\ncase 0:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30299 \x3d arguments.length;\nvar i__5750__auto___30300 \x3d (0);\nwhile(true){\nif((i__5750__auto___30300 \x3c len__5749__auto___30299)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30300]));\n\nvar G__30301 \x3d (i__5750__auto___30300 + (1));\ni__5750__auto___30300 \x3d G__30301;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply.cljs$lang$applyTo \x3d (function (seq27249){\nvar G__27250 \x3d cljs.core.first(seq27249);\nvar seq27249__$1 \x3d cljs.core.next(seq27249);\nvar G__27251 \x3d cljs.core.first(seq27249__$1);\nvar seq27249__$2 \x3d cljs.core.next(seq27249__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27250,G__27251,seq27249__$2);\n}));\n\n(cljs.core.unchecked_multiply.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply_int \x3d (function cljs$core$unchecked_multiply_int(var_args){\nvar G__27257 \x3d arguments.length;\nswitch (G__27257) {\ncase 0:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30303 \x3d arguments.length;\nvar i__5750__auto___30304 \x3d (0);\nwhile(true){\nif((i__5750__auto___30304 \x3c len__5749__auto___30303)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30304]));\n\nvar G__30305 \x3d (i__5750__auto___30304 + (1));\ni__5750__auto___30304 \x3d G__30305;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply_int,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply_int.cljs$lang$applyTo \x3d (function (seq27254){\nvar G__27255 \x3d cljs.core.first(seq27254);\nvar seq27254__$1 \x3d cljs.core.next(seq27254);\nvar G__27256 \x3d cljs.core.first(seq27254__$1);\nvar seq27254__$2 \x3d cljs.core.next(seq27254__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27255,G__27256,seq27254__$2);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_negate \x3d (function cljs$core$unchecked_negate(x){\nreturn (- x);\n});\ncljs.core.unchecked_negate_int \x3d (function cljs$core$unchecked_negate_int(x){\nreturn (- x);\n});\ncljs.core.unchecked_remainder_int \x3d (function cljs$core$unchecked_remainder_int(x,n){\nreturn (cljs.core.mod.cljs$core$IFn$_invoke$arity$2 ? cljs.core.mod.cljs$core$IFn$_invoke$arity$2(x,n) : cljs.core.mod.call(null,x,n));\n});\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n *   the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract \x3d (function cljs$core$unchecked_subtract(var_args){\nvar G__27262 \x3d arguments.length;\nswitch (G__27262) {\ncase 1:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30313 \x3d arguments.length;\nvar i__5750__auto___30314 \x3d (0);\nwhile(true){\nif((i__5750__auto___30314 \x3c len__5749__auto___30313)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30314]));\n\nvar G__30315 \x3d (i__5750__auto___30314 + (1));\ni__5750__auto___30314 \x3d G__30315;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract.cljs$lang$applyTo \x3d (function (seq27259){\nvar G__27260 \x3d cljs.core.first(seq27259);\nvar seq27259__$1 \x3d cljs.core.next(seq27259);\nvar G__27261 \x3d cljs.core.first(seq27259__$1);\nvar seq27259__$2 \x3d cljs.core.next(seq27259__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27260,G__27261,seq27259__$2);\n}));\n\n(cljs.core.unchecked_subtract.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n *   the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract_int \x3d (function cljs$core$unchecked_subtract_int(var_args){\nvar G__27267 \x3d arguments.length;\nswitch (G__27267) {\ncase 1:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30326 \x3d arguments.length;\nvar i__5750__auto___30327 \x3d (0);\nwhile(true){\nif((i__5750__auto___30327 \x3c len__5749__auto___30326)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30327]));\n\nvar G__30328 \x3d (i__5750__auto___30327 + (1));\ni__5750__auto___30327 \x3d G__30328;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract_int,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract_int.cljs$lang$applyTo \x3d (function (seq27264){\nvar G__27265 \x3d cljs.core.first(seq27264);\nvar seq27264__$1 \x3d cljs.core.next(seq27264);\nvar G__27266 \x3d cljs.core.first(seq27264__$1);\nvar seq27264__$2 \x3d cljs.core.next(seq27264__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27265,G__27266,seq27264__$2);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.fix \x3d (function cljs$core$fix(q){\nif((q \x3e\x3d (0))){\nreturn Math.floor(q);\n} else {\nreturn Math.ceil(q);\n}\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.int$ \x3d (function cljs$core$int(x){\nreturn (x | (0));\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.unchecked_int \x3d (function cljs$core$unchecked_int(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.long$ \x3d (function cljs$core$long(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.unchecked_long \x3d (function cljs$core$unchecked_long(x){\nreturn cljs.core.fix(x);\n});\ncljs.core.booleans \x3d (function cljs$core$booleans(x){\nreturn x;\n});\ncljs.core.bytes \x3d (function cljs$core$bytes(x){\nreturn x;\n});\ncljs.core.chars \x3d (function cljs$core$chars(x){\nreturn x;\n});\ncljs.core.shorts \x3d (function cljs$core$shorts(x){\nreturn x;\n});\ncljs.core.ints \x3d (function cljs$core$ints(x){\nreturn x;\n});\ncljs.core.floats \x3d (function cljs$core$floats(x){\nreturn x;\n});\ncljs.core.doubles \x3d (function cljs$core$doubles(x){\nreturn x;\n});\ncljs.core.longs \x3d (function cljs$core$longs(x){\nreturn x;\n});\n/**\n * Modulus of num and div with original javascript behavior. i.e. bug for negative numbers\n */\ncljs.core.js_mod \x3d (function cljs$core$js_mod(n,d){\nreturn (n % d);\n});\n/**\n * Modulus of num and div. Truncates toward negative infinity.\n */\ncljs.core.mod \x3d (function cljs$core$mod(n,d){\nreturn (((n % d) + d) % d);\n});\n/**\n * quot[ient] of dividing numerator by denominator.\n */\ncljs.core.quot \x3d (function cljs$core$quot(n,d){\nvar rem \x3d (n % d);\nreturn cljs.core.fix(((n - rem) / d));\n});\n/**\n * remainder of dividing numerator by denominator.\n */\ncljs.core.rem \x3d (function cljs$core$rem(n,d){\nvar q \x3d cljs.core.quot(n,d);\nreturn (n - (d * q));\n});\n/**\n * Bitwise exclusive or\n */\ncljs.core.bit_xor \x3d (function cljs$core$bit_xor(var_args){\nvar G__27272 \x3d arguments.length;\nswitch (G__27272) {\ncase 2:\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30339 \x3d arguments.length;\nvar i__5750__auto___30340 \x3d (0);\nwhile(true){\nif((i__5750__auto___30340 \x3c len__5749__auto___30339)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30340]));\n\nvar G__30341 \x3d (i__5750__auto___30340 + (1));\ni__5750__auto___30340 \x3d G__30341;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x ^ y);\n}));\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_xor,(x ^ y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_xor.cljs$lang$applyTo \x3d (function (seq27269){\nvar G__27270 \x3d cljs.core.first(seq27269);\nvar seq27269__$1 \x3d cljs.core.next(seq27269);\nvar G__27271 \x3d cljs.core.first(seq27269__$1);\nvar seq27269__$2 \x3d cljs.core.next(seq27269__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27270,G__27271,seq27269__$2);\n}));\n\n(cljs.core.bit_xor.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and\n */\ncljs.core.bit_and \x3d (function cljs$core$bit_and(var_args){\nvar G__27277 \x3d arguments.length;\nswitch (G__27277) {\ncase 2:\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30349 \x3d arguments.length;\nvar i__5750__auto___30350 \x3d (0);\nwhile(true){\nif((i__5750__auto___30350 \x3c len__5749__auto___30349)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30350]));\n\nvar G__30351 \x3d (i__5750__auto___30350 + (1));\ni__5750__auto___30350 \x3d G__30351;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 y);\n}));\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and,(x \x26 y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and.cljs$lang$applyTo \x3d (function (seq27274){\nvar G__27275 \x3d cljs.core.first(seq27274);\nvar seq27274__$1 \x3d cljs.core.next(seq27274);\nvar G__27276 \x3d cljs.core.first(seq27274__$1);\nvar seq27274__$2 \x3d cljs.core.next(seq27274__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27275,G__27276,seq27274__$2);\n}));\n\n(cljs.core.bit_and.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise or\n */\ncljs.core.bit_or \x3d (function cljs$core$bit_or(var_args){\nvar G__27282 \x3d arguments.length;\nswitch (G__27282) {\ncase 2:\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30353 \x3d arguments.length;\nvar i__5750__auto___30354 \x3d (0);\nwhile(true){\nif((i__5750__auto___30354 \x3c len__5749__auto___30353)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30354]));\n\nvar G__30355 \x3d (i__5750__auto___30354 + (1));\ni__5750__auto___30354 \x3d G__30355;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x | y);\n}));\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_or,(x | y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_or.cljs$lang$applyTo \x3d (function (seq27279){\nvar G__27280 \x3d cljs.core.first(seq27279);\nvar seq27279__$1 \x3d cljs.core.next(seq27279);\nvar G__27281 \x3d cljs.core.first(seq27279__$1);\nvar seq27279__$2 \x3d cljs.core.next(seq27279__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27280,G__27281,seq27279__$2);\n}));\n\n(cljs.core.bit_or.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and with complement\n */\ncljs.core.bit_and_not \x3d (function cljs$core$bit_and_not(var_args){\nvar G__27287 \x3d arguments.length;\nswitch (G__27287) {\ncase 2:\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30363 \x3d arguments.length;\nvar i__5750__auto___30364 \x3d (0);\nwhile(true){\nif((i__5750__auto___30364 \x3c len__5749__auto___30363)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30364]));\n\nvar G__30365 \x3d (i__5750__auto___30364 + (1));\ni__5750__auto___30364 \x3d G__30365;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 ~y);\n}));\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and_not,(x \x26 ~y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and_not.cljs$lang$applyTo \x3d (function (seq27284){\nvar G__27285 \x3d cljs.core.first(seq27284);\nvar seq27284__$1 \x3d cljs.core.next(seq27284);\nvar G__27286 \x3d cljs.core.first(seq27284__$1);\nvar seq27284__$2 \x3d cljs.core.next(seq27284__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27285,G__27286,seq27284__$2);\n}));\n\n(cljs.core.bit_and_not.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Clear bit at index n\n */\ncljs.core.bit_clear \x3d (function cljs$core$bit_clear(x,n){\nreturn (x \x26 ~(1 \x3c\x3c n));\n});\n/**\n * Flip bit at index n\n */\ncljs.core.bit_flip \x3d (function cljs$core$bit_flip(x,n){\nreturn (x ^ (1 \x3c\x3c n));\n});\n/**\n * Bitwise complement\n */\ncljs.core.bit_not \x3d (function cljs$core$bit_not(x){\nreturn (~ x);\n});\n/**\n * Set bit at index n\n */\ncljs.core.bit_set \x3d (function cljs$core$bit_set(x,n){\nreturn (x | (1 \x3c\x3c n));\n});\n/**\n * Test bit at index n\n */\ncljs.core.bit_test \x3d (function cljs$core$bit_test(x,n){\nreturn ((x \x26 (1 \x3c\x3c n)) !\x3d 0);\n});\n/**\n * Bitwise shift left\n */\ncljs.core.bit_shift_left \x3d (function cljs$core$bit_shift_left(x,n){\nreturn (x \x3c\x3c n);\n});\n/**\n * Bitwise shift right\n */\ncljs.core.bit_shift_right \x3d (function cljs$core$bit_shift_right(x,n){\nreturn (x \x3e\x3e n);\n});\n/**\n * DEPRECATED: Bitwise shift right with zero fill\n */\ncljs.core.bit_shift_right_zero_fill \x3d (function cljs$core$bit_shift_right_zero_fill(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Bitwise shift right with zero fill\n */\ncljs.core.unsigned_bit_shift_right \x3d (function cljs$core$unsigned_bit_shift_right(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Counts the number of bits set in n\n */\ncljs.core.bit_count \x3d (function cljs$core$bit_count(v){\nvar v__$1 \x3d (v - ((v \x3e\x3e (1)) \x26 (1431655765)));\nvar v__$2 \x3d ((v__$1 \x26 (858993459)) + ((v__$1 \x3e\x3e (2)) \x26 (858993459)));\nreturn ((((v__$2 + (v__$2 \x3e\x3e (4))) \x26 (252645135)) * (16843009)) \x3e\x3e (24));\n});\n/**\n * Returns non-nil if nums all have the equivalent\n *   value, otherwise false. Behavior on non nums is\n *   undefined.\n */\ncljs.core._EQ__EQ_ \x3d (function cljs$core$_EQ__EQ_(var_args){\nvar G__27292 \x3d arguments.length;\nswitch (G__27292) {\ncase 1:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30370 \x3d arguments.length;\nvar i__5750__auto___30371 \x3d (0);\nwhile(true){\nif((i__5750__auto___30371 \x3c len__5749__auto___30370)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30371]));\n\nvar G__30372 \x3d (i__5750__auto___30371 + (1));\ni__5750__auto___30371 \x3d G__30372;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn cljs.core._equiv(x,y);\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3d\x3d\x3d y)){\nif(cljs.core.next(more)){\nvar G__30373 \x3d y;\nvar G__30374 \x3d cljs.core.first(more);\nvar G__30375 \x3d cljs.core.next(more);\nx \x3d G__30373;\ny \x3d G__30374;\nmore \x3d G__30375;\ncontinue;\n} else {\nreturn (y \x3d\x3d\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ__EQ_.cljs$lang$applyTo \x3d (function (seq27289){\nvar G__27290 \x3d cljs.core.first(seq27289);\nvar seq27289__$1 \x3d cljs.core.next(seq27289);\nvar G__27291 \x3d cljs.core.first(seq27289__$1);\nvar seq27289__$2 \x3d cljs.core.next(seq27289__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27290,G__27291,seq27289__$2);\n}));\n\n(cljs.core._EQ__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if num is greater than zero, else false\n */\ncljs.core.pos_QMARK_ \x3d (function cljs$core$pos_QMARK_(x){\nreturn (x \x3e (0));\n});\n/**\n * Returns true if num is zero, else false\n */\ncljs.core.zero_QMARK_ \x3d (function cljs$core$zero_QMARK_(x){\nreturn (x \x3d\x3d\x3d (0));\n});\n/**\n * Returns true if num is less than zero, else false\n */\ncljs.core.neg_QMARK_ \x3d (function cljs$core$neg_QMARK_(x){\nreturn (x \x3c (0));\n});\n/**\n * Returns the nth next of coll, (seq coll) when n is 0.\n */\ncljs.core.nthnext \x3d (function cljs$core$nthnext(coll,n){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition1$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IDrop$))))?true:false):false)){\nif((n \x3e (0))){\nreturn coll.cljs$core$IDrop$_drop$arity$2(null,Math.ceil(n));\n} else {\nreturn cljs.core.seq(coll);\n}\n} else {\nvar n__$1 \x3d n;\nvar xs \x3d cljs.core.seq(coll);\nwhile(true){\nif(((xs) \x26\x26 ((n__$1 \x3e (0))))){\nvar G__30379 \x3d (n__$1 - (1));\nvar G__30380 \x3d cljs.core.next(xs);\nn__$1 \x3d G__30379;\nxs \x3d G__30380;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n}\n});\n/**\n * With no args, returns the empty string. With one arg x, returns\n *   x.toString().  (str nil) returns the empty string. With more than\n *   one arg, returns the concatenation of the str values of the args.\n */\ncljs.core.str \x3d (function cljs$core$str(var_args){\nvar G__27297 \x3d arguments.length;\nswitch (G__27297) {\ncase 0:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30385 \x3d arguments.length;\nvar i__5750__auto___30386 \x3d (0);\nwhile(true){\nif((i__5750__auto___30386 \x3c len__5749__auto___30385)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30386]));\n\nvar G__30387 \x3d (i__5750__auto___30386 + (1));\ni__5750__auto___30386 \x3d G__30387;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn \x22\x22;\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nif((x \x3d\x3d null)){\nreturn \x22\x22;\n} else {\nreturn [x].join(\x22\x22);\n}\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,ys){\nvar sb \x3d (new goog.string.StringBuffer(cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)));\nvar more \x3d ys;\nwhile(true){\nif(cljs.core.truth_(more)){\nvar G__30391 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(more)));\nvar G__30392 \x3d cljs.core.next(more);\nsb \x3d G__30391;\nmore \x3d G__30392;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.str.cljs$lang$applyTo \x3d (function (seq27295){\nvar G__27296 \x3d cljs.core.first(seq27295);\nvar seq27295__$1 \x3d cljs.core.next(seq27295);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27296,seq27295__$1);\n}));\n\n(cljs.core.str.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns the substring of s beginning at start inclusive, and ending\n *   at end (defaults to length of string), exclusive.\n */\ncljs.core.subs \x3d (function cljs$core$subs(var_args){\nvar G__27299 \x3d arguments.length;\nswitch (G__27299) {\ncase 2:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,start){\nreturn s.substring(start);\n}));\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,start,end){\nreturn s.substring(start,end);\n}));\n\n(cljs.core.subs.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n * Assumes x is sequential. Returns true if x equals y, otherwise\n *   returns false.\n */\ncljs.core.equiv_sequential \x3d (function cljs$core$equiv_sequential(x,y){\nreturn cljs.core.boolean$(((cljs.core.sequential_QMARK_(y))?((((cljs.core.counted_QMARK_(x)) \x26\x26 (((cljs.core.counted_QMARK_(y)) \x26\x26 ((!((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))))))))?false:(function (){var xs \x3d cljs.core.seq(x);\nvar ys \x3d cljs.core.seq(y);\nwhile(true){\nif((xs \x3d\x3d null)){\nreturn (ys \x3d\x3d null);\n} else {\nif((ys \x3d\x3d null)){\nreturn false;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(xs),cljs.core.first(ys))){\nvar G__30399 \x3d cljs.core.next(xs);\nvar G__30400 \x3d cljs.core.next(ys);\nxs \x3d G__30399;\nys \x3d G__30400;\ncontinue;\n} else {\nreturn false;\n\n}\n}\n}\nbreak;\n}\n})()):null));\n});\ncljs.core.hash_coll \x3d (function cljs$core$hash_coll(coll){\nif(cljs.core.seq(coll)){\nvar res \x3d cljs.core.hash(cljs.core.first(coll));\nvar s \x3d cljs.core.next(coll);\nwhile(true){\nif((s \x3d\x3d null)){\nreturn res;\n} else {\nvar G__30401 \x3d cljs.core.hash_combine(res,cljs.core.hash(cljs.core.first(s)));\nvar G__30402 \x3d cljs.core.next(s);\nres \x3d G__30401;\ns \x3d G__30402;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n});\n\ncljs.core.hash_imap \x3d (function cljs$core$hash_imap(m){\nvar h \x3d (0);\nvar s \x3d cljs.core.seq(m);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__30408 \x3d ((h + (cljs.core.hash((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e))) ^ cljs.core.hash((cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e))))) % (4503599627370496));\nvar G__30409 \x3d cljs.core.next(s);\nh \x3d G__30408;\ns \x3d G__30409;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\ncljs.core.hash_iset \x3d (function cljs$core$hash_iset(s){\nvar h \x3d (0);\nvar s__$1 \x3d cljs.core.seq(s);\nwhile(true){\nif(s__$1){\nvar e \x3d cljs.core.first(s__$1);\nvar G__30410 \x3d ((h + cljs.core.hash(e)) % (4503599627370496));\nvar G__30411 \x3d cljs.core.next(s__$1);\nh \x3d G__30410;\ns__$1 \x3d G__30411;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\n\n\n/**\n * Takes a JavaScript object and a map of names to functions and\n *   attaches said functions as methods on the object.  Any references to\n *   JavaScript\x27s implicit this (via the this-as macro) will resolve to the\n *   object that the function is attached.\n */\ncljs.core.extend_object_BANG_ \x3d (function cljs$core$extend_object_BANG_(obj,fn_map){\nvar seq__27300_30412 \x3d cljs.core.seq(fn_map);\nvar chunk__27301_30413 \x3d null;\nvar count__27302_30414 \x3d (0);\nvar i__27303_30415 \x3d (0);\nwhile(true){\nif((i__27303_30415 \x3c count__27302_30414)){\nvar vec__27310_30416 \x3d chunk__27301_30413.cljs$core$IIndexed$_nth$arity$2(null,i__27303_30415);\nvar key_name_30417 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27310_30416,(0),null);\nvar f_30418 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27310_30416,(1),null);\nvar str_name_30419 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_30417) : cljs.core.name.call(null,key_name_30417));\ncljs.core.goog$module$goog$object.set(obj,str_name_30419,f_30418);\n\n\nvar G__30432 \x3d seq__27300_30412;\nvar G__30433 \x3d chunk__27301_30413;\nvar G__30434 \x3d count__27302_30414;\nvar G__30435 \x3d (i__27303_30415 + (1));\nseq__27300_30412 \x3d G__30432;\nchunk__27301_30413 \x3d G__30433;\ncount__27302_30414 \x3d G__30434;\ni__27303_30415 \x3d G__30435;\ncontinue;\n} else {\nvar temp__5804__auto___30436 \x3d cljs.core.seq(seq__27300_30412);\nif(temp__5804__auto___30436){\nvar seq__27300_30437__$1 \x3d temp__5804__auto___30436;\nif(cljs.core.chunked_seq_QMARK_(seq__27300_30437__$1)){\nvar c__5548__auto___30438 \x3d (cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1(seq__27300_30437__$1) : cljs.core.chunk_first.call(null,seq__27300_30437__$1));\nvar G__30439 \x3d (cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1(seq__27300_30437__$1) : cljs.core.chunk_rest.call(null,seq__27300_30437__$1));\nvar G__30440 \x3d c__5548__auto___30438;\nvar G__30441 \x3d cljs.core.count(c__5548__auto___30438);\nvar G__30442 \x3d (0);\nseq__27300_30412 \x3d G__30439;\nchunk__27301_30413 \x3d G__30440;\ncount__27302_30414 \x3d G__30441;\ni__27303_30415 \x3d G__30442;\ncontinue;\n} else {\nvar vec__27313_30443 \x3d cljs.core.first(seq__27300_30437__$1);\nvar key_name_30444 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27313_30443,(0),null);\nvar f_30445 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27313_30443,(1),null);\nvar str_name_30446 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_30444) : cljs.core.name.call(null,key_name_30444));\ncljs.core.goog$module$goog$object.set(obj,str_name_30446,f_30445);\n\n\nvar G__30447 \x3d cljs.core.next(seq__27300_30437__$1);\nvar G__30448 \x3d null;\nvar G__30449 \x3d (0);\nvar G__30450 \x3d (0);\nseq__27300_30412 \x3d G__30447;\nchunk__27301_30413 \x3d G__30448;\ncount__27302_30414 \x3d G__30449;\ni__27303_30415 \x3d G__30450;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.List \x3d (function (meta,first,rest,count,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.count \x3d count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937646;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.List.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.List.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.List.prototype.indexOf \x3d (function() {\nvar G__30451 \x3d null;\nvar G__30451__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30451__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30451 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30451__1.call(this,x);\ncase 2:\nreturn G__30451__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30451.cljs$core$IFn$_invoke$arity$1 \x3d G__30451__1;\nG__30451.cljs$core$IFn$_invoke$arity$2 \x3d G__30451__2;\nreturn G__30451;\n})()\n);\n\n(cljs.core.List.prototype.lastIndexOf \x3d (function() {\nvar G__30452 \x3d null;\nvar G__30452__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__30452__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30452 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30452__1.call(this,x);\ncase 2:\nreturn G__30452__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30452.cljs$core$IFn$_invoke$arity$1 \x3d G__30452__1;\nG__30452.cljs$core$IFn$_invoke$arity$2 \x3d G__30452__2;\nreturn G__30452;\n})()\n);\n\n(cljs.core.List.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.List.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,self__.first,self__.rest,self__.count,self__.__hash));\n}));\n\n(cljs.core.List.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.List.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.List.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.List.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.List(new_meta,self__.first,self__.rest,self__.count,self__.__hash));\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,coll__$1,(self__.count + (1)),null));\n}));\n\n(cljs.core.List.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.List.cljs$lang$type \x3d true);\n\n(cljs.core.List.cljs$lang$ctorStr \x3d \x22cljs.core/List\x22);\n\n(cljs.core.List.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/List\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/List.\n */\ncljs.core.__GT_List \x3d (function cljs$core$__GT_List(meta,first,rest,count,__hash){\nreturn (new cljs.core.List(meta,first,rest,count,__hash));\n});\n\n/**\n * Returns true if x implements IList\n */\ncljs.core.list_QMARK_ \x3d (function cljs$core$list_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (33554432))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IList$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n}\n});\n(cljs.core.List.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.EmptyList \x3d (function (meta){\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937614;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.EmptyList.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.EmptyList.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.EmptyList.prototype.indexOf \x3d (function() {\nvar G__30456 \x3d null;\nvar G__30456__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30456__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30456 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30456__1.call(this,x);\ncase 2:\nreturn G__30456__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30456.cljs$core$IFn$_invoke$arity$1 \x3d G__30456__1;\nG__30456.cljs$core$IFn$_invoke$arity$2 \x3d G__30456__2;\nreturn G__30456;\n})()\n);\n\n(cljs.core.EmptyList.prototype.lastIndexOf \x3d (function() {\nvar G__30460 \x3d null;\nvar G__30460__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30460__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30460 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30460__1.call(this,x);\ncase 2:\nreturn G__30460__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30460.cljs$core$IFn$_invoke$arity$1 \x3d G__30460__1;\nG__30460.cljs$core$IFn$_invoke$arity$2 \x3d G__30460__2;\nreturn G__30460;\n})()\n);\n\n(cljs.core.EmptyList.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.EmptyList(self__.meta));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (0);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nthrow (new Error(\x22Can\x27t pop empty list\x22));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.empty_ordered_hash;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.list_QMARK_(other)) || (cljs.core.sequential_QMARK_(other)))){\nreturn (cljs.core.seq(other) \x3d\x3d null);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.EmptyList(new_meta));\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,null,(1),null));\n}));\n\n(cljs.core.EmptyList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.EmptyList.cljs$lang$type \x3d true);\n\n(cljs.core.EmptyList.cljs$lang$ctorStr \x3d \x22cljs.core/EmptyList\x22);\n\n(cljs.core.EmptyList.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/EmptyList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/EmptyList.\n */\ncljs.core.__GT_EmptyList \x3d (function cljs$core$__GT_EmptyList(meta){\nreturn (new cljs.core.EmptyList(meta));\n});\n\n(cljs.core.List.EMPTY \x3d (new cljs.core.EmptyList(null)));\n(cljs.core.EmptyList.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns true if coll satisfies? IReversible.\n */\ncljs.core.reversible_QMARK_ \x3d (function cljs$core$reversible_QMARK_(coll){\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (134217728))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReversible$)))){\nreturn true;\n} else {\nif((!coll.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n}\n});\n/**\n * Returns, in constant time, a seq of the items in rev (which\n *   can be a vector or sorted-map), in reverse order. If rev is empty returns nil\n */\ncljs.core.rseq \x3d (function cljs$core$rseq(rev){\nreturn cljs.core._rseq(rev);\n});\n/**\n * Returns a seq of the items in coll in reverse order. Not lazy.\n */\ncljs.core.reverse \x3d (function cljs$core$reverse(coll){\nif(cljs.core.reversible_QMARK_(coll)){\nvar or__5025__auto__ \x3d cljs.core.rseq(coll);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n}\n});\n/**\n * Creates a new list containing the items.\n */\ncljs.core.list \x3d (function cljs$core$list(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___30467 \x3d arguments.length;\nvar i__5750__auto___30468 \x3d (0);\nwhile(true){\nif((i__5750__auto___30468 \x3c len__5749__auto___30467)){\nargs__5755__auto__.push((arguments[i__5750__auto___30468]));\n\nvar G__30469 \x3d (i__5750__auto___30468 + (1));\ni__5750__auto___30468 \x3d G__30469;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xs){\nvar arr \x3d (((((xs instanceof cljs.core.IndexedSeq)) \x26\x26 ((xs.i \x3d\x3d\x3d (0)))))?xs.arr:(function (){var arr \x3d [];\nvar xs__$1 \x3d xs;\nwhile(true){\nif((!((xs__$1 \x3d\x3d null)))){\narr.push(cljs.core._first(xs__$1));\n\nvar G__30470 \x3d cljs.core._next(xs__$1);\nxs__$1 \x3d G__30470;\ncontinue;\n} else {\nreturn arr;\n}\nbreak;\n}\n})());\nvar i \x3d arr.length;\nvar r \x3d cljs.core.List.EMPTY;\nwhile(true){\nif((i \x3e (0))){\nvar G__30471 \x3d (i - (1));\nvar G__30472 \x3d cljs.core._conj(r,(arr[(i - (1))]));\ni \x3d G__30471;\nr \x3d G__30472;\ncontinue;\n} else {\nreturn r;\n}\nbreak;\n}\n}));\n\n(cljs.core.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.list.cljs$lang$applyTo \x3d (function (seq27318){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27318));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cons \x3d (function (meta,first,rest,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65929452;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.Cons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Cons.prototype.indexOf \x3d (function() {\nvar G__30473 \x3d null;\nvar G__30473__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30473__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30473 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30473__1.call(this,x);\ncase 2:\nreturn G__30473__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30473.cljs$core$IFn$_invoke$arity$1 \x3d G__30473__1;\nG__30473.cljs$core$IFn$_invoke$arity$2 \x3d G__30473__2;\nreturn G__30473;\n})()\n);\n\n(cljs.core.Cons.prototype.lastIndexOf \x3d (function() {\nvar G__30477 \x3d null;\nvar G__30477__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30477__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30477 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30477__1.call(this,x);\ncase 2:\nreturn G__30477__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30477.cljs$core$IFn$_invoke$arity$1 \x3d G__30477__1;\nG__30477.cljs$core$IFn$_invoke$arity$2 \x3d G__30477__2;\nreturn G__30477;\n})()\n);\n\n(cljs.core.Cons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Cons(self__.meta,self__.first,self__.rest,self__.__hash));\n}));\n\n(cljs.core.Cons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.seq(self__.rest);\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cons(new_meta,self__.first,self__.rest,self__.__hash));\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.Cons(null,o,coll__$1,null));\n}));\n\n(cljs.core.Cons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cons.cljs$lang$type \x3d true);\n\n(cljs.core.Cons.cljs$lang$ctorStr \x3d \x22cljs.core/Cons\x22);\n\n(cljs.core.Cons.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Cons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cons.\n */\ncljs.core.__GT_Cons \x3d (function cljs$core$__GT_Cons(meta,first,rest,__hash){\nreturn (new cljs.core.Cons(meta,first,rest,__hash));\n});\n\n(cljs.core.Cons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a new seq where x is the first element and coll is the rest.\n */\ncljs.core.cons \x3d (function cljs$core$cons(x,coll){\nif((coll \x3d\x3d null)){\nreturn (new cljs.core.List(null,x,null,(1),null));\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn (new cljs.core.Cons(null,x,coll,null));\n} else {\nreturn (new cljs.core.Cons(null,x,cljs.core.seq(coll),null));\n\n}\n}\n});\ncljs.core.hash_keyword \x3d (function cljs$core$hash_keyword(k){\nreturn ((cljs.core.hash_symbol(k) + (2654435769)) | (0));\n});\ncljs.core.compare_keywords \x3d (function cljs$core$compare_keywords(a,b){\nif((a.fqn \x3d\x3d\x3d b.fqn)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(a.ns);\nif(and__5023__auto__){\nreturn b.ns;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Keyword \x3d (function (ns,name,fqn,_hash){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.fqn \x3d fqn;\nthis._hash \x3d _hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775105;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Keyword.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27);\n}));\n\n(cljs.core.Keyword.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Keyword)){\nreturn (self__.fqn \x3d\x3d\x3d other.fqn);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Keyword.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27321 \x3d (arguments.length - (1));\nswitch (G__27321) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Keyword.prototype.apply \x3d (function (self__,args27320){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27320)));\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,kw);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,kw,not_found);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar h__5134__auto__ \x3d self__._hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_keyword(this$__$1);\n(self__._hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27));\n}));\n\n(cljs.core.Keyword.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22fqn\x22,\x22fqn\x22,-1749334463,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Keyword.cljs$lang$type \x3d true);\n\n(cljs.core.Keyword.cljs$lang$ctorStr \x3d \x22cljs.core/Keyword\x22);\n\n(cljs.core.Keyword.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Keyword\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Keyword.\n */\ncljs.core.__GT_Keyword \x3d (function cljs$core$__GT_Keyword(ns,name,fqn,_hash){\nreturn (new cljs.core.Keyword(ns,name,fqn,_hash));\n});\n\n/**\n * Return true if x is a Keyword\n */\ncljs.core.keyword_QMARK_ \x3d (function cljs$core$keyword_QMARK_(x){\nreturn (x instanceof cljs.core.Keyword);\n});\n/**\n * Efficient test to determine that two keywords are identical.\n */\ncljs.core.keyword_identical_QMARK_ \x3d (function cljs$core$keyword_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Keyword)) \x26\x26 ((y instanceof cljs.core.Keyword)))){\nreturn (x.fqn \x3d\x3d\x3d y.fqn);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Efficient test to determine that two symbols are identical.\n */\ncljs.core.symbol_identical_QMARK_ \x3d (function cljs$core$symbol_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Symbol)) \x26\x26 ((y instanceof cljs.core.Symbol)))){\nreturn (x.str \x3d\x3d\x3d y.str);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Returns the namespace String of a symbol or keyword, or nil if not present.\n */\ncljs.core.namespace \x3d (function cljs$core$namespace(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_namespace$arity$1(null);\n} else {\nthrow (new Error([\x22Doesn\x27t support namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n});\n/**\n * Return true if x is a symbol or keyword\n */\ncljs.core.ident_QMARK_ \x3d (function cljs$core$ident_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) || ((x instanceof cljs.core.Symbol)));\n});\n/**\n * Return true if x is a symbol or keyword without a namespace\n */\ncljs.core.simple_ident_QMARK_ \x3d (function cljs$core$simple_ident_QMARK_(x){\nreturn ((cljs.core.ident_QMARK_(x)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol or keyword with a namespace\n */\ncljs.core.qualified_ident_QMARK_ \x3d (function cljs$core$qualified_ident_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs.core.ident_QMARK_(x);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn true;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\n/**\n * Return true if x is a symbol without a namespace\n */\ncljs.core.simple_symbol_QMARK_ \x3d (function cljs$core$simple_symbol_QMARK_(x){\nreturn (((x instanceof cljs.core.Symbol)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol with a namespace\n */\ncljs.core.qualified_symbol_QMARK_ \x3d (function cljs$core$qualified_symbol_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (x instanceof cljs.core.Symbol);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn true;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\n/**\n * Return true if x is a keyword without a namespace\n */\ncljs.core.simple_keyword_QMARK_ \x3d (function cljs$core$simple_keyword_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a keyword with a namespace\n */\ncljs.core.qualified_keyword_QMARK_ \x3d (function cljs$core$qualified_keyword_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (x instanceof cljs.core.Keyword);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn true;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\n/**\n * Returns a Keyword with the given namespace and name.  Do not use :\n *   in the keyword strings, it will be added automatically.\n */\ncljs.core.keyword \x3d (function cljs$core$keyword(var_args){\nvar G__27324 \x3d arguments.length;\nswitch (G__27324) {\ncase 1:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nif((name instanceof cljs.core.Keyword)){\nreturn name;\n} else {\nif((name instanceof cljs.core.Symbol)){\nreturn (new cljs.core.Keyword(cljs.core.namespace(name),(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)),name.str,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22/\x22,name)){\nreturn (new cljs.core.Keyword(null,name,name,null));\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar parts \x3d name.split(\x22/\x22);\nif((parts.length \x3d\x3d\x3d (2))){\nreturn (new cljs.core.Keyword((parts[(0)]),(parts[(1)]),name,null));\n} else {\nreturn (new cljs.core.Keyword(null,(parts[(0)]),name,null));\n}\n} else {\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar ns__$1 \x3d (((ns instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):(((ns instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):ns\n));\nvar name__$1 \x3d (((name instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):(((name instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):name\n));\nreturn (new cljs.core.Keyword(ns__$1,name__$1,[(cljs.core.truth_(ns__$1)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),\x22/\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__$1)].join(\x27\x27),null));\n}));\n\n(cljs.core.keyword.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.LazySeq \x3d (function (meta,fn,s,__hash){\nthis.meta \x3d meta;\nthis.fn \x3d fn;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.LazySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.LazySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.LazySeq.prototype.sval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.fn \x3d\x3d null)){\nreturn self__.s;\n} else {\n(self__.s \x3d (self__.fn.cljs$core$IFn$_invoke$arity$0 ? self__.fn.cljs$core$IFn$_invoke$arity$0() : self__.fn.call(null)));\n\n(self__.fn \x3d null);\n\nreturn self__.s;\n}\n}));\n\n(cljs.core.LazySeq.prototype.indexOf \x3d (function() {\nvar G__30499 \x3d null;\nvar G__30499__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30499__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30499 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30499__1.call(this,x);\ncase 2:\nreturn G__30499__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30499.cljs$core$IFn$_invoke$arity$1 \x3d G__30499__1;\nG__30499.cljs$core$IFn$_invoke$arity$2 \x3d G__30499__2;\nreturn G__30499;\n})()\n);\n\n(cljs.core.LazySeq.prototype.lastIndexOf \x3d (function() {\nvar G__30500 \x3d null;\nvar G__30500__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30500__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30500 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30500__1.call(this,x);\ncase 2:\nreturn G__30500__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30500.cljs$core$IFn$_invoke$arity$1 \x3d G__30500__1;\nG__30500.cljs$core$IFn$_invoke$arity$2 \x3d G__30500__2;\nreturn G__30500;\n})()\n);\n\n(cljs.core.LazySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.next(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.not(self__.fn);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((!((self__.s \x3d\x3d null)))){\nreturn cljs.core.rest(self__.s);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.sval();\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nvar ls \x3d self__.s;\nwhile(true){\nif((ls instanceof cljs.core.LazySeq)){\nvar G__30543 \x3d ls.sval();\nls \x3d G__30543;\ncontinue;\n} else {\n(self__.s \x3d ls);\n\nreturn cljs.core.seq(self__.s);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.LazySeq(new_meta,(function (){\nreturn coll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n}),null,self__.__hash));\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.LazySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.LazySeq.cljs$lang$type \x3d true);\n\n(cljs.core.LazySeq.cljs$lang$ctorStr \x3d \x22cljs.core/LazySeq\x22);\n\n(cljs.core.LazySeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/LazySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/LazySeq.\n */\ncljs.core.__GT_LazySeq \x3d (function cljs$core$__GT_LazySeq(meta,fn,s,__hash){\nreturn (new cljs.core.LazySeq(meta,fn,s,__hash));\n});\n\n(cljs.core.LazySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n*/\ncljs.core.ChunkBuffer \x3d (function (buf,end){\nthis.buf \x3d buf;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ChunkBuffer.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.buf[self__.end] \x3d o);\n\nreturn (self__.end \x3d (self__.end + (1)));\n}));\n\n(cljs.core.ChunkBuffer.prototype.chunk \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.ArrayChunk(self__.buf,(0),self__.end));\n(self__.buf \x3d null);\n\nreturn ret;\n}));\n\n(cljs.core.ChunkBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.end;\n}));\n\n(cljs.core.ChunkBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkBuffer\x22);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ChunkBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkBuffer.\n */\ncljs.core.__GT_ChunkBuffer \x3d (function cljs$core$__GT_ChunkBuffer(buf,end){\nreturn (new cljs.core.ChunkBuffer(buf,end));\n});\n\ncljs.core.chunk_buffer \x3d (function cljs$core$chunk_buffer(capacity){\nreturn (new cljs.core.ChunkBuffer((new Array(capacity)),(0)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.IChunk}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayChunk \x3d (function (arr,off,end){\nthis.arr \x3d arr;\nthis.off \x3d off;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 524306;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.end - self__.off);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.arr[(self__.off + i)]);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c (self__.end - self__.off))))){\nreturn (self__.arr[(self__.off + i)]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.off \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.ArrayChunk(self__.arr,(self__.off + (1)),self__.end));\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.off]),(self__.off + (1)));\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.off);\n}));\n\n(cljs.core.ArrayChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.ArrayChunk.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayChunk\x22);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayChunk.\n */\ncljs.core.__GT_ArrayChunk \x3d (function cljs$core$__GT_ArrayChunk(arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n});\n\ncljs.core.array_chunk \x3d (function cljs$core$array_chunk(var_args){\nvar G__27326 \x3d arguments.length;\nswitch (G__27326) {\ncase 1:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1 \x3d (function (arr){\nreturn (new cljs.core.ArrayChunk(arr,(0),arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,off){\nreturn (new cljs.core.ArrayChunk(arr,off,arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n}));\n\n(cljs.core.array_chunk.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.ChunkedCons \x3d (function (chunk,more,meta,__hash){\nthis.chunk \x3d chunk;\nthis.more \x3d more;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850732;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1536;\n});\n(cljs.core.ChunkedCons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedCons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.indexOf \x3d (function() {\nvar G__30548 \x3d null;\nvar G__30548__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30548__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30548 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30548__1.call(this,x);\ncase 2:\nreturn G__30548__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30548.cljs$core$IFn$_invoke$arity$1 \x3d G__30548__1;\nG__30548.cljs$core$IFn$_invoke$arity$2 \x3d G__30548__2;\nreturn G__30548;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.lastIndexOf \x3d (function() {\nvar G__30549 \x3d null;\nvar G__30549__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30549__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30549 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30549__1.call(this,x);\ncase 2:\nreturn G__30549__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30549.cljs$core$IFn$_invoke$arity$1 \x3d G__30549__1;\nG__30549.cljs$core$IFn$_invoke$arity$2 \x3d G__30549__2;\nreturn G__30549;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._seq(self__.more);\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.chunk,(0));\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.chunk;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ChunkedCons(self__.chunk,self__.more,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this$,o){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.cons(o,this$__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.Symbol(null,\x22more\x22,\x22more\x22,-418290273,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedCons.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedCons\x22);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ChunkedCons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedCons.\n */\ncljs.core.__GT_ChunkedCons \x3d (function cljs$core$__GT_ChunkedCons(chunk,more,meta,__hash){\nreturn (new cljs.core.ChunkedCons(chunk,more,meta,__hash));\n});\n\n(cljs.core.ChunkedCons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.chunk_cons \x3d (function cljs$core$chunk_cons(chunk,rest){\nif((cljs.core._count(chunk) \x3d\x3d\x3d (0))){\nreturn rest;\n} else {\nreturn (new cljs.core.ChunkedCons(chunk,rest,null,null));\n}\n});\ncljs.core.chunk_append \x3d (function cljs$core$chunk_append(b,x){\nreturn b.add(x);\n});\ncljs.core.chunk \x3d (function cljs$core$chunk(b){\nreturn b.chunk();\n});\ncljs.core.chunk_first \x3d (function cljs$core$chunk_first(s){\nreturn cljs.core._chunked_first(s);\n});\ncljs.core.chunk_rest \x3d (function cljs$core$chunk_rest(s){\nreturn cljs.core._chunked_rest(s);\n});\ncljs.core.chunk_next \x3d (function cljs$core$chunk_next(s){\nif((((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition1$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$IChunkedNext$))))?true:false):false)){\nreturn s.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core._chunked_rest(s));\n}\n});\n/**\n * Returns an array containing the contents of coll.\n */\ncljs.core.to_array \x3d (function cljs$core$to_array(coll){\nvar ary \x3d [];\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((s \x3d\x3d null)))){\nary.push(cljs.core.first(s));\n\nvar G__30553 \x3d cljs.core.next(s);\ns \x3d G__30553;\ncontinue;\n} else {\nreturn ary;\n}\nbreak;\n}\n});\n/**\n * Returns a (potentially-ragged) 2-dimensional array\n *   containing the contents of coll.\n */\ncljs.core.to_array_2d \x3d (function cljs$core$to_array_2d(coll){\nvar ret \x3d (new Array(cljs.core.count(coll)));\nvar i_30554 \x3d (0);\nvar xs_30555 \x3d cljs.core.seq(coll);\nwhile(true){\nif((xs_30555 \x3d\x3d null)){\n} else {\n(ret[i_30554] \x3d cljs.core.to_array(cljs.core.first(xs_30555)));\n\nvar G__30562 \x3d (i_30554 + (1));\nvar G__30563 \x3d cljs.core.next(xs_30555);\ni_30554 \x3d G__30562;\nxs_30555 \x3d G__30563;\ncontinue;\n}\nbreak;\n}\n\nreturn ret;\n});\n/**\n * Creates an array of ints. Does not coerce array, provided for compatibility\n *   with Clojure.\n */\ncljs.core.int_array \x3d (function cljs$core$int_array(var_args){\nvar G__27329 \x3d arguments.length;\nswitch (G__27329) {\ncase 1:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__30565 \x3d (i + (1));\nvar G__30566 \x3d cljs.core.next(s__$1);\ni \x3d G__30565;\ns__$1 \x3d G__30566;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5616__auto___30567 \x3d size;\nvar i_30568 \x3d (0);\nwhile(true){\nif((i_30568 \x3c n__5616__auto___30567)){\n(a[i_30568] \x3d init_val_or_seq);\n\nvar G__30569 \x3d (i_30568 + (1));\ni_30568 \x3d G__30569;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.int_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of longs. Does not coerce array, provided for compatibility\n *   with Clojure.\n */\ncljs.core.long_array \x3d (function cljs$core$long_array(var_args){\nvar G__27331 \x3d arguments.length;\nswitch (G__27331) {\ncase 1:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__30571 \x3d (i + (1));\nvar G__30572 \x3d cljs.core.next(s__$1);\ni \x3d G__30571;\ns__$1 \x3d G__30572;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5616__auto___30573 \x3d size;\nvar i_30574 \x3d (0);\nwhile(true){\nif((i_30574 \x3c n__5616__auto___30573)){\n(a[i_30574] \x3d init_val_or_seq);\n\nvar G__30575 \x3d (i_30574 + (1));\ni_30574 \x3d G__30575;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.long_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of doubles. Does not coerce array, provided for compatibility\n *   with Clojure.\n */\ncljs.core.double_array \x3d (function cljs$core$double_array(var_args){\nvar G__27333 \x3d arguments.length;\nswitch (G__27333) {\ncase 1:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__30577 \x3d (i + (1));\nvar G__30578 \x3d cljs.core.next(s__$1);\ni \x3d G__30577;\ns__$1 \x3d G__30578;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5616__auto___30579 \x3d size;\nvar i_30580 \x3d (0);\nwhile(true){\nif((i_30580 \x3c n__5616__auto___30579)){\n(a[i_30580] \x3d init_val_or_seq);\n\nvar G__30581 \x3d (i_30580 + (1));\ni_30580 \x3d G__30581;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.double_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of objects. Does not coerce array, provided for compatibility\n *   with Clojure.\n */\ncljs.core.object_array \x3d (function cljs$core$object_array(var_args){\nvar G__27335 \x3d arguments.length;\nswitch (G__27335) {\ncase 1:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__30583 \x3d (i + (1));\nvar G__30584 \x3d cljs.core.next(s__$1);\ni \x3d G__30583;\ns__$1 \x3d G__30584;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5616__auto___30585 \x3d size;\nvar i_30586 \x3d (0);\nwhile(true){\nif((i_30586 \x3c n__5616__auto___30585)){\n(a[i_30586] \x3d init_val_or_seq);\n\nvar G__30587 \x3d (i_30586 + (1));\ni_30586 \x3d G__30587;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.object_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * If coll is counted? returns its count, else will count at most the first n\n * elements of coll using its seq\n */\ncljs.core.bounded_count \x3d (function cljs$core$bounded_count(n,coll){\nif(cljs.core.counted_QMARK_(coll)){\nreturn cljs.core.count(coll);\n} else {\nvar i \x3d (0);\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((((!((s \x3d\x3d null)))) \x26\x26 ((i \x3c n)))){\nvar G__30591 \x3d (i + (1));\nvar G__30592 \x3d cljs.core.next(s);\ni \x3d G__30591;\ns \x3d G__30592;\ncontinue;\n} else {\nreturn i;\n}\nbreak;\n}\n}\n});\ncljs.core.spread \x3d (function cljs$core$spread(arglist){\nif((arglist \x3d\x3d null)){\nreturn null;\n} else {\nvar n \x3d cljs.core.next(arglist);\nif((n \x3d\x3d null)){\nreturn cljs.core.seq(cljs.core.first(arglist));\n} else {\nreturn cljs.core.cons(cljs.core.first(arglist),(cljs.core.spread.cljs$core$IFn$_invoke$arity$1 ? cljs.core.spread.cljs$core$IFn$_invoke$arity$1(n) : cljs.core.spread.call(null,n)));\n}\n}\n});\n/**\n * Returns a lazy seq representing the concatenation of the elements in the supplied colls.\n */\ncljs.core.concat \x3d (function cljs$core$concat(var_args){\nvar G__27340 \x3d arguments.length;\nswitch (G__27340) {\ncase 0:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30597 \x3d arguments.length;\nvar i__5750__auto___30598 \x3d (0);\nwhile(true){\nif((i__5750__auto___30598 \x3c len__5749__auto___30597)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30598]));\n\nvar G__30599 \x3d (i__5750__auto___30598 + (1));\ni__5750__auto___30598 \x3d G__30599;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn null;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn x;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s \x3d cljs.core.seq(x);\nif(s){\nif(cljs.core.chunked_seq_QMARK_(s)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.chunk_rest(s),y));\n} else {\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s),y));\n}\n} else {\nreturn y;\n}\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,zs){\nvar cat \x3d (function cljs$core$cat(xys,zs__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar xys__$1 \x3d cljs.core.seq(xys);\nif(xys__$1){\nif(cljs.core.chunked_seq_QMARK_(xys__$1)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(xys__$1),cljs$core$cat(cljs.core.chunk_rest(xys__$1),zs__$1));\n} else {\nreturn cljs.core.cons(cljs.core.first(xys__$1),cljs$core$cat(cljs.core.rest(xys__$1),zs__$1));\n}\n} else {\nif(cljs.core.truth_(zs__$1)){\nreturn cljs$core$cat(cljs.core.first(zs__$1),cljs.core.next(zs__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,y),zs);\n}));\n\n/** @this {Function} */\n(cljs.core.concat.cljs$lang$applyTo \x3d (function (seq27337){\nvar G__27338 \x3d cljs.core.first(seq27337);\nvar seq27337__$1 \x3d cljs.core.next(seq27337);\nvar G__27339 \x3d cljs.core.first(seq27337__$1);\nvar seq27337__$2 \x3d cljs.core.next(seq27337__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27338,G__27339,seq27337__$2);\n}));\n\n(cljs.core.concat.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Creates a new list containing the items prepended to the rest, the\n *   last of which will be treated as a sequence.\n */\ncljs.core.list_STAR_ \x3d (function cljs$core$list_STAR_(var_args){\nvar G__27347 \x3d arguments.length;\nswitch (G__27347) {\ncase 1:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30605 \x3d arguments.length;\nvar i__5750__auto___30606 \x3d (0);\nwhile(true){\nif((i__5750__auto___30606 \x3c len__5749__auto___30605)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30606]));\n\nvar G__30608 \x3d (i__5750__auto___30606 + (1));\ni__5750__auto___30606 \x3d G__30608;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (args){\nreturn cljs.core.seq(args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,args){\nreturn cljs.core.cons(a,args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,args));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,args)));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,b,c,d,more){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.spread(more)))));\n}));\n\n/** @this {Function} */\n(cljs.core.list_STAR_.cljs$lang$applyTo \x3d (function (seq27342){\nvar G__27343 \x3d cljs.core.first(seq27342);\nvar seq27342__$1 \x3d cljs.core.next(seq27342);\nvar G__27344 \x3d cljs.core.first(seq27342__$1);\nvar seq27342__$2 \x3d cljs.core.next(seq27342__$1);\nvar G__27345 \x3d cljs.core.first(seq27342__$2);\nvar seq27342__$3 \x3d cljs.core.next(seq27342__$2);\nvar G__27346 \x3d cljs.core.first(seq27342__$3);\nvar seq27342__$4 \x3d cljs.core.next(seq27342__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27343,G__27344,G__27345,G__27346,seq27342__$4);\n}));\n\n(cljs.core.list_STAR_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core.transient$ \x3d (function cljs$core$transient(coll){\nreturn cljs.core._as_transient(coll);\n});\n/**\n * Returns a new, persistent version of the transient collection, in\n *   constant time. The transient collection cannot be used after this\n *   call, any such use will throw an exception.\n */\ncljs.core.persistent_BANG_ \x3d (function cljs$core$persistent_BANG_(tcoll){\nreturn cljs.core._persistent_BANG_(tcoll);\n});\n/**\n * Adds val to the transient collection, and return tcoll. The \x27addition\x27\n *   may happen at different \x27places\x27 depending on the concrete type.\n */\ncljs.core.conj_BANG_ \x3d (function cljs$core$conj_BANG_(var_args){\nvar G__27352 \x3d arguments.length;\nswitch (G__27352) {\ncase 0:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30617 \x3d arguments.length;\nvar i__5750__auto___30618 \x3d (0);\nwhile(true){\nif((i__5750__auto___30618 \x3c len__5749__auto___30617)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30618]));\n\nvar G__30619 \x3d (i__5750__auto___30618 + (1));\ni__5750__auto___30618 \x3d G__30619;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tcoll){\nreturn tcoll;\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._conj_BANG_(tcoll,val);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._conj_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__30620 \x3d ntcoll;\nvar G__30621 \x3d cljs.core.first(vals);\nvar G__30622 \x3d cljs.core.next(vals);\ntcoll \x3d G__30620;\nval \x3d G__30621;\nvals \x3d G__30622;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj_BANG_.cljs$lang$applyTo \x3d (function (seq27349){\nvar G__27350 \x3d cljs.core.first(seq27349);\nvar seq27349__$1 \x3d cljs.core.next(seq27349);\nvar G__27351 \x3d cljs.core.first(seq27349__$1);\nvar seq27349__$2 \x3d cljs.core.next(seq27349__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27350,G__27351,seq27349__$2);\n}));\n\n(cljs.core.conj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * When applied to a transient map, adds mapping of key(s) to\n *   val(s). When applied to a transient vector, sets the val at index.\n *   Note - index must be \x3c\x3d (count vector). Returns coll.\n */\ncljs.core.assoc_BANG_ \x3d (function cljs$core$assoc_BANG_(var_args){\nvar G__27358 \x3d arguments.length;\nswitch (G__27358) {\ncase 3:\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30624 \x3d arguments.length;\nvar i__5750__auto___30625 \x3d (0);\nwhile(true){\nif((i__5750__auto___30625 \x3c len__5749__auto___30624)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30625]));\n\nvar G__30626 \x3d (i__5750__auto___30625 + (1));\ni__5750__auto___30625 \x3d G__30626;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (tcoll,key,val){\nreturn cljs.core._assoc_BANG_(tcoll,key,val);\n}));\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,val,kvs){\nwhile(true){\nvar ntcoll \x3d cljs.core._assoc_BANG_(tcoll,key,val);\nif(cljs.core.truth_(kvs)){\nvar G__30632 \x3d ntcoll;\nvar G__30633 \x3d cljs.core.first(kvs);\nvar G__30634 \x3d cljs.core.second(kvs);\nvar G__30635 \x3d cljs.core.nnext(kvs);\ntcoll \x3d G__30632;\nkey \x3d G__30633;\nval \x3d G__30634;\nkvs \x3d G__30635;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc_BANG_.cljs$lang$applyTo \x3d (function (seq27354){\nvar G__27355 \x3d cljs.core.first(seq27354);\nvar seq27354__$1 \x3d cljs.core.next(seq27354);\nvar G__27356 \x3d cljs.core.first(seq27354__$1);\nvar seq27354__$2 \x3d cljs.core.next(seq27354__$1);\nvar G__27357 \x3d cljs.core.first(seq27354__$2);\nvar seq27354__$3 \x3d cljs.core.next(seq27354__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27355,G__27356,G__27357,seq27354__$3);\n}));\n\n(cljs.core.assoc_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a transient map that doesn\x27t contain a mapping for key(s).\n */\ncljs.core.dissoc_BANG_ \x3d (function cljs$core$dissoc_BANG_(var_args){\nvar G__27363 \x3d arguments.length;\nswitch (G__27363) {\ncase 2:\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30637 \x3d arguments.length;\nvar i__5750__auto___30638 \x3d (0);\nwhile(true){\nif((i__5750__auto___30638 \x3c len__5749__auto___30637)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30638]));\n\nvar G__30639 \x3d (i__5750__auto___30638 + (1));\ni__5750__auto___30638 \x3d G__30639;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,key){\nreturn cljs.core._dissoc_BANG_(tcoll,key);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,ks){\nwhile(true){\nvar ntcoll \x3d cljs.core._dissoc_BANG_(tcoll,key);\nif(cljs.core.truth_(ks)){\nvar G__30640 \x3d ntcoll;\nvar G__30641 \x3d cljs.core.first(ks);\nvar G__30642 \x3d cljs.core.next(ks);\ntcoll \x3d G__30640;\nkey \x3d G__30641;\nks \x3d G__30642;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc_BANG_.cljs$lang$applyTo \x3d (function (seq27360){\nvar G__27361 \x3d cljs.core.first(seq27360);\nvar seq27360__$1 \x3d cljs.core.next(seq27360);\nvar G__27362 \x3d cljs.core.first(seq27360__$1);\nvar seq27360__$2 \x3d cljs.core.next(seq27360__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27361,G__27362,seq27360__$2);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Removes the last item from a transient vector. If\n *   the collection is empty, throws an exception. Returns tcoll\n */\ncljs.core.pop_BANG_ \x3d (function cljs$core$pop_BANG_(tcoll){\nreturn cljs.core._pop_BANG_(tcoll);\n});\n/**\n * disj[oin]. Returns a transient set of the same (hashed/sorted) type, that\n *   does not contain key(s).\n */\ncljs.core.disj_BANG_ \x3d (function cljs$core$disj_BANG_(var_args){\nvar G__27368 \x3d arguments.length;\nswitch (G__27368) {\ncase 2:\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30648 \x3d arguments.length;\nvar i__5750__auto___30649 \x3d (0);\nwhile(true){\nif((i__5750__auto___30649 \x3c len__5749__auto___30648)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30649]));\n\nvar G__30656 \x3d (i__5750__auto___30649 + (1));\ni__5750__auto___30649 \x3d G__30656;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._disjoin_BANG_(tcoll,val);\n}));\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._disjoin_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__30663 \x3d ntcoll;\nvar G__30664 \x3d cljs.core.first(vals);\nvar G__30665 \x3d cljs.core.next(vals);\ntcoll \x3d G__30663;\nval \x3d G__30664;\nvals \x3d G__30665;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj_BANG_.cljs$lang$applyTo \x3d (function (seq27365){\nvar G__27366 \x3d cljs.core.first(seq27365);\nvar seq27365__$1 \x3d cljs.core.next(seq27365);\nvar G__27367 \x3d cljs.core.first(seq27365__$1);\nvar seq27365__$2 \x3d cljs.core.next(seq27365__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27366,G__27367,seq27365__$2);\n}));\n\n(cljs.core.disj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n\ncljs.core.apply_to \x3d (function cljs$core$apply_to(f,argc,args){\nvar args__$1 \x3d cljs.core.seq(args);\nif((argc \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar a267 \x3d cljs.core._first(args__$1);\nvar args__$2 \x3d cljs.core._rest(args__$1);\nif((argc \x3d\x3d\x3d (1))){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(a267) : f.call(null,a267));\n} else {\nvar b268 \x3d cljs.core._first(args__$2);\nvar args__$3 \x3d cljs.core._rest(args__$2);\nif((argc \x3d\x3d\x3d (2))){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(a267,b268) : f.call(null,a267,b268));\n} else {\nvar c269 \x3d cljs.core._first(args__$3);\nvar args__$4 \x3d cljs.core._rest(args__$3);\nif((argc \x3d\x3d\x3d (3))){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(a267,b268,c269) : f.call(null,a267,b268,c269));\n} else {\nvar d270 \x3d cljs.core._first(args__$4);\nvar args__$5 \x3d cljs.core._rest(args__$4);\nif((argc \x3d\x3d\x3d (4))){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(a267,b268,c269,d270) : f.call(null,a267,b268,c269,d270));\n} else {\nvar e271 \x3d cljs.core._first(args__$5);\nvar args__$6 \x3d cljs.core._rest(args__$5);\nif((argc \x3d\x3d\x3d (5))){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(a267,b268,c269,d270,e271) : f.call(null,a267,b268,c269,d270,e271));\n} else {\nvar f272 \x3d cljs.core._first(args__$6);\nvar args__$7 \x3d cljs.core._rest(args__$6);\nif((argc \x3d\x3d\x3d (6))){\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(a267,b268,c269,d270,e271,f272) : f.call(null,a267,b268,c269,d270,e271,f272));\n} else {\nvar g273 \x3d cljs.core._first(args__$7);\nvar args__$8 \x3d cljs.core._rest(args__$7);\nif((argc \x3d\x3d\x3d (7))){\nreturn (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(a267,b268,c269,d270,e271,f272,g273) : f.call(null,a267,b268,c269,d270,e271,f272,g273));\n} else {\nvar h274 \x3d cljs.core._first(args__$8);\nvar args__$9 \x3d cljs.core._rest(args__$8);\nif((argc \x3d\x3d\x3d (8))){\nreturn (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(a267,b268,c269,d270,e271,f272,g273,h274) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274));\n} else {\nvar i275 \x3d cljs.core._first(args__$9);\nvar args__$10 \x3d cljs.core._rest(args__$9);\nif((argc \x3d\x3d\x3d (9))){\nreturn (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(a267,b268,c269,d270,e271,f272,g273,h274,i275) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275));\n} else {\nvar j276 \x3d cljs.core._first(args__$10);\nvar args__$11 \x3d cljs.core._rest(args__$10);\nif((argc \x3d\x3d\x3d (10))){\nreturn (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276));\n} else {\nvar k277 \x3d cljs.core._first(args__$11);\nvar args__$12 \x3d cljs.core._rest(args__$11);\nif((argc \x3d\x3d\x3d (11))){\nreturn (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277));\n} else {\nvar l278 \x3d cljs.core._first(args__$12);\nvar args__$13 \x3d cljs.core._rest(args__$12);\nif((argc \x3d\x3d\x3d (12))){\nreturn (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278));\n} else {\nvar m279 \x3d cljs.core._first(args__$13);\nvar args__$14 \x3d cljs.core._rest(args__$13);\nif((argc \x3d\x3d\x3d (13))){\nreturn (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279));\n} else {\nvar n280 \x3d cljs.core._first(args__$14);\nvar args__$15 \x3d cljs.core._rest(args__$14);\nif((argc \x3d\x3d\x3d (14))){\nreturn (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280));\n} else {\nvar o281 \x3d cljs.core._first(args__$15);\nvar args__$16 \x3d cljs.core._rest(args__$15);\nif((argc \x3d\x3d\x3d (15))){\nreturn (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281));\n} else {\nvar p282 \x3d cljs.core._first(args__$16);\nvar args__$17 \x3d cljs.core._rest(args__$16);\nif((argc \x3d\x3d\x3d (16))){\nreturn (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282));\n} else {\nvar q283 \x3d cljs.core._first(args__$17);\nvar args__$18 \x3d cljs.core._rest(args__$17);\nif((argc \x3d\x3d\x3d (17))){\nreturn (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282,q283) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282,q283));\n} else {\nvar r284 \x3d cljs.core._first(args__$18);\nvar args__$19 \x3d cljs.core._rest(args__$18);\nif((argc \x3d\x3d\x3d (18))){\nreturn (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282,q283,r284) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282,q283,r284));\n} else {\nvar s285 \x3d cljs.core._first(args__$19);\nvar args__$20 \x3d cljs.core._rest(args__$19);\nif((argc \x3d\x3d\x3d (19))){\nreturn (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282,q283,r284,s285) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282,q283,r284,s285));\n} else {\nvar t286 \x3d cljs.core._first(args__$20);\nvar args__$21 \x3d cljs.core._rest(args__$20);\nif((argc \x3d\x3d\x3d (20))){\nreturn (f.cljs$core$IFn$_invoke$arity$20 ? f.cljs$core$IFn$_invoke$arity$20(a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282,q283,r284,s285,t286) : f.call(null,a267,b268,c269,d270,e271,f272,g273,h274,i275,j276,k277,l278,m279,n280,o281,p282,q283,r284,s285,t286));\n} else {\nthrow (new Error(\x22Only up to 20 arguments supported on functions\x22));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\n\n/**\n * Internal. DO NOT USE! Next without the nil? check.\n */\ncljs.core.next_STAR_ \x3d (function cljs$core$next_STAR_(coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n});\n/**\n * Internal. DO NOT USE!\n *   Assumes args was already called with seq beforehand!\n */\ncljs.core.apply_to_simple \x3d (function cljs$core$apply_to_simple(var_args){\nvar G__27371 \x3d arguments.length;\nswitch (G__27371) {\ncase 2:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$0){\nreturn f.cljs$core$IFn$_invoke$arity$0();\n} else {\nreturn f.call(f);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,a0,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$1){\nreturn f.cljs$core$IFn$_invoke$arity$1(a0);\n} else {\nreturn f.call(f,a0);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,a0,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,a0,a1,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$2){\nreturn f.cljs$core$IFn$_invoke$arity$2(a0,a1);\n} else {\nreturn f.call(f,a0,a1);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,a0,a1,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,a0,a1,a2,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$3){\nreturn f.cljs$core$IFn$_invoke$arity$3(a0,a1,a2);\n} else {\nreturn f.call(f,a0,a1,a2);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a0,a1,a2,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6 \x3d (function (f,a0,a1,a2,a3,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$4){\nreturn f.cljs$core$IFn$_invoke$arity$4(a0,a1,a2,a3);\n} else {\nreturn f.call(f,a0,a1,a2,a3);\n}\n} else {\nvar a4 \x3d cljs.core._first(args);\nvar next_4 \x3d cljs.core.next(args);\nif((next_4 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$5){\nreturn f.cljs$core$IFn$_invoke$arity$5(a0,a1,a2,a3,a4);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4);\n}\n} else {\nvar a5 \x3d cljs.core._first(next_4);\nvar next_5 \x3d cljs.core.next(next_4);\nif((next_5 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$6){\nreturn f.cljs$core$IFn$_invoke$arity$6(a0,a1,a2,a3,a4,a5);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5);\n}\n} else {\nvar a6 \x3d cljs.core._first(next_5);\nvar next_6 \x3d cljs.core.next(next_5);\nif((next_6 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$7){\nreturn f.cljs$core$IFn$_invoke$arity$7(a0,a1,a2,a3,a4,a5,a6);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6);\n}\n} else {\nvar a7 \x3d cljs.core._first(next_6);\nvar next_7 \x3d cljs.core.next(next_6);\nif((next_7 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$8){\nreturn f.cljs$core$IFn$_invoke$arity$8(a0,a1,a2,a3,a4,a5,a6,a7);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7);\n}\n} else {\nvar a8 \x3d cljs.core._first(next_7);\nvar next_8 \x3d cljs.core.next(next_7);\nif((next_8 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$9){\nreturn f.cljs$core$IFn$_invoke$arity$9(a0,a1,a2,a3,a4,a5,a6,a7,a8);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8);\n}\n} else {\nvar a9 \x3d cljs.core._first(next_8);\nvar next_9 \x3d cljs.core.next(next_8);\nif((next_9 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$10){\nreturn f.cljs$core$IFn$_invoke$arity$10(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n}\n} else {\nvar a10 \x3d cljs.core._first(next_9);\nvar next_10 \x3d cljs.core.next(next_9);\nif((next_10 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$11){\nreturn f.cljs$core$IFn$_invoke$arity$11(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n}\n} else {\nvar a11 \x3d cljs.core._first(next_10);\nvar next_11 \x3d cljs.core.next(next_10);\nif((next_11 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$12){\nreturn f.cljs$core$IFn$_invoke$arity$12(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n}\n} else {\nvar a12 \x3d cljs.core._first(next_11);\nvar next_12 \x3d cljs.core.next(next_11);\nif((next_12 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$13){\nreturn f.cljs$core$IFn$_invoke$arity$13(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n}\n} else {\nvar a13 \x3d cljs.core._first(next_12);\nvar next_13 \x3d cljs.core.next(next_12);\nif((next_13 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$14){\nreturn f.cljs$core$IFn$_invoke$arity$14(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n}\n} else {\nvar a14 \x3d cljs.core._first(next_13);\nvar next_14 \x3d cljs.core.next(next_13);\nif((next_14 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$15){\nreturn f.cljs$core$IFn$_invoke$arity$15(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n}\n} else {\nvar a15 \x3d cljs.core._first(next_14);\nvar next_15 \x3d cljs.core.next(next_14);\nif((next_15 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$16){\nreturn f.cljs$core$IFn$_invoke$arity$16(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n}\n} else {\nvar a16 \x3d cljs.core._first(next_15);\nvar next_16 \x3d cljs.core.next(next_15);\nif((next_16 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$17){\nreturn f.cljs$core$IFn$_invoke$arity$17(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n}\n} else {\nvar a17 \x3d cljs.core._first(next_16);\nvar next_17 \x3d cljs.core.next(next_16);\nif((next_17 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$18){\nreturn f.cljs$core$IFn$_invoke$arity$18(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);\n}\n} else {\nvar a18 \x3d cljs.core._first(next_17);\nvar next_18 \x3d cljs.core.next(next_17);\nif((next_18 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$19){\nreturn f.cljs$core$IFn$_invoke$arity$19(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);\n}\n} else {\nvar a19 \x3d cljs.core._first(next_18);\nvar next_19 \x3d cljs.core.next(next_18);\nif((next_19 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$20){\nreturn f.cljs$core$IFn$_invoke$arity$20(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);\n}\n} else {\nvar arr__5664__auto__ \x3d [a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19];\nvar s__5665__auto___30700 \x3d next_19;\nwhile(true){\nif(s__5665__auto___30700){\narr__5664__auto__.push(cljs.core._first(s__5665__auto___30700));\n\nvar G__30702 \x3d cljs.core.next(s__5665__auto___30700);\ns__5665__auto___30700 \x3d G__30702;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn f.apply(f,arr__5664__auto__);\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Applies fn f to the argument list formed by prepending intervening arguments to args.\n */\ncljs.core.apply \x3d (function cljs$core$apply(var_args){\nvar G__27379 \x3d arguments.length;\nswitch (G__27379) {\ncase 2:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30704 \x3d arguments.length;\nvar i__5750__auto___30705 \x3d (0);\nwhile(true){\nif((i__5750__auto___30705 \x3c len__5749__auto___30704)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30705]));\n\nvar G__30706 \x3d (i__5750__auto___30705 + (1));\ni__5750__auto___30705 \x3d G__30706;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((5) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((5)),(0),null)):null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif(f.cljs$lang$applyTo){\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d cljs.core.bounded_count((fixed_arity + (1)),args);\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,args);\n} else {\nreturn f.cljs$lang$applyTo(args);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2(f,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(x,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d (cljs.core.bounded_count(fixed_arity,args) + (1));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,x,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(x,y,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((2) + cljs.core.bounded_count((fixed_arity - (1)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,x,y,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,x,y,z,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(x,y,z,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((3) + cljs.core.bounded_count((fixed_arity - (2)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,x,y,z,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,a,b,c,d,args){\nif(f.cljs$lang$applyTo){\nvar spread_args \x3d cljs.core.spread(args);\nvar arglist \x3d cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,spread_args))));\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((4) + cljs.core.bounded_count((fixed_arity - (3)),spread_args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a,b,c,d,cljs.core.spread(args));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.apply.cljs$lang$applyTo \x3d (function (seq27373){\nvar G__27374 \x3d cljs.core.first(seq27373);\nvar seq27373__$1 \x3d cljs.core.next(seq27373);\nvar G__27375 \x3d cljs.core.first(seq27373__$1);\nvar seq27373__$2 \x3d cljs.core.next(seq27373__$1);\nvar G__27376 \x3d cljs.core.first(seq27373__$2);\nvar seq27373__$3 \x3d cljs.core.next(seq27373__$2);\nvar G__27377 \x3d cljs.core.first(seq27373__$3);\nvar seq27373__$4 \x3d cljs.core.next(seq27373__$3);\nvar G__27378 \x3d cljs.core.first(seq27373__$4);\nvar seq27373__$5 \x3d cljs.core.next(seq27373__$4);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27374,G__27375,G__27376,G__27377,G__27378,seq27373__$5);\n}));\n\n(cljs.core.apply.cljs$lang$maxFixedArity \x3d (5));\n\ncljs.core.__destructure_map \x3d (function cljs$core$__destructure_map(gmap){\nif((((!((gmap \x3d\x3d null))))?(((((gmap.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d gmap.cljs$core$ISeq$))))?true:false):false)){\nif(cljs.core.next(gmap)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(gmap));\n} else {\nif(cljs.core.seq(gmap)){\nreturn cljs.core.first(gmap);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n} else {\nreturn gmap;\n}\n});\n/**\n * Returns an object of the same type and value as obj, with\n *   (apply f (meta obj) args) as its metadata.\n */\ncljs.core.vary_meta \x3d (function cljs$core$vary_meta(var_args){\nvar G__27389 \x3d arguments.length;\nswitch (G__27389) {\ncase 2:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30717 \x3d arguments.length;\nvar i__5750__auto___30718 \x3d (0);\nwhile(true){\nif((i__5750__auto___30718 \x3c len__5749__auto___30717)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30718]));\n\nvar G__30719 \x3d (i__5750__auto___30718 + (1));\ni__5750__auto___30718 \x3d G__30719;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((6) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((6)),(0),null)):null);\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,f){\nreturn cljs.core.with_meta(obj,(function (){var G__27390 \x3d cljs.core.meta(obj);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27390) : f.call(null,G__27390));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3 \x3d (function (obj,f,a){\nreturn cljs.core.with_meta(obj,(function (){var G__27391 \x3d cljs.core.meta(obj);\nvar G__27392 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27391,G__27392) : f.call(null,G__27391,G__27392));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4 \x3d (function (obj,f,a,b){\nreturn cljs.core.with_meta(obj,(function (){var G__27393 \x3d cljs.core.meta(obj);\nvar G__27394 \x3d a;\nvar G__27395 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27393,G__27394,G__27395) : f.call(null,G__27393,G__27394,G__27395));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5 \x3d (function (obj,f,a,b,c){\nreturn cljs.core.with_meta(obj,(function (){var G__27396 \x3d cljs.core.meta(obj);\nvar G__27397 \x3d a;\nvar G__27398 \x3d b;\nvar G__27399 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__27396,G__27397,G__27398,G__27399) : f.call(null,G__27396,G__27397,G__27398,G__27399));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6 \x3d (function (obj,f,a,b,c,d){\nreturn cljs.core.with_meta(obj,(function (){var G__27400 \x3d cljs.core.meta(obj);\nvar G__27401 \x3d a;\nvar G__27402 \x3d b;\nvar G__27403 \x3d c;\nvar G__27404 \x3d d;\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(G__27400,G__27401,G__27402,G__27403,G__27404) : f.call(null,G__27400,G__27401,G__27402,G__27403,G__27404));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,f,a,b,c,d,args){\nreturn cljs.core.with_meta(obj,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.meta(obj),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([d,args], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.vary_meta.cljs$lang$applyTo \x3d (function (seq27382){\nvar G__27383 \x3d cljs.core.first(seq27382);\nvar seq27382__$1 \x3d cljs.core.next(seq27382);\nvar G__27384 \x3d cljs.core.first(seq27382__$1);\nvar seq27382__$2 \x3d cljs.core.next(seq27382__$1);\nvar G__27385 \x3d cljs.core.first(seq27382__$2);\nvar seq27382__$3 \x3d cljs.core.next(seq27382__$2);\nvar G__27386 \x3d cljs.core.first(seq27382__$3);\nvar seq27382__$4 \x3d cljs.core.next(seq27382__$3);\nvar G__27387 \x3d cljs.core.first(seq27382__$4);\nvar seq27382__$5 \x3d cljs.core.next(seq27382__$4);\nvar G__27388 \x3d cljs.core.first(seq27382__$5);\nvar seq27382__$6 \x3d cljs.core.next(seq27382__$5);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27383,G__27384,G__27385,G__27386,G__27387,G__27388,seq27382__$6);\n}));\n\n(cljs.core.vary_meta.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * Same as (not (\x3d obj1 obj2))\n */\ncljs.core.not_EQ_ \x3d (function cljs$core$not_EQ_(var_args){\nvar G__27409 \x3d arguments.length;\nswitch (G__27409) {\ncase 1:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30726 \x3d arguments.length;\nvar i__5750__auto___30727 \x3d (0);\nwhile(true){\nif((i__5750__auto___30727 \x3c len__5749__auto___30726)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30727]));\n\nvar G__30728 \x3d (i__5750__auto___30727 + (1));\ni__5750__auto___30727 \x3d G__30728;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn false;\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core._EQ_,x,y,more));\n}));\n\n/** @this {Function} */\n(cljs.core.not_EQ_.cljs$lang$applyTo \x3d (function (seq27406){\nvar G__27407 \x3d cljs.core.first(seq27406);\nvar seq27406__$1 \x3d cljs.core.next(seq27406);\nvar G__27408 \x3d cljs.core.first(seq27406__$1);\nvar seq27406__$2 \x3d cljs.core.next(seq27406__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27407,G__27408,seq27406__$2);\n}));\n\n(cljs.core.not_EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If coll is empty, returns nil, else coll\n */\ncljs.core.not_empty \x3d (function cljs$core$not_empty(coll){\nif(cljs.core.seq(coll)){\nreturn coll;\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.t_cljs$core27410 \x3d (function (meta27411){\nthis.meta27411 \x3d meta27411;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core27410.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_27412,meta27411__$1){\nvar self__ \x3d this;\nvar _27412__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core27410(meta27411__$1));\n}));\n\n(cljs.core.t_cljs$core27410.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_27412){\nvar self__ \x3d this;\nvar _27412__$1 \x3d this;\nreturn self__.meta27411;\n}));\n\n(cljs.core.t_cljs$core27410.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn false;\n}));\n\n(cljs.core.t_cljs$core27410.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22No such element\x22));\n}));\n\n(cljs.core.t_cljs$core27410.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.t_cljs$core27410.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta27411\x22,\x22meta27411\x22,-1887372254,null)], null);\n}));\n\n(cljs.core.t_cljs$core27410.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core27410.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core27410\x22);\n\n(cljs.core.t_cljs$core27410.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/t_cljs$core27410\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core27410.\n */\ncljs.core.__GT_t_cljs$core27410 \x3d (function cljs$core$__GT_t_cljs$core27410(meta27411){\nreturn (new cljs.core.t_cljs$core27410(meta27411));\n});\n\n\ncljs.core.nil_iter \x3d (function cljs$core$nil_iter(){\nreturn (new cljs.core.t_cljs$core27410(cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.StringIter \x3d (function (s,i){\nthis.s \x3d s;\nthis.i \x3d i;\n});\n(cljs.core.StringIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.s.length);\n}));\n\n(cljs.core.StringIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.s.charAt(self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.StringIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.StringIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.StringIter.cljs$lang$type \x3d true);\n\n(cljs.core.StringIter.cljs$lang$ctorStr \x3d \x22cljs.core/StringIter\x22);\n\n(cljs.core.StringIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/StringIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringIter.\n */\ncljs.core.__GT_StringIter \x3d (function cljs$core$__GT_StringIter(s,i){\nreturn (new cljs.core.StringIter(s,i));\n});\n\ncljs.core.string_iter \x3d (function cljs$core$string_iter(x){\nreturn (new cljs.core.StringIter(x,(0)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayIter \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.ArrayIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.ArrayIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.ArrayIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayIter.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayIter.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayIter\x22);\n\n(cljs.core.ArrayIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayIter.\n */\ncljs.core.__GT_ArrayIter \x3d (function cljs$core$__GT_ArrayIter(arr,i){\nreturn (new cljs.core.ArrayIter(arr,i));\n});\n\ncljs.core.array_iter \x3d (function cljs$core$array_iter(x){\nreturn (new cljs.core.ArrayIter(x,(0)));\n});\ncljs.core.INIT \x3d ({});\ncljs.core.START \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.SeqIter \x3d (function (_seq,_next){\nthis._seq \x3d _seq;\nthis._next \x3d _next;\n});\n(cljs.core.SeqIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__._seq \x3d\x3d\x3d cljs.core.INIT)){\n(self__._seq \x3d cljs.core.START);\n\n(self__._next \x3d cljs.core.seq(self__._next));\n} else {\nif((self__._seq \x3d\x3d\x3d self__._next)){\n(self__._next \x3d cljs.core.next(self__._seq));\n} else {\n}\n}\n\nreturn (!((self__._next \x3d\x3d null)));\n}));\n\n(cljs.core.SeqIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!(this$.hasNext()))){\nthrow (new Error(\x22No such element\x22));\n} else {\n(self__._seq \x3d self__._next);\n\nreturn cljs.core.first(self__._next);\n}\n}));\n\n(cljs.core.SeqIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.SeqIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22_seq\x22,\x22_seq\x22,-449557847,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.SeqIter.cljs$lang$type \x3d true);\n\n(cljs.core.SeqIter.cljs$lang$ctorStr \x3d \x22cljs.core/SeqIter\x22);\n\n(cljs.core.SeqIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/SeqIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/SeqIter.\n */\ncljs.core.__GT_SeqIter \x3d (function cljs$core$__GT_SeqIter(_seq,_next){\nreturn (new cljs.core.SeqIter(_seq,_next));\n});\n\ncljs.core.seq_iter \x3d (function cljs$core$seq_iter(coll){\nreturn (new cljs.core.SeqIter(cljs.core.INIT,coll));\n});\ncljs.core.iter \x3d (function cljs$core$iter(coll){\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core._iterator(coll);\n} else {\nif((coll \x3d\x3d null)){\nreturn cljs.core.nil_iter();\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.string_iter(coll);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_iter(coll);\n} else {\nif(cljs.core.seqable_QMARK_(coll)){\nreturn cljs.core.seq_iter(coll);\n} else {\nthrow (new Error([\x22Cannot create iterator from \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Many \x3d (function (vals){\nthis.vals \x3d vals;\n});\n(cljs.core.Many.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nself__.vals.push(o);\n\nreturn this$;\n}));\n\n(cljs.core.Many.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.vals.shift();\n}));\n\n(cljs.core.Many.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.vals.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.Many.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Many: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.vals)].join(\x27\x27);\n}));\n\n(cljs.core.Many.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vals\x22,\x22vals\x22,-1886377036,null)], null);\n}));\n\n(cljs.core.Many.cljs$lang$type \x3d true);\n\n(cljs.core.Many.cljs$lang$ctorStr \x3d \x22cljs.core/Many\x22);\n\n(cljs.core.Many.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Many\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Many.\n */\ncljs.core.__GT_Many \x3d (function cljs$core$__GT_Many(vals){\nreturn (new cljs.core.Many(vals));\n});\n\ncljs.core.NONE \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.Single \x3d (function (val){\nthis.val \x3d val;\n});\n(cljs.core.Single.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\n(self__.val \x3d o);\n\nreturn this$;\n} else {\nreturn (new cljs.core.Many([self__.val,o]));\n}\n}));\n\n(cljs.core.Single.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\nthrow (new Error(\x22Removing object from empty buffer\x22));\n} else {\nvar ret \x3d self__.val;\n(self__.val \x3d cljs.core.NONE);\n\nreturn ret;\n}\n}));\n\n(cljs.core.Single.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.val \x3d\x3d\x3d cljs.core.NONE);\n}));\n\n(cljs.core.Single.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Single: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.val)].join(\x27\x27);\n}));\n\n(cljs.core.Single.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Single.cljs$lang$type \x3d true);\n\n(cljs.core.Single.cljs$lang$ctorStr \x3d \x22cljs.core/Single\x22);\n\n(cljs.core.Single.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Single\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Single.\n */\ncljs.core.__GT_Single \x3d (function cljs$core$__GT_Single(val){\nreturn (new cljs.core.Single(val));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.Empty \x3d (function (){\n});\n(cljs.core.Empty.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (new cljs.core.Single(o));\n}));\n\n(cljs.core.Empty.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nthrow (new Error(\x22Removing object from empty buffer\x22));\n}));\n\n(cljs.core.Empty.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(cljs.core.Empty.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn \x22Empty\x22;\n}));\n\n(cljs.core.Empty.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.Empty.cljs$lang$type \x3d true);\n\n(cljs.core.Empty.cljs$lang$ctorStr \x3d \x22cljs.core/Empty\x22);\n\n(cljs.core.Empty.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Empty\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Empty.\n */\ncljs.core.__GT_Empty \x3d (function cljs$core$__GT_Empty(){\nreturn (new cljs.core.Empty());\n});\n\ncljs.core.EMPTY \x3d (new cljs.core.Empty());\n\n/**\n* @constructor\n*/\ncljs.core.MultiIterator \x3d (function (iters){\nthis.iters \x3d iters;\n});\n(cljs.core.MultiIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar iters__$1 \x3d cljs.core.seq(self__.iters);\nwhile(true){\nif((!((iters__$1 \x3d\x3d null)))){\nvar iter \x3d cljs.core.first(iters__$1);\nif((!(iter.hasNext()))){\nreturn false;\n} else {\nvar G__30747 \x3d cljs.core.next(iters__$1);\niters__$1 \x3d G__30747;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.MultiIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar nexts \x3d [];\nvar n__5616__auto___30748 \x3d self__.iters.length;\nvar i_30749 \x3d (0);\nwhile(true){\nif((i_30749 \x3c n__5616__auto___30748)){\n(nexts[i_30749] \x3d (self__.iters[i_30749]).next());\n\nvar G__30750 \x3d (i_30749 + (1));\ni_30749 \x3d G__30750;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(nexts,(0));\n}));\n\n(cljs.core.MultiIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iters\x22,\x22iters\x22,719353031,null)], null);\n}));\n\n(cljs.core.MultiIterator.cljs$lang$type \x3d true);\n\n(cljs.core.MultiIterator.cljs$lang$ctorStr \x3d \x22cljs.core/MultiIterator\x22);\n\n(cljs.core.MultiIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/MultiIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiIterator.\n */\ncljs.core.__GT_MultiIterator \x3d (function cljs$core$__GT_MultiIterator(iters){\nreturn (new cljs.core.MultiIterator(iters));\n});\n\ncljs.core.chunkIteratorSeq \x3d (function cljs$core$chunkIteratorSeq(iter){\nreturn (new cljs.core.LazySeq(null,(function (){\nif(iter.hasNext()){\nvar arr \x3d [];\nvar n \x3d (0);\nwhile(true){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d iter.hasNext();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (n \x3c (32));\n} else {\nreturn and__5023__auto__;\n}\n})())){\n(arr[n] \x3d iter.next());\n\nvar G__30755 \x3d (n + (1));\nn \x3d G__30755;\ncontinue;\n} else {\nreturn cljs.core.chunk_cons(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n),(cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1(iter) : cljs.core.chunkIteratorSeq.call(null,iter)));\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\n\n/**\n* @constructor\n*/\ncljs.core.TransformerIterator \x3d (function (buffer,_next,completed,xf,sourceIter,multi){\nthis.buffer \x3d buffer;\nthis._next \x3d _next;\nthis.completed \x3d completed;\nthis.xf \x3d xf;\nthis.sourceIter \x3d sourceIter;\nthis.multi \x3d multi;\n});\n(cljs.core.TransformerIterator.prototype.step \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__._next \x3d\x3d\x3d cljs.core.NONE)))){\nreturn true;\n} else {\nwhile(true){\nif((self__._next \x3d\x3d\x3d cljs.core.NONE)){\nif(self__.buffer.isEmpty()){\nif(self__.completed){\nreturn false;\n} else {\nif(self__.sourceIter.hasNext()){\nvar iter \x3d ((self__.multi)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.xf,cljs.core.cons(null,self__.sourceIter.next())):(function (){var G__27413 \x3d null;\nvar G__27414 \x3d self__.sourceIter.next();\nreturn (self__.xf.cljs$core$IFn$_invoke$arity$2 ? self__.xf.cljs$core$IFn$_invoke$arity$2(G__27413,G__27414) : self__.xf.call(null,G__27413,G__27414));\n})());\nif(cljs.core.reduced_QMARK_(iter)){\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n} else {\n}\n\ncontinue;\n} else {\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n\ncontinue;\n}\n}\n} else {\n(self__._next \x3d self__.buffer.remove());\n\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.step();\n}));\n\n(cljs.core.TransformerIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nvar ret \x3d self__._next;\n(self__._next \x3d cljs.core.NONE);\n\nreturn ret;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.TransformerIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buffer\x22,\x22buffer\x22,-2037140571,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22completed\x22,\x22completed\x22,1154475024,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22xf\x22,\x22xf\x22,2042434515,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22sourceIter\x22,\x22sourceIter\x22,1068220306,null),new cljs.core.Symbol(null,\x22multi\x22,\x22multi\x22,1450238522,null)], null);\n}));\n\n(cljs.core.TransformerIterator.cljs$lang$type \x3d true);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorStr \x3d \x22cljs.core/TransformerIterator\x22);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransformerIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransformerIterator.\n */\ncljs.core.__GT_TransformerIterator \x3d (function cljs$core$__GT_TransformerIterator(buffer,_next,completed,xf,sourceIter,multi){\nreturn (new cljs.core.TransformerIterator(buffer,_next,completed,xf,sourceIter,multi));\n});\n\n(cljs.core.TransformerIterator.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.transformer_iterator \x3d (function cljs$core$transformer_iterator(xform,sourceIter,multi){\nvar iterator \x3d (new cljs.core.TransformerIterator(cljs.core.EMPTY,cljs.core.NONE,false,null,sourceIter,multi));\n(iterator.xf \x3d (function (){var G__27415 \x3d (function() {\nvar G__30758 \x3d null;\nvar G__30758__0 \x3d (function (){\nreturn null;\n});\nvar G__30758__1 \x3d (function (acc){\nreturn acc;\n});\nvar G__30758__2 \x3d (function (acc,o){\n(iterator.buffer \x3d iterator.buffer.add(o));\n\nreturn acc;\n});\nG__30758 \x3d function(acc,o){\nswitch(arguments.length){\ncase 0:\nreturn G__30758__0.call(this);\ncase 1:\nreturn G__30758__1.call(this,acc);\ncase 2:\nreturn G__30758__2.call(this,acc,o);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30758.cljs$core$IFn$_invoke$arity$0 \x3d G__30758__0;\nG__30758.cljs$core$IFn$_invoke$arity$1 \x3d G__30758__1;\nG__30758.cljs$core$IFn$_invoke$arity$2 \x3d G__30758__2;\nreturn G__30758;\n})()\n;\nreturn (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(G__27415) : xform.call(null,G__27415));\n})());\n\nreturn iterator;\n});\n(cljs.core.TransformerIterator.create \x3d (function (xform,source){\nreturn cljs.core.transformer_iterator(xform,source,false);\n}));\n(cljs.core.TransformerIterator.createMulti \x3d (function (xform,sources){\nreturn cljs.core.transformer_iterator(xform,(new cljs.core.MultiIterator(cljs.core.to_array(sources))),true);\n}));\n/**\n * Coerces coll to a (possibly empty) sequence, if it is not already\n *   one. Will not force a lazy seq. (sequence nil) yields (), When a\n *   transducer is supplied, returns a lazy sequence of applications of\n *   the transform to the items in coll(s), i.e. to the set of first\n *   items of each coll, followed by the set of second\n *   items in each coll, until any one of the colls is exhausted.  Any\n *   remaining items in other colls are ignored. The transform should accept\n *   number-of-colls arguments\n */\ncljs.core.sequence \x3d (function cljs$core$sequence(var_args){\nvar G__27420 \x3d arguments.length;\nswitch (G__27420) {\ncase 1:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30760 \x3d arguments.length;\nvar i__5750__auto___30761 \x3d (0);\nwhile(true){\nif((i__5750__auto___30761 \x3c len__5749__auto___30760)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30761]));\n\nvar G__30762 \x3d (i__5750__auto___30761 + (1));\ni__5750__auto___30761 \x3d G__30762;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nif(cljs.core.seq_QMARK_(coll)){\nreturn coll;\n} else {\nvar or__5025__auto__ \x3d cljs.core.seq(coll);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,coll){\nvar or__5025__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.create(xform,cljs.core.iter(coll)));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xform,coll,colls){\nvar or__5025__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.createMulti(xform,(function (){var G__27421 \x3d cljs.core.iter;\nvar G__27422 \x3d cljs.core.cons(coll,colls);\nreturn (cljs.core.map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.map.cljs$core$IFn$_invoke$arity$2(G__27421,G__27422) : cljs.core.map.call(null,G__27421,G__27422));\n})()));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.sequence.cljs$lang$applyTo \x3d (function (seq27417){\nvar G__27418 \x3d cljs.core.first(seq27417);\nvar seq27417__$1 \x3d cljs.core.next(seq27417);\nvar G__27419 \x3d cljs.core.first(seq27417__$1);\nvar seq27417__$2 \x3d cljs.core.next(seq27417__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27418,G__27419,seq27417__$2);\n}));\n\n(cljs.core.sequence.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if (pred x) is logical true for every x in coll, else\n *   false.\n */\ncljs.core.every_QMARK_ \x3d (function cljs$core$every_QMARK_(pred,coll){\nwhile(true){\nif((cljs.core.seq(coll) \x3d\x3d null)){\nreturn true;\n} else {\nif(cljs.core.truth_((function (){var G__27423 \x3d cljs.core.first(coll);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__27423) : pred.call(null,G__27423));\n})())){\nvar G__30764 \x3d pred;\nvar G__30765 \x3d cljs.core.next(coll);\npred \x3d G__30764;\ncoll \x3d G__30765;\ncontinue;\n} else {\nreturn false;\n\n}\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for every x in\n *   coll, else true.\n */\ncljs.core.not_every_QMARK_ \x3d (function cljs$core$not_every_QMARK_(pred,coll){\nreturn (!(cljs.core.every_QMARK_(pred,coll)));\n});\n/**\n * Returns the first logical true value of (pred x) for any x in coll,\n *   else nil.  One common idiom is to use a set as pred, for example\n *   this will return :fred if :fred is in the sequence, otherwise nil:\n *   (some #{:fred} coll)\n */\ncljs.core.some \x3d (function cljs$core$some(pred,coll){\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar or__5025__auto__ \x3d (function (){var G__27424 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__27424) : pred.call(null,G__27424));\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar G__30766 \x3d pred;\nvar G__30767 \x3d cljs.core.next(s);\npred \x3d G__30766;\ncoll \x3d G__30767;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for any x in coll,\n *   else true.\n */\ncljs.core.not_any_QMARK_ \x3d (function cljs$core$not_any_QMARK_(pred,coll){\nreturn cljs.core.not(cljs.core.some(pred,coll));\n});\n/**\n * Returns true if n is even, throws an exception if n is not an integer\n */\ncljs.core.even_QMARK_ \x3d (function cljs$core$even_QMARK_(n){\nif(cljs.core.integer_QMARK_(n)){\nreturn ((n \x26 (1)) \x3d\x3d\x3d (0));\n} else {\nthrow (new Error([\x22Argument must be an integer: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)));\n}\n});\n/**\n * Returns true if n is odd, throws an exception if n is not an integer\n */\ncljs.core.odd_QMARK_ \x3d (function cljs$core$odd_QMARK_(n){\nreturn (!(cljs.core.even_QMARK_(n)));\n});\n/**\n * Takes a fn f and returns a fn that takes the same arguments as f,\n *   has the same effects, if any, and returns the opposite truth value.\n */\ncljs.core.complement \x3d (function cljs$core$complement(f){\nreturn (function() {\nvar G__30774 \x3d null;\nvar G__30774__0 \x3d (function (){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)));\n});\nvar G__30774__1 \x3d (function (x){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)));\n});\nvar G__30774__2 \x3d (function (x,y){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)));\n});\nvar G__30774__3 \x3d (function() { \nvar G__30775__delegate \x3d function (x,y,zs){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f,x,y,zs));\n};\nvar G__30775 \x3d function (x,y,var_args){\nvar zs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__30780__i \x3d 0, G__30780__a \x3d new Array(arguments.length -  2);\nwhile (G__30780__i \x3c G__30780__a.length) {G__30780__a[G__30780__i] \x3d arguments[G__30780__i + 2]; ++G__30780__i;}\n  zs \x3d new cljs.core.IndexedSeq(G__30780__a,0,null);\n} \nreturn G__30775__delegate.call(this,x,y,zs);};\nG__30775.cljs$lang$maxFixedArity \x3d 2;\nG__30775.cljs$lang$applyTo \x3d (function (arglist__30781){\nvar x \x3d cljs.core.first(arglist__30781);\narglist__30781 \x3d cljs.core.next(arglist__30781);\nvar y \x3d cljs.core.first(arglist__30781);\nvar zs \x3d cljs.core.rest(arglist__30781);\nreturn G__30775__delegate(x,y,zs);\n});\nG__30775.cljs$core$IFn$_invoke$arity$variadic \x3d G__30775__delegate;\nreturn G__30775;\n})()\n;\nG__30774 \x3d function(x,y,var_args){\nvar zs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30774__0.call(this);\ncase 1:\nreturn G__30774__1.call(this,x);\ncase 2:\nreturn G__30774__2.call(this,x,y);\ndefault:\nvar G__30782 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__30783__i \x3d 0, G__30783__a \x3d new Array(arguments.length -  2);\nwhile (G__30783__i \x3c G__30783__a.length) {G__30783__a[G__30783__i] \x3d arguments[G__30783__i + 2]; ++G__30783__i;}\nG__30782 \x3d new cljs.core.IndexedSeq(G__30783__a,0,null);\n}\nreturn G__30774__3.cljs$core$IFn$_invoke$arity$variadic(x,y, G__30782);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30774.cljs$lang$maxFixedArity \x3d 2;\nG__30774.cljs$lang$applyTo \x3d G__30774__3.cljs$lang$applyTo;\nG__30774.cljs$core$IFn$_invoke$arity$0 \x3d G__30774__0;\nG__30774.cljs$core$IFn$_invoke$arity$1 \x3d G__30774__1;\nG__30774.cljs$core$IFn$_invoke$arity$2 \x3d G__30774__2;\nG__30774.cljs$core$IFn$_invoke$arity$variadic \x3d G__30774__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30774;\n})()\n});\n/**\n * Returns a function that takes any number of arguments and returns x.\n */\ncljs.core.constantly \x3d (function cljs$core$constantly(x){\nreturn (function() { \nvar G__30784__delegate \x3d function (args){\nreturn x;\n};\nvar G__30784 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30785__i \x3d 0, G__30785__a \x3d new Array(arguments.length -  0);\nwhile (G__30785__i \x3c G__30785__a.length) {G__30785__a[G__30785__i] \x3d arguments[G__30785__i + 0]; ++G__30785__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30785__a,0,null);\n} \nreturn G__30784__delegate.call(this,args);};\nG__30784.cljs$lang$maxFixedArity \x3d 0;\nG__30784.cljs$lang$applyTo \x3d (function (arglist__30786){\nvar args \x3d cljs.core.seq(arglist__30786);\nreturn G__30784__delegate(args);\n});\nG__30784.cljs$core$IFn$_invoke$arity$variadic \x3d G__30784__delegate;\nreturn G__30784;\n})()\n;\n});\n/**\n * Takes a set of functions and returns a fn that is the composition\n *   of those fns.  The returned fn takes a variable number of args,\n *   applies the rightmost of fns to the args, the next\n *   fn (right-to-left) to the result, etc.\n */\ncljs.core.comp \x3d (function cljs$core$comp(var_args){\nvar G__27430 \x3d arguments.length;\nswitch (G__27430) {\ncase 0:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30795 \x3d arguments.length;\nvar i__5750__auto___30796 \x3d (0);\nwhile(true){\nif((i__5750__auto___30796 \x3c len__5749__auto___30795)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30796]));\n\nvar G__30797 \x3d (i__5750__auto___30796 + (1));\ni__5750__auto___30796 \x3d G__30797;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.identity;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__30798 \x3d null;\nvar G__30798__0 \x3d (function (){\nvar G__27431 \x3d (g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27431) : f.call(null,G__27431));\n});\nvar G__30798__1 \x3d (function (x){\nvar G__27432 \x3d (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27432) : f.call(null,G__27432));\n});\nvar G__30798__2 \x3d (function (x,y){\nvar G__27433 \x3d (g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27433) : f.call(null,G__27433));\n});\nvar G__30798__3 \x3d (function (x,y,z){\nvar G__27434 \x3d (g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27434) : f.call(null,G__27434));\n});\nvar G__30798__4 \x3d (function() { \nvar G__30802__delegate \x3d function (x,y,z,args){\nvar G__27435 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27435) : f.call(null,G__27435));\n};\nvar G__30802 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30803__i \x3d 0, G__30803__a \x3d new Array(arguments.length -  3);\nwhile (G__30803__i \x3c G__30803__a.length) {G__30803__a[G__30803__i] \x3d arguments[G__30803__i + 3]; ++G__30803__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30803__a,0,null);\n} \nreturn G__30802__delegate.call(this,x,y,z,args);};\nG__30802.cljs$lang$maxFixedArity \x3d 3;\nG__30802.cljs$lang$applyTo \x3d (function (arglist__30804){\nvar x \x3d cljs.core.first(arglist__30804);\narglist__30804 \x3d cljs.core.next(arglist__30804);\nvar y \x3d cljs.core.first(arglist__30804);\narglist__30804 \x3d cljs.core.next(arglist__30804);\nvar z \x3d cljs.core.first(arglist__30804);\nvar args \x3d cljs.core.rest(arglist__30804);\nreturn G__30802__delegate(x,y,z,args);\n});\nG__30802.cljs$core$IFn$_invoke$arity$variadic \x3d G__30802__delegate;\nreturn G__30802;\n})()\n;\nG__30798 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30798__0.call(this);\ncase 1:\nreturn G__30798__1.call(this,x);\ncase 2:\nreturn G__30798__2.call(this,x,y);\ncase 3:\nreturn G__30798__3.call(this,x,y,z);\ndefault:\nvar G__30805 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30806__i \x3d 0, G__30806__a \x3d new Array(arguments.length -  3);\nwhile (G__30806__i \x3c G__30806__a.length) {G__30806__a[G__30806__i] \x3d arguments[G__30806__i + 3]; ++G__30806__i;}\nG__30805 \x3d new cljs.core.IndexedSeq(G__30806__a,0,null);\n}\nreturn G__30798__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30805);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30798.cljs$lang$maxFixedArity \x3d 3;\nG__30798.cljs$lang$applyTo \x3d G__30798__4.cljs$lang$applyTo;\nG__30798.cljs$core$IFn$_invoke$arity$0 \x3d G__30798__0;\nG__30798.cljs$core$IFn$_invoke$arity$1 \x3d G__30798__1;\nG__30798.cljs$core$IFn$_invoke$arity$2 \x3d G__30798__2;\nG__30798.cljs$core$IFn$_invoke$arity$3 \x3d G__30798__3;\nG__30798.cljs$core$IFn$_invoke$arity$variadic \x3d G__30798__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30798;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__30807 \x3d null;\nvar G__30807__0 \x3d (function (){\nvar G__27436 \x3d (function (){var G__27437 \x3d (h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27437) : g.call(null,G__27437));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27436) : f.call(null,G__27436));\n});\nvar G__30807__1 \x3d (function (x){\nvar G__27438 \x3d (function (){var G__27439 \x3d (h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27439) : g.call(null,G__27439));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27438) : f.call(null,G__27438));\n});\nvar G__30807__2 \x3d (function (x,y){\nvar G__27440 \x3d (function (){var G__27441 \x3d (h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27441) : g.call(null,G__27441));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27440) : f.call(null,G__27440));\n});\nvar G__30807__3 \x3d (function (x,y,z){\nvar G__27442 \x3d (function (){var G__27443 \x3d (h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27443) : g.call(null,G__27443));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27442) : f.call(null,G__27442));\n});\nvar G__30807__4 \x3d (function() { \nvar G__30808__delegate \x3d function (x,y,z,args){\nvar G__27444 \x3d (function (){var G__27445 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args);\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27445) : g.call(null,G__27445));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27444) : f.call(null,G__27444));\n};\nvar G__30808 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30809__i \x3d 0, G__30809__a \x3d new Array(arguments.length -  3);\nwhile (G__30809__i \x3c G__30809__a.length) {G__30809__a[G__30809__i] \x3d arguments[G__30809__i + 3]; ++G__30809__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30809__a,0,null);\n} \nreturn G__30808__delegate.call(this,x,y,z,args);};\nG__30808.cljs$lang$maxFixedArity \x3d 3;\nG__30808.cljs$lang$applyTo \x3d (function (arglist__30810){\nvar x \x3d cljs.core.first(arglist__30810);\narglist__30810 \x3d cljs.core.next(arglist__30810);\nvar y \x3d cljs.core.first(arglist__30810);\narglist__30810 \x3d cljs.core.next(arglist__30810);\nvar z \x3d cljs.core.first(arglist__30810);\nvar args \x3d cljs.core.rest(arglist__30810);\nreturn G__30808__delegate(x,y,z,args);\n});\nG__30808.cljs$core$IFn$_invoke$arity$variadic \x3d G__30808__delegate;\nreturn G__30808;\n})()\n;\nG__30807 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30807__0.call(this);\ncase 1:\nreturn G__30807__1.call(this,x);\ncase 2:\nreturn G__30807__2.call(this,x,y);\ncase 3:\nreturn G__30807__3.call(this,x,y,z);\ndefault:\nvar G__30811 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30812__i \x3d 0, G__30812__a \x3d new Array(arguments.length -  3);\nwhile (G__30812__i \x3c G__30812__a.length) {G__30812__a[G__30812__i] \x3d arguments[G__30812__i + 3]; ++G__30812__i;}\nG__30811 \x3d new cljs.core.IndexedSeq(G__30812__a,0,null);\n}\nreturn G__30807__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30811);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30807.cljs$lang$maxFixedArity \x3d 3;\nG__30807.cljs$lang$applyTo \x3d G__30807__4.cljs$lang$applyTo;\nG__30807.cljs$core$IFn$_invoke$arity$0 \x3d G__30807__0;\nG__30807.cljs$core$IFn$_invoke$arity$1 \x3d G__30807__1;\nG__30807.cljs$core$IFn$_invoke$arity$2 \x3d G__30807__2;\nG__30807.cljs$core$IFn$_invoke$arity$3 \x3d G__30807__3;\nG__30807.cljs$core$IFn$_invoke$arity$variadic \x3d G__30807__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30807;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f1,f2,f3,fs){\nvar fs__$1 \x3d cljs.core.reverse(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f1,f2,f3,fs));\nreturn (function() { \nvar G__30813__delegate \x3d function (args){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fs__$1),args);\nvar fs__$2 \x3d cljs.core.next(fs__$1);\nwhile(true){\nif(fs__$2){\nvar G__30814 \x3d (function (){var fexpr__27446 \x3d cljs.core.first(fs__$2);\nreturn (fexpr__27446.cljs$core$IFn$_invoke$arity$1 ? fexpr__27446.cljs$core$IFn$_invoke$arity$1(ret) : fexpr__27446.call(null,ret));\n})();\nvar G__30815 \x3d cljs.core.next(fs__$2);\nret \x3d G__30814;\nfs__$2 \x3d G__30815;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n};\nvar G__30813 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30816__i \x3d 0, G__30816__a \x3d new Array(arguments.length -  0);\nwhile (G__30816__i \x3c G__30816__a.length) {G__30816__a[G__30816__i] \x3d arguments[G__30816__i + 0]; ++G__30816__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30816__a,0,null);\n} \nreturn G__30813__delegate.call(this,args);};\nG__30813.cljs$lang$maxFixedArity \x3d 0;\nG__30813.cljs$lang$applyTo \x3d (function (arglist__30817){\nvar args \x3d cljs.core.seq(arglist__30817);\nreturn G__30813__delegate(args);\n});\nG__30813.cljs$core$IFn$_invoke$arity$variadic \x3d G__30813__delegate;\nreturn G__30813;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.comp.cljs$lang$applyTo \x3d (function (seq27426){\nvar G__27427 \x3d cljs.core.first(seq27426);\nvar seq27426__$1 \x3d cljs.core.next(seq27426);\nvar G__27428 \x3d cljs.core.first(seq27426__$1);\nvar seq27426__$2 \x3d cljs.core.next(seq27426__$1);\nvar G__27429 \x3d cljs.core.first(seq27426__$2);\nvar seq27426__$3 \x3d cljs.core.next(seq27426__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27427,G__27428,G__27429,seq27426__$3);\n}));\n\n(cljs.core.comp.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a function f and fewer than the normal arguments to f, and\n *   returns a fn that takes a variable number of additional args. When\n *   called, the returned function calls f with args + additional args.\n */\ncljs.core.partial \x3d (function cljs$core$partial(var_args){\nvar G__27453 \x3d arguments.length;\nswitch (G__27453) {\ncase 1:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30828 \x3d arguments.length;\nvar i__5750__auto___30829 \x3d (0);\nwhile(true){\nif((i__5750__auto___30829 \x3c len__5749__auto___30828)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30829]));\n\nvar G__30830 \x3d (i__5750__auto___30829 + (1));\ni__5750__auto___30829 \x3d G__30830;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,arg1){\nreturn (function() {\nvar G__30835 \x3d null;\nvar G__30835__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg1) : f.call(null,arg1));\n});\nvar G__30835__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,x) : f.call(null,arg1,x));\n});\nvar G__30835__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,x,y) : f.call(null,arg1,x,y));\n});\nvar G__30835__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,x,y,z) : f.call(null,arg1,x,y,z));\n});\nvar G__30835__4 \x3d (function() { \nvar G__30836__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));\n};\nvar G__30836 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30837__i \x3d 0, G__30837__a \x3d new Array(arguments.length -  3);\nwhile (G__30837__i \x3c G__30837__a.length) {G__30837__a[G__30837__i] \x3d arguments[G__30837__i + 3]; ++G__30837__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30837__a,0,null);\n} \nreturn G__30836__delegate.call(this,x,y,z,args);};\nG__30836.cljs$lang$maxFixedArity \x3d 3;\nG__30836.cljs$lang$applyTo \x3d (function (arglist__30838){\nvar x \x3d cljs.core.first(arglist__30838);\narglist__30838 \x3d cljs.core.next(arglist__30838);\nvar y \x3d cljs.core.first(arglist__30838);\narglist__30838 \x3d cljs.core.next(arglist__30838);\nvar z \x3d cljs.core.first(arglist__30838);\nvar args \x3d cljs.core.rest(arglist__30838);\nreturn G__30836__delegate(x,y,z,args);\n});\nG__30836.cljs$core$IFn$_invoke$arity$variadic \x3d G__30836__delegate;\nreturn G__30836;\n})()\n;\nG__30835 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30835__0.call(this);\ncase 1:\nreturn G__30835__1.call(this,x);\ncase 2:\nreturn G__30835__2.call(this,x,y);\ncase 3:\nreturn G__30835__3.call(this,x,y,z);\ndefault:\nvar G__30839 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30840__i \x3d 0, G__30840__a \x3d new Array(arguments.length -  3);\nwhile (G__30840__i \x3c G__30840__a.length) {G__30840__a[G__30840__i] \x3d arguments[G__30840__i + 3]; ++G__30840__i;}\nG__30839 \x3d new cljs.core.IndexedSeq(G__30840__a,0,null);\n}\nreturn G__30835__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30839);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30835.cljs$lang$maxFixedArity \x3d 3;\nG__30835.cljs$lang$applyTo \x3d G__30835__4.cljs$lang$applyTo;\nG__30835.cljs$core$IFn$_invoke$arity$0 \x3d G__30835__0;\nG__30835.cljs$core$IFn$_invoke$arity$1 \x3d G__30835__1;\nG__30835.cljs$core$IFn$_invoke$arity$2 \x3d G__30835__2;\nG__30835.cljs$core$IFn$_invoke$arity$3 \x3d G__30835__3;\nG__30835.cljs$core$IFn$_invoke$arity$variadic \x3d G__30835__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30835;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,arg1,arg2){\nreturn (function() {\nvar G__30841 \x3d null;\nvar G__30841__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,arg2) : f.call(null,arg1,arg2));\n});\nvar G__30841__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,x) : f.call(null,arg1,arg2,x));\n});\nvar G__30841__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,x,y) : f.call(null,arg1,arg2,x,y));\n});\nvar G__30841__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,x,y,z) : f.call(null,arg1,arg2,x,y,z));\n});\nvar G__30841__4 \x3d (function() { \nvar G__30842__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,x,y,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([z,args], 0));\n};\nvar G__30842 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30843__i \x3d 0, G__30843__a \x3d new Array(arguments.length -  3);\nwhile (G__30843__i \x3c G__30843__a.length) {G__30843__a[G__30843__i] \x3d arguments[G__30843__i + 3]; ++G__30843__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30843__a,0,null);\n} \nreturn G__30842__delegate.call(this,x,y,z,args);};\nG__30842.cljs$lang$maxFixedArity \x3d 3;\nG__30842.cljs$lang$applyTo \x3d (function (arglist__30844){\nvar x \x3d cljs.core.first(arglist__30844);\narglist__30844 \x3d cljs.core.next(arglist__30844);\nvar y \x3d cljs.core.first(arglist__30844);\narglist__30844 \x3d cljs.core.next(arglist__30844);\nvar z \x3d cljs.core.first(arglist__30844);\nvar args \x3d cljs.core.rest(arglist__30844);\nreturn G__30842__delegate(x,y,z,args);\n});\nG__30842.cljs$core$IFn$_invoke$arity$variadic \x3d G__30842__delegate;\nreturn G__30842;\n})()\n;\nG__30841 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30841__0.call(this);\ncase 1:\nreturn G__30841__1.call(this,x);\ncase 2:\nreturn G__30841__2.call(this,x,y);\ncase 3:\nreturn G__30841__3.call(this,x,y,z);\ndefault:\nvar G__30845 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30846__i \x3d 0, G__30846__a \x3d new Array(arguments.length -  3);\nwhile (G__30846__i \x3c G__30846__a.length) {G__30846__a[G__30846__i] \x3d arguments[G__30846__i + 3]; ++G__30846__i;}\nG__30845 \x3d new cljs.core.IndexedSeq(G__30846__a,0,null);\n}\nreturn G__30841__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30845);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30841.cljs$lang$maxFixedArity \x3d 3;\nG__30841.cljs$lang$applyTo \x3d G__30841__4.cljs$lang$applyTo;\nG__30841.cljs$core$IFn$_invoke$arity$0 \x3d G__30841__0;\nG__30841.cljs$core$IFn$_invoke$arity$1 \x3d G__30841__1;\nG__30841.cljs$core$IFn$_invoke$arity$2 \x3d G__30841__2;\nG__30841.cljs$core$IFn$_invoke$arity$3 \x3d G__30841__3;\nG__30841.cljs$core$IFn$_invoke$arity$variadic \x3d G__30841__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30841;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,arg1,arg2,arg3){\nreturn (function() {\nvar G__30847 \x3d null;\nvar G__30847__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,arg3) : f.call(null,arg1,arg2,arg3));\n});\nvar G__30847__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,arg3,x) : f.call(null,arg1,arg2,arg3,x));\n});\nvar G__30847__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,arg3,x,y) : f.call(null,arg1,arg2,arg3,x,y));\n});\nvar G__30847__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(arg1,arg2,arg3,x,y,z) : f.call(null,arg1,arg2,arg3,x,y,z));\n});\nvar G__30847__4 \x3d (function() { \nvar G__30848__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,arg3,x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([y,z,args], 0));\n};\nvar G__30848 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30849__i \x3d 0, G__30849__a \x3d new Array(arguments.length -  3);\nwhile (G__30849__i \x3c G__30849__a.length) {G__30849__a[G__30849__i] \x3d arguments[G__30849__i + 3]; ++G__30849__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30849__a,0,null);\n} \nreturn G__30848__delegate.call(this,x,y,z,args);};\nG__30848.cljs$lang$maxFixedArity \x3d 3;\nG__30848.cljs$lang$applyTo \x3d (function (arglist__30850){\nvar x \x3d cljs.core.first(arglist__30850);\narglist__30850 \x3d cljs.core.next(arglist__30850);\nvar y \x3d cljs.core.first(arglist__30850);\narglist__30850 \x3d cljs.core.next(arglist__30850);\nvar z \x3d cljs.core.first(arglist__30850);\nvar args \x3d cljs.core.rest(arglist__30850);\nreturn G__30848__delegate(x,y,z,args);\n});\nG__30848.cljs$core$IFn$_invoke$arity$variadic \x3d G__30848__delegate;\nreturn G__30848;\n})()\n;\nG__30847 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30847__0.call(this);\ncase 1:\nreturn G__30847__1.call(this,x);\ncase 2:\nreturn G__30847__2.call(this,x,y);\ncase 3:\nreturn G__30847__3.call(this,x,y,z);\ndefault:\nvar G__30851 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30852__i \x3d 0, G__30852__a \x3d new Array(arguments.length -  3);\nwhile (G__30852__i \x3c G__30852__a.length) {G__30852__a[G__30852__i] \x3d arguments[G__30852__i + 3]; ++G__30852__i;}\nG__30851 \x3d new cljs.core.IndexedSeq(G__30852__a,0,null);\n}\nreturn G__30847__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30851);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30847.cljs$lang$maxFixedArity \x3d 3;\nG__30847.cljs$lang$applyTo \x3d G__30847__4.cljs$lang$applyTo;\nG__30847.cljs$core$IFn$_invoke$arity$0 \x3d G__30847__0;\nG__30847.cljs$core$IFn$_invoke$arity$1 \x3d G__30847__1;\nG__30847.cljs$core$IFn$_invoke$arity$2 \x3d G__30847__2;\nG__30847.cljs$core$IFn$_invoke$arity$3 \x3d G__30847__3;\nG__30847.cljs$core$IFn$_invoke$arity$variadic \x3d G__30847__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30847;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,arg1,arg2,arg3,more){\nreturn (function() { \nvar G__30853__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,arg1,arg2,arg3,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(more,args));\n};\nvar G__30853 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30854__i \x3d 0, G__30854__a \x3d new Array(arguments.length -  0);\nwhile (G__30854__i \x3c G__30854__a.length) {G__30854__a[G__30854__i] \x3d arguments[G__30854__i + 0]; ++G__30854__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30854__a,0,null);\n} \nreturn G__30853__delegate.call(this,args);};\nG__30853.cljs$lang$maxFixedArity \x3d 0;\nG__30853.cljs$lang$applyTo \x3d (function (arglist__30855){\nvar args \x3d cljs.core.seq(arglist__30855);\nreturn G__30853__delegate(args);\n});\nG__30853.cljs$core$IFn$_invoke$arity$variadic \x3d G__30853__delegate;\nreturn G__30853;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.partial.cljs$lang$applyTo \x3d (function (seq27448){\nvar G__27449 \x3d cljs.core.first(seq27448);\nvar seq27448__$1 \x3d cljs.core.next(seq27448);\nvar G__27450 \x3d cljs.core.first(seq27448__$1);\nvar seq27448__$2 \x3d cljs.core.next(seq27448__$1);\nvar G__27451 \x3d cljs.core.first(seq27448__$2);\nvar seq27448__$3 \x3d cljs.core.next(seq27448__$2);\nvar G__27452 \x3d cljs.core.first(seq27448__$3);\nvar seq27448__$4 \x3d cljs.core.next(seq27448__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27449,G__27450,G__27451,G__27452,seq27448__$4);\n}));\n\n(cljs.core.partial.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Takes a function f, and returns a function that calls f, replacing\n *   a nil first argument to f with the supplied value x. Higher arity\n *   versions can replace arguments in the second and third\n *   positions (y, z). Note that the function f can take any number of\n *   arguments, not just the one(s) being nil-patched.\n */\ncljs.core.fnil \x3d (function cljs$core$fnil(var_args){\nvar G__27455 \x3d arguments.length;\nswitch (G__27455) {\ncase 2:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,x){\nreturn (function() {\nvar G__30857 \x3d null;\nvar G__30857__1 \x3d (function (a){\nvar G__27456 \x3d (((a \x3d\x3d null))?x:a);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27456) : f.call(null,G__27456));\n});\nvar G__30857__2 \x3d (function (a,b){\nvar G__27457 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27458 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27457,G__27458) : f.call(null,G__27457,G__27458));\n});\nvar G__30857__3 \x3d (function (a,b,c){\nvar G__27459 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27460 \x3d b;\nvar G__27461 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27459,G__27460,G__27461) : f.call(null,G__27459,G__27460,G__27461));\n});\nvar G__30857__4 \x3d (function() { \nvar G__30858__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),b,c,ds);\n};\nvar G__30858 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30859__i \x3d 0, G__30859__a \x3d new Array(arguments.length -  3);\nwhile (G__30859__i \x3c G__30859__a.length) {G__30859__a[G__30859__i] \x3d arguments[G__30859__i + 3]; ++G__30859__i;}\n  ds \x3d new cljs.core.IndexedSeq(G__30859__a,0,null);\n} \nreturn G__30858__delegate.call(this,a,b,c,ds);};\nG__30858.cljs$lang$maxFixedArity \x3d 3;\nG__30858.cljs$lang$applyTo \x3d (function (arglist__30860){\nvar a \x3d cljs.core.first(arglist__30860);\narglist__30860 \x3d cljs.core.next(arglist__30860);\nvar b \x3d cljs.core.first(arglist__30860);\narglist__30860 \x3d cljs.core.next(arglist__30860);\nvar c \x3d cljs.core.first(arglist__30860);\nvar ds \x3d cljs.core.rest(arglist__30860);\nreturn G__30858__delegate(a,b,c,ds);\n});\nG__30858.cljs$core$IFn$_invoke$arity$variadic \x3d G__30858__delegate;\nreturn G__30858;\n})()\n;\nG__30857 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 1:\nreturn G__30857__1.call(this,a);\ncase 2:\nreturn G__30857__2.call(this,a,b);\ncase 3:\nreturn G__30857__3.call(this,a,b,c);\ndefault:\nvar G__30861 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30862__i \x3d 0, G__30862__a \x3d new Array(arguments.length -  3);\nwhile (G__30862__i \x3c G__30862__a.length) {G__30862__a[G__30862__i] \x3d arguments[G__30862__i + 3]; ++G__30862__i;}\nG__30861 \x3d new cljs.core.IndexedSeq(G__30862__a,0,null);\n}\nreturn G__30857__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__30861);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30857.cljs$lang$maxFixedArity \x3d 3;\nG__30857.cljs$lang$applyTo \x3d G__30857__4.cljs$lang$applyTo;\nG__30857.cljs$core$IFn$_invoke$arity$1 \x3d G__30857__1;\nG__30857.cljs$core$IFn$_invoke$arity$2 \x3d G__30857__2;\nG__30857.cljs$core$IFn$_invoke$arity$3 \x3d G__30857__3;\nG__30857.cljs$core$IFn$_invoke$arity$variadic \x3d G__30857__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30857;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,y){\nreturn (function() {\nvar G__30863 \x3d null;\nvar G__30863__2 \x3d (function (a,b){\nvar G__27462 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27463 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27462,G__27463) : f.call(null,G__27462,G__27463));\n});\nvar G__30863__3 \x3d (function (a,b,c){\nvar G__27464 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27465 \x3d (((b \x3d\x3d null))?y:b);\nvar G__27466 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27464,G__27465,G__27466) : f.call(null,G__27464,G__27465,G__27466));\n});\nvar G__30863__4 \x3d (function() { \nvar G__30864__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),c,ds);\n};\nvar G__30864 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30865__i \x3d 0, G__30865__a \x3d new Array(arguments.length -  3);\nwhile (G__30865__i \x3c G__30865__a.length) {G__30865__a[G__30865__i] \x3d arguments[G__30865__i + 3]; ++G__30865__i;}\n  ds \x3d new cljs.core.IndexedSeq(G__30865__a,0,null);\n} \nreturn G__30864__delegate.call(this,a,b,c,ds);};\nG__30864.cljs$lang$maxFixedArity \x3d 3;\nG__30864.cljs$lang$applyTo \x3d (function (arglist__30866){\nvar a \x3d cljs.core.first(arglist__30866);\narglist__30866 \x3d cljs.core.next(arglist__30866);\nvar b \x3d cljs.core.first(arglist__30866);\narglist__30866 \x3d cljs.core.next(arglist__30866);\nvar c \x3d cljs.core.first(arglist__30866);\nvar ds \x3d cljs.core.rest(arglist__30866);\nreturn G__30864__delegate(a,b,c,ds);\n});\nG__30864.cljs$core$IFn$_invoke$arity$variadic \x3d G__30864__delegate;\nreturn G__30864;\n})()\n;\nG__30863 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__30863__2.call(this,a,b);\ncase 3:\nreturn G__30863__3.call(this,a,b,c);\ndefault:\nvar G__30867 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30868__i \x3d 0, G__30868__a \x3d new Array(arguments.length -  3);\nwhile (G__30868__i \x3c G__30868__a.length) {G__30868__a[G__30868__i] \x3d arguments[G__30868__i + 3]; ++G__30868__i;}\nG__30867 \x3d new cljs.core.IndexedSeq(G__30868__a,0,null);\n}\nreturn G__30863__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__30867);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30863.cljs$lang$maxFixedArity \x3d 3;\nG__30863.cljs$lang$applyTo \x3d G__30863__4.cljs$lang$applyTo;\nG__30863.cljs$core$IFn$_invoke$arity$2 \x3d G__30863__2;\nG__30863.cljs$core$IFn$_invoke$arity$3 \x3d G__30863__3;\nG__30863.cljs$core$IFn$_invoke$arity$variadic \x3d G__30863__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30863;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,z){\nreturn (function() {\nvar G__30869 \x3d null;\nvar G__30869__2 \x3d (function (a,b){\nvar G__27467 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27468 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27467,G__27468) : f.call(null,G__27467,G__27468));\n});\nvar G__30869__3 \x3d (function (a,b,c){\nvar G__27469 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27470 \x3d (((b \x3d\x3d null))?y:b);\nvar G__27471 \x3d (((c \x3d\x3d null))?z:c);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27469,G__27470,G__27471) : f.call(null,G__27469,G__27470,G__27471));\n});\nvar G__30869__4 \x3d (function() { \nvar G__30879__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),(((c \x3d\x3d null))?z:c),ds);\n};\nvar G__30879 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30880__i \x3d 0, G__30880__a \x3d new Array(arguments.length -  3);\nwhile (G__30880__i \x3c G__30880__a.length) {G__30880__a[G__30880__i] \x3d arguments[G__30880__i + 3]; ++G__30880__i;}\n  ds \x3d new cljs.core.IndexedSeq(G__30880__a,0,null);\n} \nreturn G__30879__delegate.call(this,a,b,c,ds);};\nG__30879.cljs$lang$maxFixedArity \x3d 3;\nG__30879.cljs$lang$applyTo \x3d (function (arglist__30881){\nvar a \x3d cljs.core.first(arglist__30881);\narglist__30881 \x3d cljs.core.next(arglist__30881);\nvar b \x3d cljs.core.first(arglist__30881);\narglist__30881 \x3d cljs.core.next(arglist__30881);\nvar c \x3d cljs.core.first(arglist__30881);\nvar ds \x3d cljs.core.rest(arglist__30881);\nreturn G__30879__delegate(a,b,c,ds);\n});\nG__30879.cljs$core$IFn$_invoke$arity$variadic \x3d G__30879__delegate;\nreturn G__30879;\n})()\n;\nG__30869 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__30869__2.call(this,a,b);\ncase 3:\nreturn G__30869__3.call(this,a,b,c);\ndefault:\nvar G__30882 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30883__i \x3d 0, G__30883__a \x3d new Array(arguments.length -  3);\nwhile (G__30883__i \x3c G__30883__a.length) {G__30883__a[G__30883__i] \x3d arguments[G__30883__i + 3]; ++G__30883__i;}\nG__30882 \x3d new cljs.core.IndexedSeq(G__30883__a,0,null);\n}\nreturn G__30869__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__30882);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30869.cljs$lang$maxFixedArity \x3d 3;\nG__30869.cljs$lang$applyTo \x3d G__30869__4.cljs$lang$applyTo;\nG__30869.cljs$core$IFn$_invoke$arity$2 \x3d G__30869__2;\nG__30869.cljs$core$IFn$_invoke$arity$3 \x3d G__30869__3;\nG__30869.cljs$core$IFn$_invoke$arity$variadic \x3d G__30869__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30869;\n})()\n}));\n\n(cljs.core.fnil.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to 0\n *   and the first item of coll, followed by applying f to 1 and the second\n *   item in coll, etc, until coll is exhausted. Thus function f should\n *   accept 2 arguments, index and item. Returns a stateful transducer when\n *   no collection is provided.\n */\ncljs.core.map_indexed \x3d (function cljs$core$map_indexed(var_args){\nvar G__27473 \x3d arguments.length;\nswitch (G__27473) {\ncase 1:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar i \x3d (cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1((-1)) : cljs.core.volatile_BANG_.call(null,(-1)));\nreturn (function() {\nvar G__30889 \x3d null;\nvar G__30889__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30889__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30889__2 \x3d (function (result,input){\nvar G__27474 \x3d result;\nvar G__27475 \x3d (function (){var G__27476 \x3d cljs.core._vreset_BANG_(i,(cljs.core._deref(i) + (1)));\nvar G__27477 \x3d input;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27476,G__27477) : f.call(null,G__27476,G__27477));\n})();\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__27474,G__27475) : rf.call(null,G__27474,G__27475));\n});\nG__30889 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30889__0.call(this);\ncase 1:\nreturn G__30889__1.call(this,result);\ncase 2:\nreturn G__30889__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30889.cljs$core$IFn$_invoke$arity$0 \x3d G__30889__0;\nG__30889.cljs$core$IFn$_invoke$arity$1 \x3d G__30889__1;\nG__30889.cljs$core$IFn$_invoke$arity$2 \x3d G__30889__2;\nreturn G__30889;\n})()\n});\n}));\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar mapi \x3d (function cljs$core$mapi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___30890 \x3d size;\nvar i_30891 \x3d (0);\nwhile(true){\nif((i_30891 \x3c n__5616__auto___30890)){\ncljs.core.chunk_append(b,(function (){var G__27482 \x3d (idx + i_30891);\nvar G__27483 \x3d cljs.core._nth(c,i_30891);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27482,G__27483) : f.call(null,G__27482,G__27483));\n})());\n\nvar G__30892 \x3d (i_30891 + (1));\ni_30891 \x3d G__30892;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$mapi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__27484 \x3d idx;\nvar G__27485 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27484,G__27485) : f.call(null,G__27484,G__27485));\n})(),cljs$core$mapi((idx + (1)),cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn mapi((0),coll);\n}));\n\n(cljs.core.map_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the non-nil results of (f item). Note,\n *   this means false return values will be included.  f must be free of\n *   side-effects.  Returns a transducer when no collection is provided.\n */\ncljs.core.keep \x3d (function cljs$core$keep(var_args){\nvar G__27487 \x3d arguments.length;\nswitch (G__27487) {\ncase 1:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__30894 \x3d null;\nvar G__30894__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30894__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30894__2 \x3d (function (result,input){\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__30894 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30894__0.call(this);\ncase 1:\nreturn G__30894__1.call(this,result);\ncase 2:\nreturn G__30894__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30894.cljs$core$IFn$_invoke$arity$0 \x3d G__30894__0;\nG__30894.cljs$core$IFn$_invoke$arity$1 \x3d G__30894__1;\nG__30894.cljs$core$IFn$_invoke$arity$2 \x3d G__30894__2;\nreturn G__30894;\n})()\n});\n}));\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___30904 \x3d size;\nvar i_30905 \x3d (0);\nwhile(true){\nif((i_30905 \x3c n__5616__auto___30904)){\nvar x_30906 \x3d (function (){var G__27488 \x3d cljs.core._nth(c,i_30905);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27488) : f.call(null,G__27488));\n})();\nif((x_30906 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_30906);\n}\n\nvar G__30907 \x3d (i_30905 + (1));\ni_30905 \x3d G__30907;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__27489 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27489) : f.call(null,G__27489));\n})();\nif((x \x3d\x3d null)){\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.keep.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Atom \x3d (function (state,meta,validator,watches){\nthis.state \x3d state;\nthis.meta \x3d meta;\nthis.validator \x3d validator;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 16386;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6455296;\n});\n(cljs.core.Atom.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn (o__$1 \x3d\x3d\x3d other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar seq__27490 \x3d cljs.core.seq(self__.watches);\nvar chunk__27491 \x3d null;\nvar count__27492 \x3d (0);\nvar i__27493 \x3d (0);\nwhile(true){\nif((i__27493 \x3c count__27492)){\nvar vec__27500 \x3d chunk__27491.cljs$core$IIndexed$_nth$arity$2(null,i__27493);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27500,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27500,(1),null);\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));\n\n\nvar G__30908 \x3d seq__27490;\nvar G__30909 \x3d chunk__27491;\nvar G__30910 \x3d count__27492;\nvar G__30911 \x3d (i__27493 + (1));\nseq__27490 \x3d G__30908;\nchunk__27491 \x3d G__30909;\ncount__27492 \x3d G__30910;\ni__27493 \x3d G__30911;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27490);\nif(temp__5804__auto__){\nvar seq__27490__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27490__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__27490__$1);\nvar G__30912 \x3d cljs.core.chunk_rest(seq__27490__$1);\nvar G__30913 \x3d c__5548__auto__;\nvar G__30914 \x3d cljs.core.count(c__5548__auto__);\nvar G__30915 \x3d (0);\nseq__27490 \x3d G__30912;\nchunk__27491 \x3d G__30913;\ncount__27492 \x3d G__30914;\ni__27493 \x3d G__30915;\ncontinue;\n} else {\nvar vec__27503 \x3d cljs.core.first(seq__27490__$1);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27503,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27503,(1),null);\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));\n\n\nvar G__30920 \x3d cljs.core.next(seq__27490__$1);\nvar G__30921 \x3d null;\nvar G__30922 \x3d (0);\nvar G__30923 \x3d (0);\nseq__27490 \x3d G__30920;\nchunk__27491 \x3d G__30921;\ncount__27492 \x3d G__30922;\ni__27493 \x3d G__30923;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\n(this$__$1.watches \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.watches,key,f));\n\nreturn this$__$1;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (this$__$1.watches \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.watches,key));\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.Atom.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22validator\x22,\x22validator\x22,-325659154,null),new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null)], null);\n}));\n\n(cljs.core.Atom.cljs$lang$type \x3d true);\n\n(cljs.core.Atom.cljs$lang$ctorStr \x3d \x22cljs.core/Atom\x22);\n\n(cljs.core.Atom.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Atom\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Atom.\n */\ncljs.core.__GT_Atom \x3d (function cljs$core$__GT_Atom(state,meta,validator,watches){\nreturn (new cljs.core.Atom(state,meta,validator,watches));\n});\n\n/**\n * Creates and returns an Atom with an initial value of x and zero or\n *   more options (in any order):\n * \n *   :meta metadata-map\n * \n *   :validator validate-fn\n * \n *   If metadata-map is supplied, it will become the metadata on the\n *   atom. validate-fn must be nil or a side-effect-free fn of one\n *   argument, which will be passed the intended new state on any state\n *   change. If the new state is unacceptable, the validate-fn should\n *   return false or throw an Error.  If either of these error conditions\n *   occur, then the value of the atom will not change.\n */\ncljs.core.atom \x3d (function cljs$core$atom(var_args){\nvar G__27509 \x3d arguments.length;\nswitch (G__27509) {\ncase 1:\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30925 \x3d arguments.length;\nvar i__5750__auto___30926 \x3d (0);\nwhile(true){\nif((i__5750__auto___30926 \x3c len__5749__auto___30925)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30926]));\n\nvar G__30927 \x3d (i__5750__auto___30926 + (1));\ni__5750__auto___30926 \x3d G__30927;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Atom(x,null,null,null));\n}));\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__27510){\nvar map__27511 \x3d p__27510;\nvar map__27511__$1 \x3d cljs.core.__destructure_map(map__27511);\nvar meta \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27511__$1,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964));\nvar validator \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27511__$1,new cljs.core.Keyword(null,\x22validator\x22,\x22validator\x22,-1966190681));\nreturn (new cljs.core.Atom(x,meta,validator,null));\n}));\n\n/** @this {Function} */\n(cljs.core.atom.cljs$lang$applyTo \x3d (function (seq27507){\nvar G__27508 \x3d cljs.core.first(seq27507);\nvar seq27507__$1 \x3d cljs.core.next(seq27507);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27508,seq27507__$1);\n}));\n\n(cljs.core.atom.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Sets the value of atom to newval without regard for the\n *   current value. Returns new-value.\n */\ncljs.core.reset_BANG_ \x3d (function cljs$core$reset_BANG_(a,new_value){\nif((a instanceof cljs.core.Atom)){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\na.cljs$core$IWatchable$_notify_watches$arity$3(null,old_value,new_value);\n}\n\nreturn new_value;\n} else {\nreturn cljs.core._reset_BANG_(a,new_value);\n}\n});\n/**\n * Sets the value of atom to newval. Returns [old new], the value of the\n * atom before and after the reset.\n */\ncljs.core.reset_vals_BANG_ \x3d (function cljs$core$reset_vals_BANG_(a,new_value){\nif((a instanceof cljs.core.Atom)){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\na.cljs$core$IWatchable$_notify_watches$arity$3(null,old_value,new_value);\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [old_value,new_value], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._reset_BANG_(a,new_value)], null);\n}\n});\n/**\n * Atomically swaps the value of atom to be:\n *   (apply f current-value-of-atom args). Note that f may be called\n *   multiple times, and thus should be free of side effects.  Returns\n *   the value that was swapped in.\n */\ncljs.core.swap_BANG_ \x3d (function cljs$core$swap_BANG_(var_args){\nvar G__27518 \x3d arguments.length;\nswitch (G__27518) {\ncase 2:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30938 \x3d arguments.length;\nvar i__5750__auto___30939 \x3d (0);\nwhile(true){\nif((i__5750__auto___30939 \x3c len__5749__auto___30938)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30939]));\n\nvar G__30940 \x3d (i__5750__auto___30939 + (1));\ni__5750__auto___30939 \x3d G__30940;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__27519 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27519) : f.call(null,G__27519));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__27520 \x3d a.state;\nvar G__27521 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27520,G__27521) : f.call(null,G__27520,G__27521));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__27522 \x3d a.state;\nvar G__27523 \x3d x;\nvar G__27524 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27522,G__27523,G__27524) : f.call(null,G__27522,G__27523,G__27524));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y,more);\n}\n}));\n\n/** @this {Function} */\n(cljs.core.swap_BANG_.cljs$lang$applyTo \x3d (function (seq27513){\nvar G__27514 \x3d cljs.core.first(seq27513);\nvar seq27513__$1 \x3d cljs.core.next(seq27513);\nvar G__27515 \x3d cljs.core.first(seq27513__$1);\nvar seq27513__$2 \x3d cljs.core.next(seq27513__$1);\nvar G__27516 \x3d cljs.core.first(seq27513__$2);\nvar seq27513__$3 \x3d cljs.core.next(seq27513__$2);\nvar G__27517 \x3d cljs.core.first(seq27513__$3);\nvar seq27513__$4 \x3d cljs.core.next(seq27513__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27514,G__27515,G__27516,G__27517,seq27513__$4);\n}));\n\n(cljs.core.swap_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically swaps the value of atom to be:\n *   (apply f current-value-of-atom args). Note that f may be called\n *   multiple times, and thus should be free of side effects.\n *   Returns [old new], the value of the atom before and after the swap.\n */\ncljs.core.swap_vals_BANG_ \x3d (function cljs$core$swap_vals_BANG_(var_args){\nvar G__27531 \x3d arguments.length;\nswitch (G__27531) {\ncase 2:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30946 \x3d arguments.length;\nvar i__5750__auto___30947 \x3d (0);\nwhile(true){\nif((i__5750__auto___30947 \x3c len__5749__auto___30946)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30947]));\n\nvar G__30949 \x3d (i__5750__auto___30947 + (1));\ni__5750__auto___30947 \x3d G__30949;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__27532 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27532) : f.call(null,G__27532));\n})());\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._swap_BANG_(a,f)], null);\n}\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__27533 \x3d a.state;\nvar G__27534 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27533,G__27534) : f.call(null,G__27533,G__27534));\n})());\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._swap_BANG_(a,f,x)], null);\n}\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__27535 \x3d a.state;\nvar G__27536 \x3d x;\nvar G__27537 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27535,G__27536,G__27537) : f.call(null,G__27535,G__27536,G__27537));\n})());\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._swap_BANG_(a,f,x,y)], null);\n}\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_vals_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._swap_BANG_(a,f,x,y,more)], null);\n}\n}));\n\n/** @this {Function} */\n(cljs.core.swap_vals_BANG_.cljs$lang$applyTo \x3d (function (seq27526){\nvar G__27527 \x3d cljs.core.first(seq27526);\nvar seq27526__$1 \x3d cljs.core.next(seq27526);\nvar G__27528 \x3d cljs.core.first(seq27526__$1);\nvar seq27526__$2 \x3d cljs.core.next(seq27526__$1);\nvar G__27529 \x3d cljs.core.first(seq27526__$2);\nvar seq27526__$3 \x3d cljs.core.next(seq27526__$2);\nvar G__27530 \x3d cljs.core.first(seq27526__$3);\nvar seq27526__$4 \x3d cljs.core.next(seq27526__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27527,G__27528,G__27529,G__27530,seq27526__$4);\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically sets the value of atom to newval if and only if the\n *   current value of the atom is equal to oldval. Returns true if\n *   set happened, else false.\n */\ncljs.core.compare_and_set_BANG_ \x3d (function cljs$core$compare_and_set_BANG_(a,oldval,newval){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a.cljs$core$IDeref$_deref$arity$1(null),oldval)){\ncljs.core.reset_BANG_(a,newval);\n\nreturn true;\n} else {\nreturn false;\n}\n});\n/**\n * Sets the validator-fn for an atom. validator-fn must be nil or a\n *   side-effect-free fn of one argument, which will be passed the intended\n *   new state on any state change. If the new state is unacceptable, the\n *   validator-fn should return false or throw an Error. If the current state\n *   is not acceptable to the new validator, an Error will be thrown and the\n *   validator will not be changed.\n */\ncljs.core.set_validator_BANG_ \x3d (function cljs$core$set_validator_BANG_(iref,val){\nif((((!((val \x3d\x3d null)))) \x26\x26 (cljs.core.not((function (){var G__27538 \x3d cljs.core._deref(iref);\nreturn (val.cljs$core$IFn$_invoke$arity$1 ? val.cljs$core$IFn$_invoke$arity$1(G__27538) : val.call(null,G__27538));\n})())))){\nthrow (new Error(\x22Validator rejected reference state\x22));\n} else {\n}\n\nreturn (iref.validator \x3d val);\n});\n/**\n * Gets the validator-fn for a var/ref/agent/atom.\n */\ncljs.core.get_validator \x3d (function cljs$core$get_validator(iref){\nreturn iref.validator;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IVolatile}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Volatile \x3d (function (state){\nthis.state \x3d state;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d (function (_,new_state){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.state \x3d new_state);\n}));\n\n(cljs.core.Volatile.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Volatile.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Volatile.cljs$lang$type \x3d true);\n\n(cljs.core.Volatile.cljs$lang$ctorStr \x3d \x22cljs.core/Volatile\x22);\n\n(cljs.core.Volatile.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Volatile\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Volatile.\n */\ncljs.core.__GT_Volatile \x3d (function cljs$core$__GT_Volatile(state){\nreturn (new cljs.core.Volatile(state));\n});\n\n/**\n * Creates and returns a Volatile with an initial value of val.\n */\ncljs.core.volatile_BANG_ \x3d (function cljs$core$volatile_BANG_(val){\nreturn (new cljs.core.Volatile(val));\n});\n/**\n * Returns true if x is a volatile.\n */\ncljs.core.volatile_QMARK_ \x3d (function cljs$core$volatile_QMARK_(x){\nreturn (x instanceof cljs.core.Volatile);\n});\n/**\n * Sets the value of volatile to newval without regard for the\n * current value. Returns newval.\n */\ncljs.core.vreset_BANG_ \x3d (function cljs$core$vreset_BANG_(vol,newval){\nreturn cljs.core._vreset_BANG_(vol,newval);\n});\n/**\n * Returns a lazy sequence of the non-nil results of (f index item). Note,\n *   this means false return values will be included.  f must be free of\n *   side-effects.  Returns a stateful transducer when no collection is\n *   provided.\n */\ncljs.core.keep_indexed \x3d (function cljs$core$keep_indexed(var_args){\nvar G__27540 \x3d arguments.length;\nswitch (G__27540) {\ncase 1:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__30959 \x3d null;\nvar G__30959__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30959__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30959__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(i,input) : f.call(null,i,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__30959 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30959__0.call(this);\ncase 1:\nreturn G__30959__1.call(this,result);\ncase 2:\nreturn G__30959__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30959.cljs$core$IFn$_invoke$arity$0 \x3d G__30959__0;\nG__30959.cljs$core$IFn$_invoke$arity$1 \x3d G__30959__1;\nG__30959.cljs$core$IFn$_invoke$arity$2 \x3d G__30959__2;\nreturn G__30959;\n})()\n});\n}));\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar keepi \x3d (function cljs$core$keepi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___30964 \x3d size;\nvar i_30965 \x3d (0);\nwhile(true){\nif((i_30965 \x3c n__5616__auto___30964)){\nvar x_30967 \x3d (function (){var G__27545 \x3d (idx + i_30965);\nvar G__27546 \x3d cljs.core._nth(c,i_30965);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27545,G__27546) : f.call(null,G__27545,G__27546));\n})();\nif((x_30967 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_30967);\n}\n\nvar G__30968 \x3d (i_30965 + (1));\ni_30965 \x3d G__30968;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$keepi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__27547 \x3d idx;\nvar G__27548 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27547,G__27548) : f.call(null,G__27547,G__27548));\n})();\nif((x \x3d\x3d null)){\nreturn cljs$core$keepi((idx + (1)),cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs$core$keepi((idx + (1)),cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn keepi((0),coll);\n}));\n\n(cljs.core.keep_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a set of predicates and returns a function f that returns true if all of its\n *   composing predicates return a logical true value against all of its arguments, else it returns\n *   false. Note that f is short-circuiting in that it will stop execution on the first\n *   argument that triggers a logical false result against the original predicates.\n */\ncljs.core.every_pred \x3d (function cljs$core$every_pred(var_args){\nvar G__27560 \x3d arguments.length;\nswitch (G__27560) {\ncase 1:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30970 \x3d arguments.length;\nvar i__5750__auto___30975 \x3d (0);\nwhile(true){\nif((i__5750__auto___30975 \x3c len__5749__auto___30970)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30975]));\n\nvar G__30976 \x3d (i__5750__auto___30975 + (1));\ni__5750__auto___30975 \x3d G__30976;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$ep1 \x3d null;\nvar cljs$core$ep1__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep1__1 \x3d (function (x){\nreturn cljs.core.boolean$((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x)));\n});\nvar cljs$core$ep1__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep1__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep1__4 \x3d (function() { \nvar G__30977__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs$core$ep1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.every_QMARK_(p,args);\n} else {\nreturn and__5023__auto__;\n}\n})());\n};\nvar G__30977 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30978__i \x3d 0, G__30978__a \x3d new Array(arguments.length -  3);\nwhile (G__30978__i \x3c G__30978__a.length) {G__30978__a[G__30978__i] \x3d arguments[G__30978__i + 3]; ++G__30978__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30978__a,0,null);\n} \nreturn G__30977__delegate.call(this,x,y,z,args);};\nG__30977.cljs$lang$maxFixedArity \x3d 3;\nG__30977.cljs$lang$applyTo \x3d (function (arglist__30979){\nvar x \x3d cljs.core.first(arglist__30979);\narglist__30979 \x3d cljs.core.next(arglist__30979);\nvar y \x3d cljs.core.first(arglist__30979);\narglist__30979 \x3d cljs.core.next(arglist__30979);\nvar z \x3d cljs.core.first(arglist__30979);\nvar args \x3d cljs.core.rest(arglist__30979);\nreturn G__30977__delegate(x,y,z,args);\n});\nG__30977.cljs$core$IFn$_invoke$arity$variadic \x3d G__30977__delegate;\nreturn G__30977;\n})()\n;\ncljs$core$ep1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep1__0.call(this);\ncase 1:\nreturn cljs$core$ep1__1.call(this,x);\ncase 2:\nreturn cljs$core$ep1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep1__3.call(this,x,y,z);\ndefault:\nvar G__30980 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30981__i \x3d 0, G__30981__a \x3d new Array(arguments.length -  3);\nwhile (G__30981__i \x3c G__30981__a.length) {G__30981__a[G__30981__i] \x3d arguments[G__30981__i + 3]; ++G__30981__i;}\nG__30980 \x3d new cljs.core.IndexedSeq(G__30981__a,0,null);\n}\nreturn cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30980);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep1.cljs$lang$applyTo \x3d cljs$core$ep1__4.cljs$lang$applyTo;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep1__0;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep1__1;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep1__2;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep1__3;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep1;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$ep2 \x3d null;\nvar cljs$core$ep2__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep2__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep2__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep2__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5023__auto____$2)){\nvar and__5023__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$3)){\nvar and__5023__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$4)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n} else {\nreturn and__5023__auto____$4;\n}\n} else {\nreturn and__5023__auto____$3;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep2__4 \x3d (function() { \nvar G__30986__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs$core$ep2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__27549_SHARP_){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__27549_SHARP_) : p1.call(null,p1__27549_SHARP_));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__27549_SHARP_) : p2.call(null,p1__27549_SHARP_));\n} else {\nreturn and__5023__auto____$1;\n}\n}),args);\n} else {\nreturn and__5023__auto__;\n}\n})());\n};\nvar G__30986 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30987__i \x3d 0, G__30987__a \x3d new Array(arguments.length -  3);\nwhile (G__30987__i \x3c G__30987__a.length) {G__30987__a[G__30987__i] \x3d arguments[G__30987__i + 3]; ++G__30987__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30987__a,0,null);\n} \nreturn G__30986__delegate.call(this,x,y,z,args);};\nG__30986.cljs$lang$maxFixedArity \x3d 3;\nG__30986.cljs$lang$applyTo \x3d (function (arglist__30988){\nvar x \x3d cljs.core.first(arglist__30988);\narglist__30988 \x3d cljs.core.next(arglist__30988);\nvar y \x3d cljs.core.first(arglist__30988);\narglist__30988 \x3d cljs.core.next(arglist__30988);\nvar z \x3d cljs.core.first(arglist__30988);\nvar args \x3d cljs.core.rest(arglist__30988);\nreturn G__30986__delegate(x,y,z,args);\n});\nG__30986.cljs$core$IFn$_invoke$arity$variadic \x3d G__30986__delegate;\nreturn G__30986;\n})()\n;\ncljs$core$ep2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep2__0.call(this);\ncase 1:\nreturn cljs$core$ep2__1.call(this,x);\ncase 2:\nreturn cljs$core$ep2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep2__3.call(this,x,y,z);\ndefault:\nvar G__30989 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30990__i \x3d 0, G__30990__a \x3d new Array(arguments.length -  3);\nwhile (G__30990__i \x3c G__30990__a.length) {G__30990__a[G__30990__i] \x3d arguments[G__30990__i + 3]; ++G__30990__i;}\nG__30989 \x3d new cljs.core.IndexedSeq(G__30990__a,0,null);\n}\nreturn cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30989);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep2.cljs$lang$applyTo \x3d cljs$core$ep2__4.cljs$lang$applyTo;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep2__0;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep2__1;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep2__2;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep2__3;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep2;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$ep3 \x3d null;\nvar cljs$core$ep3__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep3__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep3__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$2)){\nvar and__5023__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$3)){\nvar and__5023__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$4)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n} else {\nreturn and__5023__auto____$4;\n}\n} else {\nreturn and__5023__auto____$3;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep3__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5023__auto____$2)){\nvar and__5023__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$3)){\nvar and__5023__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$4)){\nvar and__5023__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(and__5023__auto____$5)){\nvar and__5023__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$6)){\nvar and__5023__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$7)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n} else {\nreturn and__5023__auto____$7;\n}\n} else {\nreturn and__5023__auto____$6;\n}\n} else {\nreturn and__5023__auto____$5;\n}\n} else {\nreturn and__5023__auto____$4;\n}\n} else {\nreturn and__5023__auto____$3;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep3__4 \x3d (function() { \nvar G__30991__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs$core$ep3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__27550_SHARP_){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__27550_SHARP_) : p1.call(null,p1__27550_SHARP_));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__27550_SHARP_) : p2.call(null,p1__27550_SHARP_));\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__27550_SHARP_) : p3.call(null,p1__27550_SHARP_));\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n}),args);\n} else {\nreturn and__5023__auto__;\n}\n})());\n};\nvar G__30991 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30993__i \x3d 0, G__30993__a \x3d new Array(arguments.length -  3);\nwhile (G__30993__i \x3c G__30993__a.length) {G__30993__a[G__30993__i] \x3d arguments[G__30993__i + 3]; ++G__30993__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30993__a,0,null);\n} \nreturn G__30991__delegate.call(this,x,y,z,args);};\nG__30991.cljs$lang$maxFixedArity \x3d 3;\nG__30991.cljs$lang$applyTo \x3d (function (arglist__30994){\nvar x \x3d cljs.core.first(arglist__30994);\narglist__30994 \x3d cljs.core.next(arglist__30994);\nvar y \x3d cljs.core.first(arglist__30994);\narglist__30994 \x3d cljs.core.next(arglist__30994);\nvar z \x3d cljs.core.first(arglist__30994);\nvar args \x3d cljs.core.rest(arglist__30994);\nreturn G__30991__delegate(x,y,z,args);\n});\nG__30991.cljs$core$IFn$_invoke$arity$variadic \x3d G__30991__delegate;\nreturn G__30991;\n})()\n;\ncljs$core$ep3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep3__0.call(this);\ncase 1:\nreturn cljs$core$ep3__1.call(this,x);\ncase 2:\nreturn cljs$core$ep3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep3__3.call(this,x,y,z);\ndefault:\nvar G__30995 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30996__i \x3d 0, G__30996__a \x3d new Array(arguments.length -  3);\nwhile (G__30996__i \x3c G__30996__a.length) {G__30996__a[G__30996__i] \x3d arguments[G__30996__i + 3]; ++G__30996__i;}\nG__30995 \x3d new cljs.core.IndexedSeq(G__30996__a,0,null);\n}\nreturn cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30995);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep3.cljs$lang$applyTo \x3d cljs$core$ep3__4.cljs$lang$applyTo;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep3__0;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep3__1;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep3__2;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep3__3;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep3;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$epn \x3d null;\nvar cljs$core$epn__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$epn__1 \x3d (function (x){\nreturn cljs.core.every_QMARK_((function (p1__27551_SHARP_){\nreturn (p1__27551_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27551_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27551_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$epn__2 \x3d (function (x,y){\nreturn cljs.core.every_QMARK_((function (p1__27552_SHARP_){\nvar and__5023__auto__ \x3d (p1__27552_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27552_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27552_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (p1__27552_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27552_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__27552_SHARP_.call(null,y));\n} else {\nreturn and__5023__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__3 \x3d (function (x,y,z){\nreturn cljs.core.every_QMARK_((function (p1__27553_SHARP_){\nvar and__5023__auto__ \x3d (p1__27553_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27553_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27553_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1__27553_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27553_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__27553_SHARP_.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (p1__27553_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27553_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__27553_SHARP_.call(null,z));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__4 \x3d (function() { \nvar G__30997__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs$core$epn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__27554_SHARP_){\nreturn cljs.core.every_QMARK_(p1__27554_SHARP_,args);\n}),ps__$1);\n} else {\nreturn and__5023__auto__;\n}\n})());\n};\nvar G__30997 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30998__i \x3d 0, G__30998__a \x3d new Array(arguments.length -  3);\nwhile (G__30998__i \x3c G__30998__a.length) {G__30998__a[G__30998__i] \x3d arguments[G__30998__i + 3]; ++G__30998__i;}\n  args \x3d new cljs.core.IndexedSeq(G__30998__a,0,null);\n} \nreturn G__30997__delegate.call(this,x,y,z,args);};\nG__30997.cljs$lang$maxFixedArity \x3d 3;\nG__30997.cljs$lang$applyTo \x3d (function (arglist__30999){\nvar x \x3d cljs.core.first(arglist__30999);\narglist__30999 \x3d cljs.core.next(arglist__30999);\nvar y \x3d cljs.core.first(arglist__30999);\narglist__30999 \x3d cljs.core.next(arglist__30999);\nvar z \x3d cljs.core.first(arglist__30999);\nvar args \x3d cljs.core.rest(arglist__30999);\nreturn G__30997__delegate(x,y,z,args);\n});\nG__30997.cljs$core$IFn$_invoke$arity$variadic \x3d G__30997__delegate;\nreturn G__30997;\n})()\n;\ncljs$core$epn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$epn__0.call(this);\ncase 1:\nreturn cljs$core$epn__1.call(this,x);\ncase 2:\nreturn cljs$core$epn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$epn__3.call(this,x,y,z);\ndefault:\nvar G__31000 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31001__i \x3d 0, G__31001__a \x3d new Array(arguments.length -  3);\nwhile (G__31001__i \x3c G__31001__a.length) {G__31001__a[G__31001__i] \x3d arguments[G__31001__i + 3]; ++G__31001__i;}\nG__31000 \x3d new cljs.core.IndexedSeq(G__31001__a,0,null);\n}\nreturn cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__31000);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$epn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$epn.cljs$lang$applyTo \x3d cljs$core$epn__4.cljs$lang$applyTo;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$epn__0;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$epn__1;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$epn__2;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$epn__3;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$epn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.every_pred.cljs$lang$applyTo \x3d (function (seq27556){\nvar G__27557 \x3d cljs.core.first(seq27556);\nvar seq27556__$1 \x3d cljs.core.next(seq27556);\nvar G__27558 \x3d cljs.core.first(seq27556__$1);\nvar seq27556__$2 \x3d cljs.core.next(seq27556__$1);\nvar G__27559 \x3d cljs.core.first(seq27556__$2);\nvar seq27556__$3 \x3d cljs.core.next(seq27556__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27557,G__27558,G__27559,seq27556__$3);\n}));\n\n(cljs.core.every_pred.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a set of predicates and returns a function f that returns the first logical true value\n *   returned by one of its composing predicates against any of its arguments, else it returns\n *   logical false. Note that f is short-circuiting in that it will stop execution on the first\n *   argument that triggers a logical true result against the original predicates.\n */\ncljs.core.some_fn \x3d (function cljs$core$some_fn(var_args){\nvar G__27572 \x3d arguments.length;\nswitch (G__27572) {\ncase 1:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31007 \x3d arguments.length;\nvar i__5750__auto___31008 \x3d (0);\nwhile(true){\nif((i__5750__auto___31008 \x3c len__5749__auto___31007)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31008]));\n\nvar G__31010 \x3d (i__5750__auto___31008 + (1));\ni__5750__auto___31008 \x3d G__31010;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$sp1 \x3d null;\nvar cljs$core$sp1__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp1__1 \x3d (function (x){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\n});\nvar cljs$core$sp1__2 \x3d (function (x,y){\nvar or__5025__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n}\n});\nvar cljs$core$sp1__3 \x3d (function (x,y,z){\nvar or__5025__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n}\n}\n});\nvar cljs$core$sp1__4 \x3d (function() { \nvar G__31011__delegate \x3d function (x,y,z,args){\nvar or__5025__auto__ \x3d cljs$core$sp1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.some(p,args);\n}\n};\nvar G__31011 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31012__i \x3d 0, G__31012__a \x3d new Array(arguments.length -  3);\nwhile (G__31012__i \x3c G__31012__a.length) {G__31012__a[G__31012__i] \x3d arguments[G__31012__i + 3]; ++G__31012__i;}\n  args \x3d new cljs.core.IndexedSeq(G__31012__a,0,null);\n} \nreturn G__31011__delegate.call(this,x,y,z,args);};\nG__31011.cljs$lang$maxFixedArity \x3d 3;\nG__31011.cljs$lang$applyTo \x3d (function (arglist__31013){\nvar x \x3d cljs.core.first(arglist__31013);\narglist__31013 \x3d cljs.core.next(arglist__31013);\nvar y \x3d cljs.core.first(arglist__31013);\narglist__31013 \x3d cljs.core.next(arglist__31013);\nvar z \x3d cljs.core.first(arglist__31013);\nvar args \x3d cljs.core.rest(arglist__31013);\nreturn G__31011__delegate(x,y,z,args);\n});\nG__31011.cljs$core$IFn$_invoke$arity$variadic \x3d G__31011__delegate;\nreturn G__31011;\n})()\n;\ncljs$core$sp1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp1__0.call(this);\ncase 1:\nreturn cljs$core$sp1__1.call(this,x);\ncase 2:\nreturn cljs$core$sp1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp1__3.call(this,x,y,z);\ndefault:\nvar G__31014 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31015__i \x3d 0, G__31015__a \x3d new Array(arguments.length -  3);\nwhile (G__31015__i \x3c G__31015__a.length) {G__31015__a[G__31015__i] \x3d arguments[G__31015__i + 3]; ++G__31015__i;}\nG__31014 \x3d new cljs.core.IndexedSeq(G__31015__a,0,null);\n}\nreturn cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__31014);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp1.cljs$lang$applyTo \x3d cljs$core$sp1__4.cljs$lang$applyTo;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp1__0;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp1__1;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp1__2;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp1__3;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp1;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$sp2 \x3d null;\nvar cljs$core$sp2__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp2__1 \x3d (function (x){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n}\n});\nvar cljs$core$sp2__2 \x3d (function (x,y){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n}\n}\n}\n});\nvar cljs$core$sp2__3 \x3d (function (x,y,z){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nvar or__5025__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$4)){\nreturn or__5025__auto____$4;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp2__4 \x3d (function() { \nvar G__31023__delegate \x3d function (x,y,z,args){\nvar or__5025__auto__ \x3d cljs$core$sp2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.some((function (p1__27561_SHARP_){\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__27561_SHARP_) : p1.call(null,p1__27561_SHARP_));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__27561_SHARP_) : p2.call(null,p1__27561_SHARP_));\n}\n}),args);\n}\n};\nvar G__31023 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31027__i \x3d 0, G__31027__a \x3d new Array(arguments.length -  3);\nwhile (G__31027__i \x3c G__31027__a.length) {G__31027__a[G__31027__i] \x3d arguments[G__31027__i + 3]; ++G__31027__i;}\n  args \x3d new cljs.core.IndexedSeq(G__31027__a,0,null);\n} \nreturn G__31023__delegate.call(this,x,y,z,args);};\nG__31023.cljs$lang$maxFixedArity \x3d 3;\nG__31023.cljs$lang$applyTo \x3d (function (arglist__31028){\nvar x \x3d cljs.core.first(arglist__31028);\narglist__31028 \x3d cljs.core.next(arglist__31028);\nvar y \x3d cljs.core.first(arglist__31028);\narglist__31028 \x3d cljs.core.next(arglist__31028);\nvar z \x3d cljs.core.first(arglist__31028);\nvar args \x3d cljs.core.rest(arglist__31028);\nreturn G__31023__delegate(x,y,z,args);\n});\nG__31023.cljs$core$IFn$_invoke$arity$variadic \x3d G__31023__delegate;\nreturn G__31023;\n})()\n;\ncljs$core$sp2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp2__0.call(this);\ncase 1:\nreturn cljs$core$sp2__1.call(this,x);\ncase 2:\nreturn cljs$core$sp2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp2__3.call(this,x,y,z);\ndefault:\nvar G__31029 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31030__i \x3d 0, G__31030__a \x3d new Array(arguments.length -  3);\nwhile (G__31030__i \x3c G__31030__a.length) {G__31030__a[G__31030__i] \x3d arguments[G__31030__i + 3]; ++G__31030__i;}\nG__31029 \x3d new cljs.core.IndexedSeq(G__31030__a,0,null);\n}\nreturn cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__31029);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp2.cljs$lang$applyTo \x3d cljs$core$sp2__4.cljs$lang$applyTo;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp2__0;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp2__1;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp2__2;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp2__3;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp2;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$sp3 \x3d null;\nvar cljs$core$sp3__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp3__1 \x3d (function (x){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n}\n}\n});\nvar cljs$core$sp3__2 \x3d (function (x,y){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nvar or__5025__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$4)){\nreturn or__5025__auto____$4;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__3 \x3d (function (x,y,z){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nvar or__5025__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$4)){\nreturn or__5025__auto____$4;\n} else {\nvar or__5025__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(or__5025__auto____$5)){\nreturn or__5025__auto____$5;\n} else {\nvar or__5025__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$6)){\nreturn or__5025__auto____$6;\n} else {\nvar or__5025__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$7)){\nreturn or__5025__auto____$7;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n}\n}\n}\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__4 \x3d (function() { \nvar G__31041__delegate \x3d function (x,y,z,args){\nvar or__5025__auto__ \x3d cljs$core$sp3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.some((function (p1__27562_SHARP_){\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__27562_SHARP_) : p1.call(null,p1__27562_SHARP_));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__27562_SHARP_) : p2.call(null,p1__27562_SHARP_));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__27562_SHARP_) : p3.call(null,p1__27562_SHARP_));\n}\n}\n}),args);\n}\n};\nvar G__31041 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31042__i \x3d 0, G__31042__a \x3d new Array(arguments.length -  3);\nwhile (G__31042__i \x3c G__31042__a.length) {G__31042__a[G__31042__i] \x3d arguments[G__31042__i + 3]; ++G__31042__i;}\n  args \x3d new cljs.core.IndexedSeq(G__31042__a,0,null);\n} \nreturn G__31041__delegate.call(this,x,y,z,args);};\nG__31041.cljs$lang$maxFixedArity \x3d 3;\nG__31041.cljs$lang$applyTo \x3d (function (arglist__31043){\nvar x \x3d cljs.core.first(arglist__31043);\narglist__31043 \x3d cljs.core.next(arglist__31043);\nvar y \x3d cljs.core.first(arglist__31043);\narglist__31043 \x3d cljs.core.next(arglist__31043);\nvar z \x3d cljs.core.first(arglist__31043);\nvar args \x3d cljs.core.rest(arglist__31043);\nreturn G__31041__delegate(x,y,z,args);\n});\nG__31041.cljs$core$IFn$_invoke$arity$variadic \x3d G__31041__delegate;\nreturn G__31041;\n})()\n;\ncljs$core$sp3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp3__0.call(this);\ncase 1:\nreturn cljs$core$sp3__1.call(this,x);\ncase 2:\nreturn cljs$core$sp3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp3__3.call(this,x,y,z);\ndefault:\nvar G__31048 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31049__i \x3d 0, G__31049__a \x3d new Array(arguments.length -  3);\nwhile (G__31049__i \x3c G__31049__a.length) {G__31049__a[G__31049__i] \x3d arguments[G__31049__i + 3]; ++G__31049__i;}\nG__31048 \x3d new cljs.core.IndexedSeq(G__31049__a,0,null);\n}\nreturn cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__31048);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp3.cljs$lang$applyTo \x3d cljs$core$sp3__4.cljs$lang$applyTo;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp3__0;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp3__1;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp3__2;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp3__3;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp3;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$spn \x3d null;\nvar cljs$core$spn__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$spn__1 \x3d (function (x){\nreturn cljs.core.some((function (p1__27563_SHARP_){\nreturn (p1__27563_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27563_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27563_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$spn__2 \x3d (function (x,y){\nreturn cljs.core.some((function (p1__27564_SHARP_){\nvar or__5025__auto__ \x3d (p1__27564_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27564_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27564_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (p1__27564_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27564_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__27564_SHARP_.call(null,y));\n}\n}),ps__$1);\n});\nvar cljs$core$spn__3 \x3d (function (x,y,z){\nreturn cljs.core.some((function (p1__27565_SHARP_){\nvar or__5025__auto__ \x3d (p1__27565_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27565_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27565_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1__27565_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27565_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__27565_SHARP_.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (p1__27565_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27565_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__27565_SHARP_.call(null,z));\n}\n}\n}),ps__$1);\n});\nvar cljs$core$spn__4 \x3d (function() { \nvar G__31050__delegate \x3d function (x,y,z,args){\nvar or__5025__auto__ \x3d cljs$core$spn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.some((function (p1__27566_SHARP_){\nreturn cljs.core.some(p1__27566_SHARP_,args);\n}),ps__$1);\n}\n};\nvar G__31050 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31051__i \x3d 0, G__31051__a \x3d new Array(arguments.length -  3);\nwhile (G__31051__i \x3c G__31051__a.length) {G__31051__a[G__31051__i] \x3d arguments[G__31051__i + 3]; ++G__31051__i;}\n  args \x3d new cljs.core.IndexedSeq(G__31051__a,0,null);\n} \nreturn G__31050__delegate.call(this,x,y,z,args);};\nG__31050.cljs$lang$maxFixedArity \x3d 3;\nG__31050.cljs$lang$applyTo \x3d (function (arglist__31052){\nvar x \x3d cljs.core.first(arglist__31052);\narglist__31052 \x3d cljs.core.next(arglist__31052);\nvar y \x3d cljs.core.first(arglist__31052);\narglist__31052 \x3d cljs.core.next(arglist__31052);\nvar z \x3d cljs.core.first(arglist__31052);\nvar args \x3d cljs.core.rest(arglist__31052);\nreturn G__31050__delegate(x,y,z,args);\n});\nG__31050.cljs$core$IFn$_invoke$arity$variadic \x3d G__31050__delegate;\nreturn G__31050;\n})()\n;\ncljs$core$spn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$spn__0.call(this);\ncase 1:\nreturn cljs$core$spn__1.call(this,x);\ncase 2:\nreturn cljs$core$spn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$spn__3.call(this,x,y,z);\ndefault:\nvar G__31053 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31054__i \x3d 0, G__31054__a \x3d new Array(arguments.length -  3);\nwhile (G__31054__i \x3c G__31054__a.length) {G__31054__a[G__31054__i] \x3d arguments[G__31054__i + 3]; ++G__31054__i;}\nG__31053 \x3d new cljs.core.IndexedSeq(G__31054__a,0,null);\n}\nreturn cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__31053);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$spn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$spn.cljs$lang$applyTo \x3d cljs$core$spn__4.cljs$lang$applyTo;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$spn__0;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$spn__1;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$spn__2;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$spn__3;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$spn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.some_fn.cljs$lang$applyTo \x3d (function (seq27568){\nvar G__27569 \x3d cljs.core.first(seq27568);\nvar seq27568__$1 \x3d cljs.core.next(seq27568);\nvar G__27570 \x3d cljs.core.first(seq27568__$1);\nvar seq27568__$2 \x3d cljs.core.next(seq27568__$1);\nvar G__27571 \x3d cljs.core.first(seq27568__$2);\nvar seq27568__$3 \x3d cljs.core.next(seq27568__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27569,G__27570,G__27571,seq27568__$3);\n}));\n\n(cljs.core.some_fn.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to\n *   the set of first items of each coll, followed by applying f to the\n *   set of second items in each coll, until any one of the colls is\n *   exhausted.  Any remaining items in other colls are ignored. Function\n *   f should accept number-of-colls arguments. Returns a transducer when\n *   no collection is provided.\n */\ncljs.core.map \x3d (function cljs$core$map(var_args){\nvar G__27580 \x3d arguments.length;\nswitch (G__27580) {\ncase 1:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31056 \x3d arguments.length;\nvar i__5750__auto___31057 \x3d (0);\nwhile(true){\nif((i__5750__auto___31057 \x3c len__5749__auto___31056)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31057]));\n\nvar G__31058 \x3d (i__5750__auto___31057 + (1));\ni__5750__auto___31057 \x3d G__31058;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__31059 \x3d null;\nvar G__31059__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31059__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__31059__2 \x3d (function (result,input){\nvar G__27581 \x3d result;\nvar G__27582 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__27581,G__27582) : rf.call(null,G__27581,G__27582));\n});\nvar G__31059__3 \x3d (function() { \nvar G__31060__delegate \x3d function (result,input,inputs){\nvar G__27583 \x3d result;\nvar G__27584 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,input,inputs);\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__27583,G__27584) : rf.call(null,G__27583,G__27584));\n};\nvar G__31060 \x3d function (result,input,var_args){\nvar inputs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__31061__i \x3d 0, G__31061__a \x3d new Array(arguments.length -  2);\nwhile (G__31061__i \x3c G__31061__a.length) {G__31061__a[G__31061__i] \x3d arguments[G__31061__i + 2]; ++G__31061__i;}\n  inputs \x3d new cljs.core.IndexedSeq(G__31061__a,0,null);\n} \nreturn G__31060__delegate.call(this,result,input,inputs);};\nG__31060.cljs$lang$maxFixedArity \x3d 2;\nG__31060.cljs$lang$applyTo \x3d (function (arglist__31062){\nvar result \x3d cljs.core.first(arglist__31062);\narglist__31062 \x3d cljs.core.next(arglist__31062);\nvar input \x3d cljs.core.first(arglist__31062);\nvar inputs \x3d cljs.core.rest(arglist__31062);\nreturn G__31060__delegate(result,input,inputs);\n});\nG__31060.cljs$core$IFn$_invoke$arity$variadic \x3d G__31060__delegate;\nreturn G__31060;\n})()\n;\nG__31059 \x3d function(result,input,var_args){\nvar inputs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__31059__0.call(this);\ncase 1:\nreturn G__31059__1.call(this,result);\ncase 2:\nreturn G__31059__2.call(this,result,input);\ndefault:\nvar G__31063 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__31064__i \x3d 0, G__31064__a \x3d new Array(arguments.length -  2);\nwhile (G__31064__i \x3c G__31064__a.length) {G__31064__a[G__31064__i] \x3d arguments[G__31064__i + 2]; ++G__31064__i;}\nG__31063 \x3d new cljs.core.IndexedSeq(G__31064__a,0,null);\n}\nreturn G__31059__3.cljs$core$IFn$_invoke$arity$variadic(result,input, G__31063);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31059.cljs$lang$maxFixedArity \x3d 2;\nG__31059.cljs$lang$applyTo \x3d G__31059__3.cljs$lang$applyTo;\nG__31059.cljs$core$IFn$_invoke$arity$0 \x3d G__31059__0;\nG__31059.cljs$core$IFn$_invoke$arity$1 \x3d G__31059__1;\nG__31059.cljs$core$IFn$_invoke$arity$2 \x3d G__31059__2;\nG__31059.cljs$core$IFn$_invoke$arity$variadic \x3d G__31059__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__31059;\n})()\n});\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___31065 \x3d size;\nvar i_31066 \x3d (0);\nwhile(true){\nif((i_31066 \x3c n__5616__auto___31065)){\ncljs.core.chunk_append(b,(function (){var G__27585 \x3d cljs.core._nth(c,i_31066);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27585) : f.call(null,G__27585));\n})());\n\nvar G__31067 \x3d (i_31066 + (1));\ni_31066 \x3d G__31067;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__27586 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27586) : f.call(null,G__27586));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn cljs.core.cons((function (){var G__27587 \x3d cljs.core.first(s1);\nvar G__27588 \x3d cljs.core.first(s2);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27587,G__27588) : f.call(null,G__27587,G__27588));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,cljs.core.rest(s1),cljs.core.rest(s2)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nvar s3 \x3d cljs.core.seq(c3);\nif(((s1) \x26\x26 (((s2) \x26\x26 (s3))))){\nreturn cljs.core.cons((function (){var G__27589 \x3d cljs.core.first(s1);\nvar G__27590 \x3d cljs.core.first(s2);\nvar G__27591 \x3d cljs.core.first(s3);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27589,G__27590,G__27591) : f.call(null,G__27589,G__27590,G__27591));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,cljs.core.rest(s1),cljs.core.rest(s2),cljs.core.rest(s3)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nvar step \x3d (function cljs$core$step(cs){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cs);\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn cljs.core.cons(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs$core$step(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__27573_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,p1__27573_SHARP_);\n}),step(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c2,c1], 0))));\n}));\n\n/** @this {Function} */\n(cljs.core.map.cljs$lang$applyTo \x3d (function (seq27575){\nvar G__27576 \x3d cljs.core.first(seq27575);\nvar seq27575__$1 \x3d cljs.core.next(seq27575);\nvar G__27577 \x3d cljs.core.first(seq27575__$1);\nvar seq27575__$2 \x3d cljs.core.next(seq27575__$1);\nvar G__27578 \x3d cljs.core.first(seq27575__$2);\nvar seq27575__$3 \x3d cljs.core.next(seq27575__$2);\nvar G__27579 \x3d cljs.core.first(seq27575__$3);\nvar seq27575__$4 \x3d cljs.core.next(seq27575__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27576,G__27577,G__27578,G__27579,seq27575__$4);\n}));\n\n(cljs.core.map.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a lazy sequence of the first n items in coll, or all items if\n *   there are fewer than n.  Returns a stateful transducer when\n *   no collection is provided.\n */\ncljs.core.take \x3d (function cljs$core$take(var_args){\nvar G__27593 \x3d arguments.length;\nswitch (G__27593) {\ncase 1:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__31070 \x3d null;\nvar G__31070__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31070__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__31070__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nvar nn \x3d na.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\nvar result__$1 \x3d (((n__$1 \x3e (0)))?(rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input)):result);\nif((!((nn \x3e (0))))){\nreturn cljs.core.ensure_reduced(result__$1);\n} else {\nreturn result__$1;\n}\n});\nG__31070 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31070__0.call(this);\ncase 1:\nreturn G__31070__1.call(this,result);\ncase 2:\nreturn G__31070__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31070.cljs$core$IFn$_invoke$arity$0 \x3d G__31070__0;\nG__31070.cljs$core$IFn$_invoke$arity$1 \x3d G__31070__1;\nG__31070.cljs$core$IFn$_invoke$arity$2 \x3d G__31070__2;\nreturn G__31070;\n})()\n});\n}));\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nif((n \x3e (0))){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take.cljs$core$IFn$_invoke$arity$2((n - (1)),cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a laziness-preserving sequence of all but the first n items in coll.\n *   Returns a stateful transducer when no collection is provided.\n */\ncljs.core.drop \x3d (function cljs$core$drop(var_args){\nvar G__27595 \x3d arguments.length;\nswitch (G__27595) {\ncase 1:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__31078 \x3d null;\nvar G__31078__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31078__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__31078__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nna.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\n\nif((n__$1 \x3e (0))){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__31078 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31078__0.call(this);\ncase 1:\nreturn G__31078__1.call(this,result);\ncase 2:\nreturn G__31078__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31078.cljs$core$IFn$_invoke$arity$0 \x3d G__31078__0;\nG__31078.cljs$core$IFn$_invoke$arity$1 \x3d G__31078__1;\nG__31078.cljs$core$IFn$_invoke$arity$2 \x3d G__31078__2;\nreturn G__31078;\n})()\n});\n}));\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition1$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IDrop$))))?true:false):false)){\nvar or__5025__auto__ \x3d (((n \x3e (0)))?coll.cljs$core$IDrop$_drop$arity$2(null,Math.ceil(n)):cljs.core.seq(coll));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n} else {\nvar step \x3d (function (n__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif((((n__$1 \x3e (0))) \x26\x26 (s))){\nvar G__31081 \x3d (n__$1 - (1));\nvar G__31082 \x3d cljs.core.rest(s);\nn__$1 \x3d G__31081;\ncoll__$1 \x3d G__31082;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(n,coll);\n}),null,null));\n}\n}));\n\n(cljs.core.drop.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Return a lazy sequence of all but the last n (default 1) items in coll\n */\ncljs.core.drop_last \x3d (function cljs$core$drop_last(var_args){\nvar G__27598 \x3d arguments.length;\nswitch (G__27598) {\ncase 1:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((1),s);\n}));\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,s){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (x,_){\nreturn x;\n}),s,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s));\n}));\n\n(cljs.core.drop_last.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a seq of the last n items in coll.  Depending on the type\n *   of coll may be no better than linear time.  For vectors, see also subvec.\n */\ncljs.core.take_last \x3d (function cljs$core$take_last(n,coll){\nvar s \x3d cljs.core.seq(coll);\nvar lead \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll));\nwhile(true){\nif(lead){\nvar G__31089 \x3d cljs.core.next(s);\nvar G__31090 \x3d cljs.core.next(lead);\ns \x3d G__31089;\nlead \x3d G__31090;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\n/**\n * Returns a lazy sequence of the items in coll starting from the\n *   first item for which (pred item) returns logical false.  Returns a\n *   stateful transducer when no collection is provided.\n */\ncljs.core.drop_while \x3d (function cljs$core$drop_while(var_args){\nvar G__27600 \x3d arguments.length;\nswitch (G__27600) {\ncase 1:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nvar da \x3d cljs.core.volatile_BANG_(true);\nreturn (function() {\nvar G__31092 \x3d null;\nvar G__31092__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31092__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__31092__2 \x3d (function (result,input){\nvar drop_QMARK_ \x3d cljs.core.deref(da);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d drop_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn result;\n} else {\ncljs.core.vreset_BANG_(da,null);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__31092 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31092__0.call(this);\ncase 1:\nreturn G__31092__1.call(this,result);\ncase 2:\nreturn G__31092__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31092.cljs$core$IFn$_invoke$arity$0 \x3d G__31092__0;\nG__31092.cljs$core$IFn$_invoke$arity$1 \x3d G__31092__1;\nG__31092.cljs$core$IFn$_invoke$arity$2 \x3d G__31092__2;\nreturn G__31092;\n})()\n});\n}));\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nvar step \x3d (function (pred__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d s;\nif(and__5023__auto__){\nvar G__27601 \x3d cljs.core.first(s);\nreturn (pred__$1.cljs$core$IFn$_invoke$arity$1 ? pred__$1.cljs$core$IFn$_invoke$arity$1(G__27601) : pred__$1.call(null,G__27601));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar G__31096 \x3d pred__$1;\nvar G__31097 \x3d cljs.core.rest(s);\npred__$1 \x3d G__31096;\ncoll__$1 \x3d G__31097;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(pred,coll);\n}),null,null));\n}));\n\n(cljs.core.drop_while.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cycle \x3d (function (meta,all,prev,current,_next){\nthis.meta \x3d meta;\nthis.all \x3d all;\nthis.prev \x3d prev;\nthis.current \x3d current;\nthis._next \x3d _next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Cycle.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cycle.prototype.currentval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(self__.current){\n} else {\nvar temp__5802__auto___31101 \x3d cljs.core.next(self__.prev);\nif(temp__5802__auto___31101){\nvar c_31102 \x3d temp__5802__auto___31101;\n(self__.current \x3d c_31102);\n} else {\n(self__.current \x3d self__.all);\n}\n}\n\nreturn self__.current;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.current \x3d\x3d null)));\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d cljs.core.first(s);\nwhile(true){\nvar s__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.core.next(s);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar ret__$1 \x3d (function (){var G__27604 \x3d ret;\nvar G__27605 \x3d cljs.core.first(s__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27604,G__27605) : f.call(null,G__27604,G__27605));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__31103 \x3d s__$1;\nvar G__31104 \x3d ret__$1;\ns \x3d G__31103;\nret \x3d G__31104;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d start;\nwhile(true){\nvar ret__$1 \x3d (function (){var G__27606 \x3d ret;\nvar G__27607 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27606,G__27607) : f.call(null,G__27606,G__27607));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__31108 \x3d (function (){var or__5025__auto__ \x3d cljs.core.next(s);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar G__31109 \x3d ret__$1;\ns \x3d G__31108;\nret \x3d G__31109;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(coll__$1.currentval());\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__._next \x3d\x3d null)){\n(self__._next \x3d (new cljs.core.Cycle(null,self__.all,coll__$1.currentval(),null,null)));\n} else {\n}\n\nreturn self__._next;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cycle(new_meta,self__.all,self__.prev,self__.current,self__._next));\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Cycle.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22all\x22,\x22all\x22,-1762306027,null),new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22current\x22,\x22current\x22,552492924,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cycle.cljs$lang$type \x3d true);\n\n(cljs.core.Cycle.cljs$lang$ctorStr \x3d \x22cljs.core/Cycle\x22);\n\n(cljs.core.Cycle.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Cycle\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cycle.\n */\ncljs.core.__GT_Cycle \x3d (function cljs$core$__GT_Cycle(meta,all,prev,current,_next){\nreturn (new cljs.core.Cycle(meta,all,prev,current,_next));\n});\n\n/**\n * Returns a lazy (infinite!) sequence of repetitions of the items in coll.\n */\ncljs.core.cycle \x3d (function cljs$core$cycle(coll){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar vals \x3d temp__5802__auto__;\nreturn (new cljs.core.Cycle(null,vals,null,vals,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a vector of [(take n coll) (drop n coll)]\n */\ncljs.core.split_at \x3d (function cljs$core$split_at(n,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,coll),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll)], null);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Repeat \x3d (function (meta,count,val,next,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.val \x3d val;\nthis.next \x3d next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 262145;\n});\n(cljs.core.Repeat.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Repeat.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Repeat.prototype.indexOf \x3d (function() {\nvar G__31115 \x3d null;\nvar G__31115__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31115__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31115 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31115__1.call(this,x);\ncase 2:\nreturn G__31115__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31115.cljs$core$IFn$_invoke$arity$1 \x3d G__31115__1;\nG__31115.cljs$core$IFn$_invoke$arity$2 \x3d G__31115__2;\nreturn G__31115;\n})()\n);\n\n(cljs.core.Repeat.prototype.lastIndexOf \x3d (function() {\nvar G__31117 \x3d null;\nvar G__31117__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__31117__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31117 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31117__1.call(this,x);\ncase 2:\nreturn G__31117__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31117.cljs$core$IFn$_invoke$arity$1 \x3d G__31117__1;\nG__31117.cljs$core$IFn$_invoke$arity$2 \x3d G__31117__2;\nreturn G__31117;\n})()\n);\n\n(cljs.core.Repeat.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn null;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(self__.val,self__.val) : f.call(null,self__.val,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__31119 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__31119;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (1);\nvar ret \x3d self__.val;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__31121 \x3d (i + (1));\nvar G__31122 \x3d ret__$1;\ni \x3d G__31121;\nret \x3d G__31122;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(start,self__.val) : f.call(null,start,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__31123 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__31123;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar ret \x3d start;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__31125 \x3d (i + (1));\nvar G__31126 \x3d ret__$1;\ni \x3d G__31125;\nret \x3d G__31126;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Repeat(new_meta,self__.count,self__.val,self__.next,null));\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nreturn coll__$1;\n} else {\nvar dropped_count \x3d (self__.count - n);\nif((dropped_count \x3e (0))){\nreturn (new cljs.core.Repeat(null,dropped_count,self__.val,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Repeat.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Repeat.cljs$lang$type \x3d true);\n\n(cljs.core.Repeat.cljs$lang$ctorStr \x3d \x22cljs.core/Repeat\x22);\n\n(cljs.core.Repeat.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Repeat\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Repeat.\n */\ncljs.core.__GT_Repeat \x3d (function cljs$core$__GT_Repeat(meta,count,val,next,__hash){\nreturn (new cljs.core.Repeat(meta,count,val,next,__hash));\n});\n\n/**\n * Returns a lazy (infinite!, or length n if supplied) sequence of xs.\n */\ncljs.core.repeat \x3d (function cljs$core$repeat(var_args){\nvar G__27609 \x3d arguments.length;\nswitch (G__27609) {\ncase 1:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Repeat(null,(-1),x,null,null));\n}));\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,x){\nif((n \x3e (0))){\nreturn (new cljs.core.Repeat(null,n,x,null,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.repeat.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * DEPRECATED: Use \x27repeat\x27 instead.\n *   Returns a lazy seq of n xs.\n */\ncljs.core.replicate \x3d (function cljs$core$replicate(n,x){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(x));\n});\n/**\n * Takes a function of no args, presumably with side effects, and\n *   returns an infinite (or length n if supplied) lazy sequence of calls\n *   to it\n */\ncljs.core.repeatedly \x3d (function cljs$core$repeatedly(var_args){\nvar G__27611 \x3d arguments.length;\nswitch (G__27611) {\ncase 1:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));\n}),null,null));\n}));\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,f){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));\n}));\n\n(cljs.core.repeatedly.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.UNREALIZED_SEED \x3d ({});\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Iterate \x3d (function (meta,f,prev_seed,seed,next){\nthis.meta \x3d meta;\nthis.f \x3d f;\nthis.prev_seed \x3d prev_seed;\nthis.seed \x3d seed;\nthis.next \x3d next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Iterate.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.seed \x3d\x3d\x3d cljs.core.UNREALIZED_SEED)));\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,rf){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar first \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar v \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(first) : self__.f.call(null,first));\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(first,v) : rf.call(null,first,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__31133 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__31134 \x3d v__$2;\nret \x3d G__31133;\nv__$1 \x3d G__31134;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,rf,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(start,v) : rf.call(null,start,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__31136 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__31137 \x3d v__$2;\nret \x3d G__31136;\nv__$1 \x3d G__31137;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.UNREALIZED_SEED \x3d\x3d\x3d self__.seed)){\n(self__.seed \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(self__.prev_seed) : self__.f.call(null,self__.prev_seed)));\n} else {\n}\n\nreturn self__.seed;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\n(self__.next \x3d (new cljs.core.Iterate(null,self__.f,coll__$1.cljs$core$ISeq$_first$arity$1(null),cljs.core.UNREALIZED_SEED,null)));\n} else {\n}\n\nreturn self__.next;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Iterate(new_meta,self__.f,self__.prev_seed,self__.seed,self__.next));\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Iterate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22prev-seed\x22,\x22prev-seed\x22,2126381367,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seed\x22,\x22seed\x22,1709144854,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Iterate.cljs$lang$type \x3d true);\n\n(cljs.core.Iterate.cljs$lang$ctorStr \x3d \x22cljs.core/Iterate\x22);\n\n(cljs.core.Iterate.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Iterate\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Iterate.\n */\ncljs.core.__GT_Iterate \x3d (function cljs$core$__GT_Iterate(meta,f,prev_seed,seed,next){\nreturn (new cljs.core.Iterate(meta,f,prev_seed,seed,next));\n});\n\n/**\n * Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects\n */\ncljs.core.iterate \x3d (function cljs$core$iterate(f,x){\nreturn (new cljs.core.Iterate(null,f,null,x,null));\n});\n/**\n * Returns a lazy seq of the first item in each coll, then the second etc.\n */\ncljs.core.interleave \x3d (function cljs$core$interleave(var_args){\nvar G__27616 \x3d arguments.length;\nswitch (G__27616) {\ncase 0:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31143 \x3d arguments.length;\nvar i__5750__auto___31144 \x3d (0);\nwhile(true){\nif((i__5750__auto___31144 \x3c len__5749__auto___31143)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31144]));\n\nvar G__31145 \x3d (i__5750__auto___31144 + (1));\ni__5750__auto___31144 \x3d G__31145;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$1 \x3d (function (c1){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn c1;\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2 \x3d (function (c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn cljs.core.cons(cljs.core.first(s1),cljs.core.cons(cljs.core.first(s2),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s1),cljs.core.rest(s2))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic \x3d (function (c1,c2,colls){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c1], 0)));\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.interleave,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n/** @this {Function} */\n(cljs.core.interleave.cljs$lang$applyTo \x3d (function (seq27613){\nvar G__27614 \x3d cljs.core.first(seq27613);\nvar seq27613__$1 \x3d cljs.core.next(seq27613);\nvar G__27615 \x3d cljs.core.first(seq27613__$1);\nvar seq27613__$2 \x3d cljs.core.next(seq27613__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27614,G__27615,seq27613__$2);\n}));\n\n(cljs.core.interleave.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a lazy seq of the elements of coll separated by sep.\n *   Returns a stateful transducer when no collection is provided.\n */\ncljs.core.interpose \x3d (function cljs$core$interpose(var_args){\nvar G__27618 \x3d arguments.length;\nswitch (G__27618) {\ncase 1:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$1 \x3d (function (sep){\nreturn (function (rf){\nvar started \x3d cljs.core.volatile_BANG_(false);\nreturn (function() {\nvar G__31151 \x3d null;\nvar G__31151__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31151__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__31151__2 \x3d (function (result,input){\nif(cljs.core.truth_(cljs.core.deref(started))){\nvar sepr \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,sep) : rf.call(null,result,sep));\nif(cljs.core.reduced_QMARK_(sepr)){\nreturn sepr;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(sepr,input) : rf.call(null,sepr,input));\n}\n} else {\ncljs.core.vreset_BANG_(started,true);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__31151 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31151__0.call(this);\ncase 1:\nreturn G__31151__1.call(this,result);\ncase 2:\nreturn G__31151__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31151.cljs$core$IFn$_invoke$arity$0 \x3d G__31151__0;\nG__31151.cljs$core$IFn$_invoke$arity$1 \x3d G__31151__1;\nG__31151.cljs$core$IFn$_invoke$arity$2 \x3d G__31151__2;\nreturn G__31151;\n})()\n});\n}));\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$2 \x3d (function (sep,coll){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((1),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(sep),coll));\n}));\n\n(cljs.core.interpose.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Take a collection of collections, and return a lazy seq\n *   of items from the inner collection\n */\ncljs.core.flatten1 \x3d (function cljs$core$flatten1(colls){\nvar cat \x3d (function cljs$core$flatten1_$_cat(coll,colls__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar coll__$1 \x3d temp__5802__auto__;\nreturn cljs.core.cons(cljs.core.first(coll__$1),cljs$core$flatten1_$_cat(cljs.core.rest(coll__$1),colls__$1));\n} else {\nif(cljs.core.seq(colls__$1)){\nreturn cljs$core$flatten1_$_cat(cljs.core.first(colls__$1),cljs.core.rest(colls__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(null,colls);\n});\n/**\n * Returns the result of applying concat to the result of applying map\n *   to f and colls.  Thus function f should return a collection. Returns\n *   a transducer when no collections are provided\n */\ncljs.core.mapcat \x3d (function cljs$core$mapcat(var_args){\nvar G__27622 \x3d arguments.length;\nswitch (G__27622) {\ncase 1:\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31157 \x3d arguments.length;\nvar i__5750__auto___31158 \x3d (0);\nwhile(true){\nif((i__5750__auto___31158 \x3c len__5749__auto___31157)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31158]));\n\nvar G__31159 \x3d (i__5750__auto___31158 + (1));\ni__5750__auto___31158 \x3d G__31159;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$1(f),cljs.core.cat);\n}));\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,colls){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,f,colls));\n}));\n\n/** @this {Function} */\n(cljs.core.mapcat.cljs$lang$applyTo \x3d (function (seq27620){\nvar G__27621 \x3d cljs.core.first(seq27620);\nvar seq27620__$1 \x3d cljs.core.next(seq27620);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27621,seq27620__$1);\n}));\n\n(cljs.core.mapcat.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a lazy sequence of the items in coll for which\n *   (pred item) returns logical true. pred must be free of side-effects.\n *   Returns a transducer when no collection is provided.\n */\ncljs.core.filter \x3d (function cljs$core$filter(var_args){\nvar G__27624 \x3d arguments.length;\nswitch (G__27624) {\ncase 1:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__31165 \x3d null;\nvar G__31165__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31165__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__31165__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__31165 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31165__0.call(this);\ncase 1:\nreturn G__31165__1.call(this,result);\ncase 2:\nreturn G__31165__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31165.cljs$core$IFn$_invoke$arity$0 \x3d G__31165__0;\nG__31165.cljs$core$IFn$_invoke$arity$1 \x3d G__31165__1;\nG__31165.cljs$core$IFn$_invoke$arity$2 \x3d G__31165__2;\nreturn G__31165;\n})()\n});\n}));\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___31166 \x3d size;\nvar i_31167 \x3d (0);\nwhile(true){\nif((i_31167 \x3c n__5616__auto___31166)){\nif(cljs.core.truth_((function (){var G__27625 \x3d cljs.core._nth(c,i_31167);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__27625) : pred.call(null,G__27625));\n})())){\ncljs.core.chunk_append(b,cljs.core._nth(c,i_31167));\n} else {\n}\n\nvar G__31168 \x3d (i_31167 + (1));\ni_31167 \x3d G__31168;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.chunk_rest(s)));\n} else {\nvar f \x3d cljs.core.first(s);\nvar r \x3d cljs.core.rest(s);\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(f) : pred.call(null,f)))){\nreturn cljs.core.cons(f,cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r));\n} else {\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r);\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.filter.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the items in coll for which\n *   (pred item) returns logical false. pred must be free of side-effects.\n *   Returns a transducer when no collection is provided.\n */\ncljs.core.remove \x3d (function cljs$core$remove(var_args){\nvar G__27627 \x3d arguments.length;\nswitch (G__27627) {\ncase 1:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1(cljs.core.complement(pred));\n}));\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(pred),coll);\n}));\n\n(cljs.core.remove.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the nodes in a tree, via a depth-first walk.\n *   branch? must be a fn of one arg that returns true if passed a node\n *   that can have children (but may not).  children must be a fn of one\n *   arg that returns a sequence of the children. Will only be called on\n *   nodes for which branch? returns true. Root is the root node of the\n *   tree.\n */\ncljs.core.tree_seq \x3d (function cljs$core$tree_seq(branch_QMARK_,children,root){\nvar walk \x3d (function cljs$core$tree_seq_$_walk(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons(node,(cljs.core.truth_((branch_QMARK_.cljs$core$IFn$_invoke$arity$1 ? branch_QMARK_.cljs$core$IFn$_invoke$arity$1(node) : branch_QMARK_.call(null,node)))?cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs$core$tree_seq_$_walk,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(children.cljs$core$IFn$_invoke$arity$1 ? children.cljs$core$IFn$_invoke$arity$1(node) : children.call(null,node))], 0)):null));\n}),null,null));\n});\nreturn walk(root);\n});\n/**\n * Takes any nested combination of sequential things (lists, vectors,\n *   etc.) and returns their contents as a single, flat sequence.\n *   (flatten nil) returns nil.\n */\ncljs.core.flatten \x3d (function cljs$core$flatten(x){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__27628_SHARP_){\nreturn (!(cljs.core.sequential_QMARK_(p1__27628_SHARP_)));\n}),cljs.core.rest(cljs.core.tree_seq(cljs.core.sequential_QMARK_,cljs.core.seq,x)));\n});\n/**\n * Returns a new coll consisting of to-coll with all of the items of\n *   from-coll conjoined. A transducer may be supplied.\n */\ncljs.core.into \x3d (function cljs$core$into(var_args){\nvar G__27630 \x3d arguments.length;\nswitch (G__27630) {\ncase 0:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$1 \x3d (function (to){\nreturn to;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$2 \x3d (function (to,from){\nif((!((to \x3d\x3d null)))){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core.transient$(to),from)),cljs.core.meta(to));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,to,from);\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$3 \x3d (function (to,xform,from){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nvar tm \x3d cljs.core.meta(to);\nvar rf \x3d (function() {\nvar G__31174 \x3d null;\nvar G__31174__1 \x3d (function (coll){\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(coll),tm);\n});\nvar G__31174__2 \x3d (function (coll,v){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(coll,v);\n});\nG__31174 \x3d function(coll,v){\nswitch(arguments.length){\ncase 1:\nreturn G__31174__1.call(this,coll);\ncase 2:\nreturn G__31174__2.call(this,coll,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31174.cljs$core$IFn$_invoke$arity$1 \x3d G__31174__1;\nG__31174.cljs$core$IFn$_invoke$arity$2 \x3d G__31174__2;\nreturn G__31174;\n})()\n;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,rf,cljs.core.transient$(to),from);\n} else {\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a vector consisting of the result of applying f to the\n *   set of first items of each coll, followed by applying f to the set\n *   of second items in each coll, until any one of the colls is\n *   exhausted.  Any remaining items in other colls are ignored. Function\n *   f should accept number-of-colls arguments.\n */\ncljs.core.mapv \x3d (function cljs$core$mapv(var_args){\nvar G__27639 \x3d arguments.length;\nswitch (G__27639) {\ncase 2:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31176 \x3d arguments.length;\nvar i__5750__auto___31177 \x3d (0);\nwhile(true){\nif((i__5750__auto___31177 \x3c len__5749__auto___31176)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31177]));\n\nvar G__31178 \x3d (i__5750__auto___31177 + (1));\ni__5750__auto___31177 \x3d G__31178;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(o) : f.call(null,o)));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,c1,c2));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,c1,c2,c3));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.map,f,c1,c2,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([colls], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.mapv.cljs$lang$applyTo \x3d (function (seq27634){\nvar G__27635 \x3d cljs.core.first(seq27634);\nvar seq27634__$1 \x3d cljs.core.next(seq27634);\nvar G__27636 \x3d cljs.core.first(seq27634__$1);\nvar seq27634__$2 \x3d cljs.core.next(seq27634__$1);\nvar G__27637 \x3d cljs.core.first(seq27634__$2);\nvar seq27634__$3 \x3d cljs.core.next(seq27634__$2);\nvar G__27638 \x3d cljs.core.first(seq27634__$3);\nvar seq27634__$4 \x3d cljs.core.next(seq27634__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27635,G__27636,G__27637,G__27638,seq27634__$4);\n}));\n\n(cljs.core.mapv.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a vector of the items in coll for which\n *   (pred item) returns logical true. pred must be free of side-effects.\n */\ncljs.core.filterv \x3d (function cljs$core$filterv(pred,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(o) : pred.call(null,o)))){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,o);\n} else {\nreturn v;\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n});\n/**\n * Returns a lazy sequence of lists of n items each, at offsets step\n *   apart. If step is not supplied, defaults to n, i.e. the partitions\n *   do not overlap. If a pad collection is supplied, use its elements as\n *   necessary to complete last partition up to n items. In case there are\n *   not enough padding elements, return a partition with less than n items.\n */\ncljs.core.partition \x3d (function cljs$core$partition(var_args){\nvar G__27641 \x3d arguments.length;\nswitch (G__27641) {\ncase 2:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,step,pad,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$4(n,step,pad,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn (new cljs.core.List(null,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(p,pad)),null,(1),null));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the value in a nested associative structure,\n *   where ks is a sequence of keys. Returns nil if the key is not present,\n *   or the not-found value if supplied.\n */\ncljs.core.get_in \x3d (function cljs$core$get_in(var_args){\nvar G__27643 \x3d arguments.length;\nswitch (G__27643) {\ncase 2:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2 \x3d (function (m,ks){\nvar m__$1 \x3d m;\nvar ks__$1 \x3d cljs.core.seq(ks);\nwhile(true){\nif((ks__$1 \x3d\x3d null)){\nreturn m__$1;\n} else {\nvar G__31183 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m__$1,cljs.core.first(ks__$1));\nvar G__31184 \x3d cljs.core.next(ks__$1);\nm__$1 \x3d G__31183;\nks__$1 \x3d G__31184;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,ks,not_found){\nvar sentinel \x3d cljs.core.lookup_sentinel;\nvar m__$1 \x3d m;\nvar ks__$1 \x3d cljs.core.seq(ks);\nwhile(true){\nif((!((ks__$1 \x3d\x3d null)))){\nvar m__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(m__$1,cljs.core.first(ks__$1),sentinel);\nif((sentinel \x3d\x3d\x3d m__$2)){\nreturn not_found;\n} else {\nvar G__31188 \x3d sentinel;\nvar G__31189 \x3d m__$2;\nvar G__31190 \x3d cljs.core.next(ks__$1);\nsentinel \x3d G__31188;\nm__$1 \x3d G__31189;\nks__$1 \x3d G__31190;\ncontinue;\n}\n} else {\nreturn m__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.get_in.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Associates a value in a nested associative structure, where ks is a\n *   sequence of keys and v is the new value and returns a new nested structure.\n *   If any levels do not exist, hash-maps will be created.\n */\ncljs.core.assoc_in \x3d (function cljs$core$assoc_in(m,p__27644,v){\nvar vec__27645 \x3d p__27644;\nvar seq__27646 \x3d cljs.core.seq(vec__27645);\nvar first__27647 \x3d cljs.core.first(seq__27646);\nvar seq__27646__$1 \x3d cljs.core.next(seq__27646);\nvar k \x3d first__27647;\nvar ks \x3d seq__27646__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27648 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27649 \x3d ks;\nvar G__27650 \x3d v;\nreturn (cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3 ? cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3(G__27648,G__27649,G__27650) : cljs.core.assoc_in.call(null,G__27648,G__27649,G__27650));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\n/**\n * \x27Updates\x27 a value in a nested associative structure, where ks is a\n *   sequence of keys and f is a function that will take the old value\n *   and any supplied args and return the new value, and returns a new\n *   nested structure.  If any levels do not exist, hash-maps will be\n *   created.\n */\ncljs.core.update_in \x3d (function cljs$core$update_in(var_args){\nvar G__27659 \x3d arguments.length;\nswitch (G__27659) {\ncase 3:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31199 \x3d arguments.length;\nvar i__5750__auto___31200 \x3d (0);\nwhile(true){\nif((i__5750__auto___31200 \x3c len__5749__auto___31199)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31200]));\n\nvar G__31201 \x3d (i__5750__auto___31200 + (1));\ni__5750__auto___31200 \x3d G__31201;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((6) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((6)),(0),null)):null);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,p__27660,f){\nvar vec__27661 \x3d p__27660;\nvar seq__27662 \x3d cljs.core.seq(vec__27661);\nvar first__27663 \x3d cljs.core.first(seq__27662);\nvar seq__27662__$1 \x3d cljs.core.next(seq__27662);\nvar k \x3d first__27663;\nvar ks \x3d seq__27662__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27664 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27664) : f.call(null,G__27664));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,p__27665,f,a){\nvar vec__27666 \x3d p__27665;\nvar seq__27667 \x3d cljs.core.seq(vec__27666);\nvar first__27668 \x3d cljs.core.first(seq__27667);\nvar seq__27667__$1 \x3d cljs.core.next(seq__27667);\nvar k \x3d first__27668;\nvar ks \x3d seq__27667__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27669 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27670 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27669,G__27670) : f.call(null,G__27669,G__27670));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,p__27671,f,a,b){\nvar vec__27672 \x3d p__27671;\nvar seq__27673 \x3d cljs.core.seq(vec__27672);\nvar first__27674 \x3d cljs.core.first(seq__27673);\nvar seq__27673__$1 \x3d cljs.core.next(seq__27673);\nvar k \x3d first__27674;\nvar ks \x3d seq__27673__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27675 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27676 \x3d a;\nvar G__27677 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27675,G__27676,G__27677) : f.call(null,G__27675,G__27676,G__27677));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,p__27678,f,a,b,c){\nvar vec__27679 \x3d p__27678;\nvar seq__27680 \x3d cljs.core.seq(vec__27679);\nvar first__27681 \x3d cljs.core.first(seq__27680);\nvar seq__27680__$1 \x3d cljs.core.next(seq__27680);\nvar k \x3d first__27681;\nvar ks \x3d seq__27680__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$6(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b,c));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27682 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27683 \x3d a;\nvar G__27684 \x3d b;\nvar G__27685 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__27682,G__27683,G__27684,G__27685) : f.call(null,G__27682,G__27683,G__27684,G__27685));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,p__27686,f,a,b,c,args){\nvar vec__27687 \x3d p__27686;\nvar seq__27688 \x3d cljs.core.seq(vec__27687);\nvar first__27689 \x3d cljs.core.first(seq__27688);\nvar seq__27688__$1 \x3d cljs.core.next(seq__27688);\nvar k \x3d first__27689;\nvar ks \x3d seq__27688__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update_in,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b,c,args], 0)));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0)));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.update_in.cljs$lang$applyTo \x3d (function (seq27652){\nvar G__27653 \x3d cljs.core.first(seq27652);\nvar seq27652__$1 \x3d cljs.core.next(seq27652);\nvar G__27654 \x3d cljs.core.first(seq27652__$1);\nvar seq27652__$2 \x3d cljs.core.next(seq27652__$1);\nvar G__27655 \x3d cljs.core.first(seq27652__$2);\nvar seq27652__$3 \x3d cljs.core.next(seq27652__$2);\nvar G__27656 \x3d cljs.core.first(seq27652__$3);\nvar seq27652__$4 \x3d cljs.core.next(seq27652__$3);\nvar G__27657 \x3d cljs.core.first(seq27652__$4);\nvar seq27652__$5 \x3d cljs.core.next(seq27652__$4);\nvar G__27658 \x3d cljs.core.first(seq27652__$5);\nvar seq27652__$6 \x3d cljs.core.next(seq27652__$5);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27653,G__27654,G__27655,G__27656,G__27657,G__27658,seq27652__$6);\n}));\n\n(cljs.core.update_in.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * \x27Updates\x27 a value in an associative structure, where k is a\n *   key and f is a function that will take the old value\n *   and any supplied args and return the new value, and returns a new\n *   structure.  If the key does not exist, nil is passed as the old value.\n */\ncljs.core.update \x3d (function cljs$core$update(var_args){\nvar G__27698 \x3d arguments.length;\nswitch (G__27698) {\ncase 3:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31214 \x3d arguments.length;\nvar i__5750__auto___31215 \x3d (0);\nwhile(true){\nif((i__5750__auto___31215 \x3c len__5749__auto___31214)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31215]));\n\nvar G__31216 \x3d (i__5750__auto___31215 + (1));\ni__5750__auto___31215 \x3d G__31216;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((6) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((6)),(0),null)):null);\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,k,f){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27699 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27699) : f.call(null,G__27699));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,k,f,x){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27700 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27701 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27700,G__27701) : f.call(null,G__27700,G__27701));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,k,f,x,y){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27702 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27703 \x3d x;\nvar G__27704 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27702,G__27703,G__27704) : f.call(null,G__27702,G__27703,G__27704));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,k,f,x,y,z){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27705 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27706 \x3d x;\nvar G__27707 \x3d y;\nvar G__27708 \x3d z;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__27705,G__27706,G__27707,G__27708) : f.call(null,G__27705,G__27706,G__27707,G__27708));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,k,f,x,y,z,more){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.update.cljs$lang$applyTo \x3d (function (seq27691){\nvar G__27692 \x3d cljs.core.first(seq27691);\nvar seq27691__$1 \x3d cljs.core.next(seq27691);\nvar G__27693 \x3d cljs.core.first(seq27691__$1);\nvar seq27691__$2 \x3d cljs.core.next(seq27691__$1);\nvar G__27694 \x3d cljs.core.first(seq27691__$2);\nvar seq27691__$3 \x3d cljs.core.next(seq27691__$2);\nvar G__27695 \x3d cljs.core.first(seq27691__$3);\nvar seq27691__$4 \x3d cljs.core.next(seq27691__$3);\nvar G__27696 \x3d cljs.core.first(seq27691__$4);\nvar seq27691__$5 \x3d cljs.core.next(seq27691__$4);\nvar G__27697 \x3d cljs.core.first(seq27691__$5);\nvar seq27691__$6 \x3d cljs.core.next(seq27691__$5);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27692,G__27693,G__27694,G__27695,G__27696,G__27697,seq27691__$6);\n}));\n\n(cljs.core.update.cljs$lang$maxFixedArity \x3d (6));\n\n\n/**\n* @constructor\n*/\ncljs.core.VectorNode \x3d (function (edit,arr){\nthis.edit \x3d edit;\nthis.arr \x3d arr;\n});\n\n(cljs.core.VectorNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.VectorNode.cljs$lang$type \x3d true);\n\n(cljs.core.VectorNode.cljs$lang$ctorStr \x3d \x22cljs.core/VectorNode\x22);\n\n(cljs.core.VectorNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/VectorNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/VectorNode.\n */\ncljs.core.__GT_VectorNode \x3d (function cljs$core$__GT_VectorNode(edit,arr){\nreturn (new cljs.core.VectorNode(edit,arr));\n});\n\ncljs.core.pv_fresh_node \x3d (function cljs$core$pv_fresh_node(edit){\nreturn (new cljs.core.VectorNode(edit,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]));\n});\ncljs.core.pv_aget \x3d (function cljs$core$pv_aget(node,idx){\nreturn (node.arr[idx]);\n});\ncljs.core.pv_aset \x3d (function cljs$core$pv_aset(node,idx,val){\nreturn (node.arr[idx] \x3d val);\n});\ncljs.core.pv_clone_node \x3d (function cljs$core$pv_clone_node(node){\nreturn (new cljs.core.VectorNode(node.edit,cljs.core.aclone(node.arr)));\n});\ncljs.core.tail_off \x3d (function cljs$core$tail_off(pv){\nvar cnt \x3d pv.cnt;\nif((cnt \x3c (32))){\nreturn (0);\n} else {\nreturn (((cnt - (1)) \x3e\x3e\x3e (5)) \x3c\x3c (5));\n}\n});\ncljs.core.new_path \x3d (function cljs$core$new_path(edit,level,node){\nvar ll \x3d level;\nvar ret \x3d node;\nwhile(true){\nif((ll \x3d\x3d\x3d (0))){\nreturn ret;\n} else {\nvar embed \x3d ret;\nvar r \x3d cljs.core.pv_fresh_node(edit);\nvar _ \x3d cljs.core.pv_aset(r,(0),embed);\nvar G__31235 \x3d (ll - (5));\nvar G__31236 \x3d r;\nll \x3d G__31235;\nret \x3d G__31236;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.push_tail \x3d (function cljs$core$push_tail(pv,level,parent,tailnode){\nvar ret \x3d cljs.core.pv_clone_node(parent);\nvar subidx \x3d (((pv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\nif(((5) \x3d\x3d\x3d level)){\ncljs.core.pv_aset(ret,subidx,tailnode);\n\nreturn ret;\n} else {\nvar child \x3d cljs.core.pv_aget(parent,subidx);\nif((!((child \x3d\x3d null)))){\nvar node_to_insert \x3d (function (){var G__27709 \x3d pv;\nvar G__27710 \x3d (level - (5));\nvar G__27711 \x3d child;\nvar G__27712 \x3d tailnode;\nreturn (cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4(G__27709,G__27710,G__27711,G__27712) : cljs.core.push_tail.call(null,G__27709,G__27710,G__27711,G__27712));\n})();\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n} else {\nvar node_to_insert \x3d cljs.core.new_path(null,(level - (5)),tailnode);\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n}\n}\n});\ncljs.core.vector_index_out_of_bounds \x3d (function cljs$core$vector_index_out_of_bounds(i,cnt){\nthrow (new Error([\x22No item \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(i),\x22 in vector of length \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnt)].join(\x27\x27)));\n});\ncljs.core.first_array_for_longvec \x3d (function cljs$core$first_array_for_longvec(pv){\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__31254 \x3d cljs.core.pv_aget(node,(0));\nvar G__31255 \x3d (level - (5));\nnode \x3d G__31254;\nlevel \x3d G__31255;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n});\ncljs.core.unchecked_array_for \x3d (function cljs$core$unchecked_array_for(pv,i){\nif((i \x3e\x3d cljs.core.tail_off(pv))){\nreturn pv.tail;\n} else {\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__31257 \x3d cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31)));\nvar G__31258 \x3d (level - (5));\nnode \x3d G__31257;\nlevel \x3d G__31258;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\ncljs.core.array_for \x3d (function cljs$core$array_for(pv,i){\nif(((((0) \x3c\x3d i)) \x26\x26 ((i \x3c pv.cnt)))){\nreturn cljs.core.unchecked_array_for(pv,i);\n} else {\nreturn cljs.core.vector_index_out_of_bounds(i,pv.cnt);\n}\n});\ncljs.core.do_assoc \x3d (function cljs$core$do_assoc(pv,level,node,i,val){\nvar ret \x3d cljs.core.pv_clone_node(node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(ret,(i \x26 (31)),val);\n\nreturn ret;\n} else {\nvar subidx \x3d ((i \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(function (){var G__27713 \x3d pv;\nvar G__27714 \x3d (level - (5));\nvar G__27715 \x3d cljs.core.pv_aget(node,subidx);\nvar G__27716 \x3d i;\nvar G__27717 \x3d val;\nreturn (cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5 ? cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5(G__27713,G__27714,G__27715,G__27716,G__27717) : cljs.core.do_assoc.call(null,G__27713,G__27714,G__27715,G__27716,G__27717));\n})());\n\nreturn ret;\n}\n});\ncljs.core.pop_tail \x3d (function cljs$core$pop_tail(pv,level,node){\nvar subidx \x3d (((pv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__27718 \x3d pv;\nvar G__27719 \x3d (level - (5));\nvar G__27720 \x3d cljs.core.pv_aget(node,subidx);\nreturn (cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3(G__27718,G__27719,G__27720) : cljs.core.pop_tail.call(null,G__27718,G__27719,G__27720));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,new_child);\n\nreturn ret;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,null);\n\nreturn ret;\n\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.RangedIterator \x3d (function (i,base,arr,v,start,end){\nthis.i \x3d i;\nthis.base \x3d base;\nthis.arr \x3d arr;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\n});\n(cljs.core.RangedIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.i \x3c self__.end);\n}));\n\n(cljs.core.RangedIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.i - self__.base) \x3d\x3d\x3d (32))){\n(self__.arr \x3d cljs.core.unchecked_array_for(self__.v,self__.i));\n\n(self__.base \x3d (self__.base + (32)));\n} else {\n}\n\nvar ret \x3d (self__.arr[(self__.i \x26 (31))]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.RangedIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22base\x22,\x22base\x22,1825810849,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.RangedIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangedIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangedIterator\x22);\n\n(cljs.core.RangedIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RangedIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangedIterator.\n */\ncljs.core.__GT_RangedIterator \x3d (function cljs$core$__GT_RangedIterator(i,base,arr,v,start,end){\nreturn (new cljs.core.RangedIterator(i,base,arr,v,start,end));\n});\n\ncljs.core.ranged_iterator \x3d (function cljs$core$ranged_iterator(v,start,end){\nvar i \x3d start;\nreturn (new cljs.core.RangedIterator(i,(i - (i % (32))),(((start \x3c cljs.core.count(v)))?cljs.core.unchecked_array_for(v,i):null),v,start,end));\n});\ncljs.core.pv_reduce \x3d (function cljs$core$pv_reduce(var_args){\nvar G__27722 \x3d arguments.length;\nswitch (G__27722) {\ncase 4:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (pv,f,start,end){\nif((start \x3c end)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(pv,f,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(pv,start),(start + (1)),end);\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5 \x3d (function (pv,f,init,start,end){\nvar acc \x3d init;\nvar i \x3d start;\nvar arr \x3d cljs.core.unchecked_array_for(pv,start);\nwhile(true){\nif((i \x3c end)){\nvar j \x3d (i \x26 (31));\nvar arr__$1 \x3d (((j \x3d\x3d\x3d (0)))?cljs.core.unchecked_array_for(pv,i):arr);\nvar nacc \x3d (function (){var G__27723 \x3d acc;\nvar G__27724 \x3d (arr__$1[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27723,G__27724) : f.call(null,G__27723,G__27724));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__31260 \x3d nacc;\nvar G__31261 \x3d (i + (1));\nvar G__31262 \x3d arr__$1;\nacc \x3d G__31260;\ni \x3d G__31261;\narr \x3d G__31262;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.pv_reduce.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n\n\n\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.APersistentVector \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.APersistentVector}\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentVector \x3d (function (meta,cnt,shift,root,tail,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 401412;\n});\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (new cljs.core.MapEntry(n,(cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentVector.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentVector.prototype.indexOf \x3d (function() {\nvar G__31267 \x3d null;\nvar G__31267__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31267__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31267 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31267__1.call(this,x);\ncase 2:\nreturn G__31267__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31267.cljs$core$IFn$_invoke$arity$1 \x3d G__31267__1;\nG__31267.cljs$core$IFn$_invoke$arity$2 \x3d G__31267__2;\nreturn G__31267;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.lastIndexOf \x3d (function() {\nvar G__31268 \x3d null;\nvar G__31268__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31268__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31268 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31268__1.call(this,x);\ncase 2:\nreturn G__31268__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31268.cljs$core$IFn$_invoke$arity$1 \x3d G__31268__1;\nG__31268.cljs$core$IFn$_invoke$arity$2 \x3d G__31268__2;\nreturn G__31268;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__27726 \x3d init__$2;\nvar G__27727 \x3d (j + i);\nvar G__27728 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27726,G__27727,G__27728) : f.call(null,G__27726,G__27727,G__27728));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__31273 \x3d (j + (1));\nvar G__31274 \x3d init__$3;\nj \x3d G__31273;\ninit__$2 \x3d G__31274;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__31275 \x3d (i + len);\nvar G__31276 \x3d init__$2;\ni \x3d G__31275;\ninit__$1 \x3d G__31276;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$APersistentVector$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(coll__$1) \x3c\x3d n)){\nvar new_tail \x3d cljs.core.aclone(self__.tail);\n(new_tail[(n \x26 (31))] \x3d val);\n\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,new_tail,null));\n} else {\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,cljs.core.do_assoc(coll__$1,self__.shift,self__.root,n,val),self__.tail,null));\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn coll__$1.cljs$core$ICollection$_conj$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds  [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt),\x22]\x22].join(\x27\x27)));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.ranged_iterator(this$__$1,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,(self__.cnt - (1)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n} else {\nif(((1) \x3c (self__.cnt - cljs.core.tail_off(coll__$1)))){\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt - (1)),self__.shift,self__.root,self__.tail.slice((0),(-1)),null));\n} else {\nvar new_tail \x3d cljs.core.unchecked_array_for(coll__$1,(self__.cnt - (2)));\nvar nr \x3d cljs.core.pop_tail(coll__$1,self__.shift,self__.root);\nvar new_root \x3d (((nr \x3d\x3d null))?cljs.core.PersistentVector.EMPTY_NODE:nr);\nvar cnt_1 \x3d (self__.cnt - (1));\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,(self__.shift - (5)),cljs.core.pv_aget(new_root,(0)),new_tail,null));\n} else {\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,self__.shift,new_root,new_tail,null));\n}\n\n}\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(self__.cnt - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((other instanceof cljs.core.PersistentVector)){\nif((self__.cnt \x3d\x3d\x3d cljs.core.count(other))){\nvar me_iter \x3d coll__$1.cljs$core$IIterable$_iterator$arity$1(null);\nvar you_iter \x3d other.cljs$core$IIterable$_iterator$arity$1(null);\nwhile(true){\nif(me_iter.hasNext()){\nvar x \x3d me_iter.next();\nvar y \x3d you_iter.next();\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientVector(self__.cnt,self__.shift,(cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1(self__.root) : cljs.core.tv_editable_root.call(null,self__.root)),(cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1(self__.tail) : cljs.core.tv_editable_tail.call(null,self__.tail))));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (v,f){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(v__$1,f,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__27729 \x3d init__$2;\nvar G__27730 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27729,G__27730) : f.call(null,G__27729,G__27730));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__31279 \x3d (j + (1));\nvar G__31280 \x3d init__$3;\nj \x3d G__31279;\ninit__$2 \x3d G__31280;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__31281 \x3d (i + len);\nvar G__31282 \x3d init__$2;\ni \x3d G__31281;\ninit__$1 \x3d G__31282;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,k,v);\n} else {\nthrow (new Error(\x22Vector\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(k)){\nreturn ((((0) \x3c\x3d k)) \x26\x26 ((k \x3c self__.cnt)));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nif((self__.cnt \x3c\x3d (32))){\nreturn (new cljs.core.IndexedSeq(self__.tail,(0),null));\n} else {\nvar G__27731 \x3d coll__$1;\nvar G__27732 \x3d cljs.core.first_array_for_longvec(coll__$1);\nvar G__27733 \x3d (0);\nvar G__27734 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27731,G__27732,G__27733,G__27734) : cljs.core.chunked_seq.call(null,G__27731,G__27732,G__27733,G__27734));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentVector(new_meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.cnt - cljs.core.tail_off(coll__$1)) \x3c (32))){\nvar len \x3d self__.tail.length;\nvar new_tail \x3d (new Array((len + (1))));\nvar n__5616__auto___31287 \x3d len;\nvar i_31288 \x3d (0);\nwhile(true){\nif((i_31288 \x3c n__5616__auto___31287)){\n(new_tail[i_31288] \x3d (self__.tail[i_31288]));\n\nvar G__31289 \x3d (i_31288 + (1));\ni_31288 \x3d G__31289;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(new_tail[len] \x3d o);\n\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),self__.shift,self__.root,new_tail,null));\n} else {\nvar root_overflow_QMARK_ \x3d ((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift));\nvar new_shift \x3d ((root_overflow_QMARK_)?(self__.shift + (5)):self__.shift);\nvar new_root \x3d ((root_overflow_QMARK_)?(function (){var n_r \x3d cljs.core.pv_fresh_node(null);\ncljs.core.pv_aset(n_r,(0),self__.root);\n\ncljs.core.pv_aset(n_r,(1),cljs.core.new_path(null,self__.shift,(new cljs.core.VectorNode(null,self__.tail))));\n\nreturn n_r;\n})():cljs.core.push_tail(coll__$1,self__.shift,self__.root,(new cljs.core.VectorNode(null,self__.tail))));\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),new_shift,new_root,[o],null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27735 \x3d (arguments.length - (1));\nswitch (G__27735) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentVector.prototype.apply \x3d (function (self__,args27725){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27725)));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n} else {\nthrow (new Error(\x22Key must be integer\x22));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3c self__.cnt)){\nvar offset \x3d (n % (32));\nvar G__27736 \x3d coll__$1;\nvar G__27737 \x3d cljs.core.unchecked_array_for(coll__$1,n);\nvar G__27738 \x3d (n - offset);\nvar G__27739 \x3d offset;\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27736,G__27737,G__27738,G__27739) : cljs.core.chunked_seq.call(null,G__27736,G__27737,G__27738,G__27739));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentVector.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentVector.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentVector\x22);\n\n(cljs.core.PersistentVector.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentVector.\n */\ncljs.core.__GT_PersistentVector \x3d (function cljs$core$__GT_PersistentVector(meta,cnt,shift,root,tail,__hash){\nreturn (new cljs.core.PersistentVector(meta,cnt,shift,root,tail,__hash));\n});\n\n(cljs.core.PersistentVector.EMPTY_NODE \x3d (new cljs.core.VectorNode(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null])));\n(cljs.core.PersistentVector.EMPTY \x3d (new cljs.core.PersistentVector(null,(0),(5),cljs.core.PersistentVector.EMPTY_NODE,[],cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentVector.fromArray \x3d (function (xs,no_clone){\nvar l \x3d xs.length;\nvar xs__$1 \x3d ((no_clone)?xs:cljs.core.aclone(xs));\nif((l \x3c (32))){\nreturn (new cljs.core.PersistentVector(null,l,(5),cljs.core.PersistentVector.EMPTY_NODE,xs__$1,null));\n} else {\nvar node \x3d xs__$1.slice((0),(32));\nvar v \x3d (new cljs.core.PersistentVector(null,(32),(5),cljs.core.PersistentVector.EMPTY_NODE,node,null));\nvar i \x3d (32);\nvar out \x3d v.cljs$core$IEditableCollection$_as_transient$arity$1(null);\nwhile(true){\nif((i \x3c l)){\nvar G__31294 \x3d (i + (1));\nvar G__31295 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(out,(xs__$1[i]));\ni \x3d G__31294;\nout \x3d G__31295;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentVector.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Creates a new vector containing the contents of coll. JavaScript arrays\n *   will be aliased and should not be modified.\n */\ncljs.core.vec \x3d (function cljs$core$vec(coll){\nif(cljs.core.truth_((cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.map_entry_QMARK_.call(null,coll)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.key.call(null,coll)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.val.call(null,coll))], null);\n} else {\nif(cljs.core.vector_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.PersistentVector.fromArray(coll,true);\n} else {\nreturn cljs.core._persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core._as_transient(cljs.core.PersistentVector.EMPTY),coll));\n\n}\n}\n}\n});\n/**\n * Creates a new vector containing the args.\n */\ncljs.core.vector \x3d (function cljs$core$vector(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31297 \x3d arguments.length;\nvar i__5750__auto___31298 \x3d (0);\nwhile(true){\nif((i__5750__auto___31298 \x3c len__5749__auto___31297)){\nargs__5755__auto__.push((arguments[i__5750__auto___31298]));\n\nvar G__31299 \x3d (i__5750__auto___31298 + (1));\ni__5750__auto___31298 \x3d G__31299;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nif((((args instanceof cljs.core.IndexedSeq)) \x26\x26 ((args.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentVector.fromArray(args.arr,(!(cljs.core.array_QMARK_(args.arr))));\n} else {\nreturn cljs.core.vec(args);\n}\n}));\n\n(cljs.core.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.vector.cljs$lang$applyTo \x3d (function (seq27740){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27740));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ChunkedSeq \x3d (function (vec,node,i,off,meta,__hash){\nthis.vec \x3d vec;\nthis.node \x3d node;\nthis.i \x3d i;\nthis.off \x3d off;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375020;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 263680;\n});\n(cljs.core.ChunkedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.indexOf \x3d (function() {\nvar G__31301 \x3d null;\nvar G__31301__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31301__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31301 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31301__1.call(this,x);\ncase 2:\nreturn G__31301__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31301.cljs$core$IFn$_invoke$arity$1 \x3d G__31301__1;\nG__31301.cljs$core$IFn$_invoke$arity$2 \x3d G__31301__2;\nreturn G__31301;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__31303 \x3d null;\nvar G__31303__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31303__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31303 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31303__1.call(this,x);\ncase 2:\nreturn G__31303__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31303.cljs$core$IFn$_invoke$arity$1 \x3d G__31303__1;\nG__31303.cljs$core$IFn$_invoke$arity$2 \x3d G__31303__2;\nreturn G__31303;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__27741 \x3d self__.vec;\nvar G__27742 \x3d self__.node;\nvar G__27743 \x3d self__.i;\nvar G__27744 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27741,G__27742,G__27743,G__27744) : cljs.core.chunked_seq.call(null,G__27741,G__27742,G__27743,G__27744));\n})();\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.vec,f,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.vec,f,start,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.node[self__.off]);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__27745 \x3d self__.vec;\nvar G__27746 \x3d self__.node;\nvar G__27747 \x3d self__.i;\nvar G__27748 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27745,G__27746,G__27747,G__27748) : cljs.core.chunked_seq.call(null,G__27745,G__27746,G__27747,G__27748));\n})();\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(self__.node,self__.off);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__27749 \x3d self__.vec;\nvar G__27750 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__27751 \x3d end;\nvar G__27752 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27749,G__27750,G__27751,G__27752) : cljs.core.chunked_seq.call(null,G__27749,G__27750,G__27751,G__27752));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(self__.vec,self__.node,self__.i,self__.off,new_meta) : cljs.core.chunked_seq.call(null,self__.vec,self__.node,self__.i,self__.off,new_meta));\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar o \x3d (self__.off + n);\nif((o \x3c self__.node.length)){\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(self__.vec,self__.node,self__.i,o) : cljs.core.chunked_seq.call(null,self__.vec,self__.node,self__.i,o));\n} else {\nvar i__$1 \x3d (self__.i + o);\nif((i__$1 \x3c cljs.core._count(self__.vec))){\nvar new_offset \x3d (i__$1 % (32));\nvar G__27753 \x3d self__.vec;\nvar G__27754 \x3d cljs.core.unchecked_array_for(self__.vec,i__$1);\nvar G__27755 \x3d (i__$1 - new_offset);\nvar G__27756 \x3d new_offset;\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27753,G__27754,G__27755,G__27756) : cljs.core.chunked_seq.call(null,G__27753,G__27754,G__27755,G__27756));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__27757 \x3d self__.vec;\nvar G__27758 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__27759 \x3d end;\nvar G__27760 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27757,G__27758,G__27759,G__27760) : cljs.core.chunked_seq.call(null,G__27757,G__27758,G__27759,G__27760));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ChunkedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vec\x22,\x22vec\x22,982683596,null),new cljs.core.Symbol(null,\x22node\x22,\x22node\x22,-2073234571,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedSeq\x22);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ChunkedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedSeq.\n */\ncljs.core.__GT_ChunkedSeq \x3d (function cljs$core$__GT_ChunkedSeq(vec,node,i,off,meta,__hash){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,__hash));\n});\n\n(cljs.core.ChunkedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.chunked_seq \x3d (function cljs$core$chunked_seq(var_args){\nvar G__27762 \x3d arguments.length;\nswitch (G__27762) {\ncase 3:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (vec,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,cljs.core.array_for(vec,i),i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 \x3d (function (vec,node,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 \x3d (function (vec,node,i,off,meta){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,null));\n}));\n\n(cljs.core.chunked_seq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Subvec \x3d (function (meta,v,start,end,__hash){\nthis.meta \x3d meta;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.core.Subvec.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3c (0))){\nreturn null;\n} else {\nvar idx \x3d (self__.start + n);\nif((idx \x3c self__.end)){\nreturn (new cljs.core.MapEntry(n,cljs.core._lookup(self__.v,idx),null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Subvec.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Subvec.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Subvec.prototype.indexOf \x3d (function() {\nvar G__31310 \x3d null;\nvar G__31310__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31310__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__31310 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__31310__1.call(this,x);\ncase 2:\nreturn G__31310__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31310.cljs$core$IFn$_invoke$arity$1 \x3d G__31310__1;\nG__31310.cljs$core$IFn$_invoke$arity$2 \x3d G__31310__2;\nreturn G__31310;\n})()\n);\n\n(cljs.core.Subvec.prototype.lastIndexOf \x3d (function() {\nvar G__31311 \x3d null;\nvar G__31311__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31311__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__31311 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__31311__1.call(this,x);\ncase 2:\nreturn G__31311__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31311.cljs$core$IFn$_invoke$arity$1 \x3d G__31311__1;\nG__31311.cljs$core$IFn$_invoke$arity$2 \x3d G__31311__2;\nreturn G__31311;\n})()\n);\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i \x3d self__.start;\nvar j \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.end)){\nvar init__$2 \x3d (function (){var G__27764 \x3d init__$1;\nvar G__27765 \x3d j;\nvar G__27766 \x3d cljs.core._nth(self__.v,i);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27764,G__27765,G__27766) : f.call(null,G__27764,G__27765,G__27766));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__31317 \x3d (i + (1));\nvar G__31318 \x3d (j + (1));\nvar G__31319 \x3d init__$2;\ni \x3d G__31317;\nj \x3d G__31318;\ninit__$1 \x3d G__31319;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn cljs.core.vector_index_out_of_bounds(n,(self__.end - self__.start));\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn not_found;\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n),not_found);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v_pos \x3d (self__.start + n);\nif((((n \x3c (0))) || (((self__.end + (1)) \x3c\x3d v_pos)))){\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll__$1.cljs$core$ICounted$_count$arity$1(null)),\x22]\x22].join(\x27\x27)));\n} else {\nvar G__27767 \x3d self__.meta;\nvar G__27768 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.v,v_pos,val);\nvar G__27769 \x3d self__.start;\nvar G__27770 \x3d (function (){var x__5110__auto__ \x3d self__.end;\nvar y__5111__auto__ \x3d (v_pos + (1));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar G__27771 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__27767,G__27768,G__27769,G__27770,G__27771) : cljs.core.build_subvec.call(null,G__27767,G__27768,G__27769,G__27770,G__27771));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.ranged_iterator(self__.v,self__.start,self__.end);\n} else {\nreturn cljs.core.seq_iter(coll__$1);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Subvec(self__.meta,self__.v,self__.start,self__.end,self__.__hash));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.end - self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core._nth(self__.v,(self__.end - (1)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nvar G__27773 \x3d self__.meta;\nvar G__27774 \x3d self__.v;\nvar G__27775 \x3d self__.start;\nvar G__27776 \x3d (self__.end - (1));\nvar G__27777 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__27773,G__27774,G__27775,G__27776,G__27777) : cljs.core.build_subvec.call(null,G__27773,G__27774,G__27775,G__27776,G__27777));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.start \x3d\x3d\x3d self__.end)))){\nreturn (new cljs.core.RSeq(coll__$1,((self__.end - self__.start) - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.v,f,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.v,f,init,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,init);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,key,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22Subvec\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,key){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(key)){\nreturn ((((0) \x3c\x3d key)) \x26\x26 ((key \x3c (self__.end - self__.start))));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar subvec_seq \x3d (function cljs$core$subvec_seq(i){\nif((i \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core.cons(cljs.core._nth(self__.v,i),(new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$subvec_seq((i + (1)));\n}),null,null)));\n}\n});\nreturn subvec_seq(self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(new_meta,self__.v,self__.start,self__.end,self__.__hash) : cljs.core.build_subvec.call(null,new_meta,self__.v,self__.start,self__.end,self__.__hash));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__27780 \x3d self__.meta;\nvar G__27781 \x3d cljs.core._assoc_n(self__.v,self__.end,o);\nvar G__27782 \x3d self__.start;\nvar G__27783 \x3d (self__.end + (1));\nvar G__27784 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__27780,G__27781,G__27782,G__27783,G__27784) : cljs.core.build_subvec.call(null,G__27780,G__27781,G__27782,G__27783,G__27784));\n}));\n\n(cljs.core.Subvec.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27785 \x3d (arguments.length - (1));\nswitch (G__27785) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Subvec.prototype.apply \x3d (function (self__,args27763){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27763)));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.Subvec.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Subvec.cljs$lang$type \x3d true);\n\n(cljs.core.Subvec.cljs$lang$ctorStr \x3d \x22cljs.core/Subvec\x22);\n\n(cljs.core.Subvec.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Subvec\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Subvec.\n */\ncljs.core.__GT_Subvec \x3d (function cljs$core$__GT_Subvec(meta,v,start,end,__hash){\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n});\n\n(cljs.core.Subvec.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.build_subvec \x3d (function cljs$core$build_subvec(meta,v,start,end,__hash){\nwhile(true){\nif((v instanceof cljs.core.Subvec)){\nvar G__31328 \x3d meta;\nvar G__31329 \x3d v.v;\nvar G__31330 \x3d (v.start + start);\nvar G__31331 \x3d (v.start + end);\nvar G__31332 \x3d __hash;\nmeta \x3d G__31328;\nv \x3d G__31329;\nstart \x3d G__31330;\nend \x3d G__31331;\n__hash \x3d G__31332;\ncontinue;\n} else {\nif(cljs.core.vector_QMARK_(v)){\n} else {\nthrow (new Error(\x22v must satisfy IVector\x22));\n}\n\nif((((start \x3c (0))) || ((((end \x3c start)) || ((end \x3e cljs.core.count(v))))))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\n}\n\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n}\nbreak;\n}\n});\n/**\n * Returns a persistent vector of the items in vector from\n *   start (inclusive) to end (exclusive).  If end is not supplied,\n *   defaults to (count vector). This operation is O(1) and very fast, as\n *   the resulting vector shares structure with the original and no\n *   trimming is done.\n */\ncljs.core.subvec \x3d (function cljs$core$subvec(var_args){\nvar G__27787 \x3d arguments.length;\nswitch (G__27787) {\ncase 2:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$2 \x3d (function (v,start){\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(v,start,cljs.core.count(v));\n}));\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3 \x3d (function (v,start,end){\nif((((!((start \x3d\x3d null)))) \x26\x26 ((!((end \x3d\x3d null)))))){\n} else {\nthrow (new Error(\x22Assert failed: (and (not (nil? start)) (not (nil? end)))\x22));\n}\n\nreturn cljs.core.build_subvec(null,v,(start | (0)),(end | (0)),null);\n}));\n\n(cljs.core.subvec.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.tv_ensure_editable \x3d (function cljs$core$tv_ensure_editable(edit,node){\nif((edit \x3d\x3d\x3d node.edit)){\nreturn node;\n} else {\nreturn (new cljs.core.VectorNode(edit,cljs.core.aclone(node.arr)));\n}\n});\ncljs.core.tv_editable_root \x3d (function cljs$core$tv_editable_root(node){\nreturn (new cljs.core.VectorNode(({}),cljs.core.aclone(node.arr)));\n});\ncljs.core.tv_editable_tail \x3d (function cljs$core$tv_editable_tail(tl){\nvar ret \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\ncljs.core.array_copy(tl,(0),ret,(0),tl.length);\n\nreturn ret;\n});\ncljs.core.tv_push_tail \x3d (function cljs$core$tv_push_tail(tv,level,parent,tail_node){\nvar ret \x3d cljs.core.tv_ensure_editable(tv.root.edit,parent);\nvar subidx \x3d (((tv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(((level \x3d\x3d\x3d (5)))?tail_node:(function (){var child \x3d cljs.core.pv_aget(ret,subidx);\nif((!((child \x3d\x3d null)))){\nvar G__27790 \x3d tv;\nvar G__27791 \x3d (level - (5));\nvar G__27792 \x3d child;\nvar G__27793 \x3d tail_node;\nreturn (cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4(G__27790,G__27791,G__27792,G__27793) : cljs.core.tv_push_tail.call(null,G__27790,G__27791,G__27792,G__27793));\n} else {\nreturn cljs.core.new_path(tv.root.edit,(level - (5)),tail_node);\n}\n})()));\n\nreturn ret;\n});\ncljs.core.tv_pop_tail \x3d (function cljs$core$tv_pop_tail(tv,level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(tv.root.edit,node);\nvar subidx \x3d (((tv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__27794 \x3d tv;\nvar G__27795 \x3d (level - (5));\nvar G__27796 \x3d cljs.core.pv_aget(node__$1,subidx);\nreturn (cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3(G__27794,G__27795,G__27796) : cljs.core.tv_pop_tail.call(null,G__27794,G__27795,G__27796));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,new_child);\n\nreturn node__$1;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,null);\n\nreturn node__$1;\n\n}\n}\n});\ncljs.core.unchecked_editable_array_for \x3d (function cljs$core$unchecked_editable_array_for(tv,i){\nif((i \x3e\x3d cljs.core.tail_off(tv))){\nreturn tv.tail;\n} else {\nvar root \x3d tv.root;\nvar node \x3d root;\nvar level \x3d tv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__31352 \x3d cljs.core.tv_ensure_editable(root.edit,cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31))));\nvar G__31353 \x3d (level - (5));\nnode \x3d G__31352;\nlevel \x3d G__31353;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientVector}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientVector \x3d (function (cnt,shift,root,tail){\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 88;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 275;\n});\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((self__.cnt - cljs.core.tail_off(tcoll__$1)) \x3c (32))){\n(self__.tail[(self__.cnt \x26 (31))] \x3d o);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar tail_node \x3d (new cljs.core.VectorNode(self__.root.edit,self__.tail));\nvar new_tail \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(new_tail[(0)] \x3d o);\n\n(self__.tail \x3d new_tail);\n\nif(((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift))){\nvar new_root_array \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\nvar new_shift \x3d (self__.shift + (5));\n(new_root_array[(0)] \x3d self__.root);\n\n(new_root_array[(1)] \x3d cljs.core.new_path(self__.root.edit,self__.shift,tail_node));\n\n(self__.root \x3d (new cljs.core.VectorNode(self__.root.edit,new_root_array)));\n\n(self__.shift \x3d new_shift);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d cljs.core.tv_push_tail(tcoll__$1,self__.shift,self__.root,tail_node);\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\n(self__.root.edit \x3d null);\n\nvar len \x3d (self__.cnt - cljs.core.tail_off(tcoll__$1));\nvar trimmed_tail \x3d (new Array(len));\ncljs.core.array_copy(self__.tail,(0),trimmed_tail,(0),len);\n\nreturn (new cljs.core.PersistentVector(null,self__.cnt,self__.shift,self__.root,trimmed_tail,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn tcoll__$1.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22TransientVector\x27s key for assoc! must be a number.\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d (function (tcoll,n,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(tcoll__$1) \x3c\x3d n)){\n(self__.tail[(n \x26 (31))] \x3d val);\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d (function cljs$core$go(level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(node__$1,(n \x26 (31)),val);\n\nreturn node__$1;\n} else {\nvar subidx \x3d ((n \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(node__$1,subidx,cljs$core$go((level - (5)),cljs.core.pv_aget(node__$1,subidx)));\n\nreturn node__$1;\n}\n})(self__.shift,self__.root);\n(self__.root \x3d new_root);\n\nreturn tcoll__$1;\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn tcoll__$1.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds for TransientVector of length\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt)].join(\x27\x27)));\n\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\n(self__.cnt \x3d (0));\n\nreturn tcoll__$1;\n} else {\nif((((self__.cnt - (1)) \x26 (31)) \x3e (0))){\n(self__.cnt \x3d (self__.cnt - (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_tail \x3d cljs.core.unchecked_editable_array_for(tcoll__$1,(self__.cnt - (2)));\nvar new_root \x3d (function (){var nr \x3d cljs.core.tv_pop_tail(tcoll__$1,self__.shift,self__.root);\nif((!((nr \x3d\x3d null)))){\nreturn nr;\n} else {\nreturn (new cljs.core.VectorNode(self__.root.edit,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]));\n}\n})();\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nvar new_root__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,cljs.core.pv_aget(new_root,(0)));\n(self__.root \x3d new_root__$1);\n\n(self__.shift \x3d (self__.shift - (5)));\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n} else {\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n}\n\n}\n}\n}\n} else {\nthrow (new Error(\x22pop! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn self__.cnt;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nthrow (new Error(\x22nth after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!(self__.root.edit))){\nthrow (new Error(\x22lookup after persistent!\x22));\n} else {\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.TransientVector.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27798 \x3d (arguments.length - (1));\nswitch (G__27798) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientVector.prototype.apply \x3d (function (self__,args27797){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27797)));\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.TransientVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientVector.cljs$lang$type \x3d true);\n\n(cljs.core.TransientVector.cljs$lang$ctorStr \x3d \x22cljs.core/TransientVector\x22);\n\n(cljs.core.TransientVector.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransientVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientVector.\n */\ncljs.core.__GT_TransientVector \x3d (function cljs$core$__GT_TransientVector(cnt,shift,root,tail){\nreturn (new cljs.core.TransientVector(cnt,shift,root,tail));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentQueueIter \x3d (function (fseq,riter){\nthis.fseq \x3d fseq;\nthis.riter \x3d riter;\n});\n(cljs.core.PersistentQueueIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5025__auto__ \x3d (((!((self__.fseq \x3d\x3d null)))) \x26\x26 (cljs.core.seq(self__.fseq)));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d (!((self__.riter \x3d\x3d null)));\nif(and__5023__auto__){\nreturn self__.riter.hasNext();\n} else {\nreturn and__5023__auto__;\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.fseq \x3d\x3d null)))){\nvar ret \x3d cljs.core.first(self__.fseq);\n(self__.fseq \x3d cljs.core.next(self__.fseq));\n\nreturn ret;\n} else {\nif((((!((self__.riter \x3d\x3d null)))) \x26\x26 (self__.riter.hasNext()))){\nreturn self__.riter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.PersistentQueueIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22fseq\x22,\x22fseq\x22,-1466412450,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22riter\x22,\x22riter\x22,-237834262,null)], null);\n}));\n\n(cljs.core.PersistentQueueIter.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueIter\x22);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentQueueIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueIter.\n */\ncljs.core.__GT_PersistentQueueIter \x3d (function cljs$core$__GT_PersistentQueueIter(fseq,riter){\nreturn (new cljs.core.PersistentQueueIter(fseq,riter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueueSeq \x3d (function (meta,front,rear,__hash){\nthis.meta \x3d meta;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850700;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentQueueSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.indexOf \x3d (function() {\nvar G__31403 \x3d null;\nvar G__31403__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31403__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31403 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31403__1.call(this,x);\ncase 2:\nreturn G__31403__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31403.cljs$core$IFn$_invoke$arity$1 \x3d G__31403__1;\nG__31403.cljs$core$IFn$_invoke$arity$2 \x3d G__31403__2;\nreturn G__31403;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.lastIndexOf \x3d (function() {\nvar G__31404 \x3d null;\nvar G__31404__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31404__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31404 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31404__1.call(this,x);\ncase 2:\nreturn G__31404__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31404.cljs$core$IFn$_invoke$arity$1 \x3d G__31404__1;\nG__31404.cljs$core$IFn$_invoke$arity$2 \x3d G__31404__2;\nreturn G__31404;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((!((self__.rear \x3d\x3d null)))){\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((self__.rear \x3d\x3d null)){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueueSeq(new_meta,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueueSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueSeq\x22);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentQueueSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueSeq.\n */\ncljs.core.__GT_PersistentQueueSeq \x3d (function cljs$core$__GT_PersistentQueueSeq(meta,front,rear,__hash){\nreturn (new cljs.core.PersistentQueueSeq(meta,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueueSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueue \x3d (function (meta,count,front,rear,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31858766;\n});\n(cljs.core.PersistentQueue.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueue.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.indexOf \x3d (function() {\nvar G__31422 \x3d null;\nvar G__31422__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31422__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31422 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31422__1.call(this,x);\ncase 2:\nreturn G__31422__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31422.cljs$core$IFn$_invoke$arity$1 \x3d G__31422__1;\nG__31422.cljs$core$IFn$_invoke$arity$2 \x3d G__31422__2;\nreturn G__31422;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.lastIndexOf \x3d (function() {\nvar G__31425 \x3d null;\nvar G__31425__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(self__.count.cljs$core$IFn$_invoke$arity$1 ? self__.count.cljs$core$IFn$_invoke$arity$1(coll) : self__.count.call(null,coll)));\n});\nvar G__31425__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31425 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31425__1.call(this,x);\ncase 2:\nreturn G__31425__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31425.cljs$core$IFn$_invoke$arity$1 \x3d G__31425__1;\nG__31425.cljs$core$IFn$_invoke$arity$2 \x3d G__31425__2;\nreturn G__31425;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueueIter(self__.front,cljs.core._iterator(self__.rear)));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueue(self__.meta,self__.count,self__.front,self__.rear,self__.__hash));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),f1,self__.rear,null));\n} else {\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),cljs.core.seq(self__.rear),cljs.core.PersistentVector.EMPTY,null));\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentQueue.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.rest(cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar rear__$1 \x3d cljs.core.seq(self__.rear);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d self__.front;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn rear__$1;\n}\n})())){\nreturn (new cljs.core.PersistentQueueSeq(null,self__.front,cljs.core.seq(rear__$1),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueue(new_meta,self__.count,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),self__.front,cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d self__.rear;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),o),null));\n} else {\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.front,o),cljs.core.PersistentVector.EMPTY,null));\n}\n}));\n\n(cljs.core.PersistentQueue.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueue.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueue\x22);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentQueue\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueue.\n */\ncljs.core.__GT_PersistentQueue \x3d (function cljs$core$__GT_PersistentQueue(meta,count,front,rear,__hash){\nreturn (new cljs.core.PersistentQueue(meta,count,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueue.EMPTY \x3d (new cljs.core.PersistentQueue(null,(0),null,cljs.core.PersistentVector.EMPTY,cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentQueue.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n*/\ncljs.core.NeverEquiv \x3d (function (){\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2097152;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NeverEquiv.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NeverEquiv.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.NeverEquiv.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.NeverEquiv.cljs$lang$type \x3d true);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorStr \x3d \x22cljs.core/NeverEquiv\x22);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/NeverEquiv\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NeverEquiv.\n */\ncljs.core.__GT_NeverEquiv \x3d (function cljs$core$__GT_NeverEquiv(){\nreturn (new cljs.core.NeverEquiv());\n});\n\ncljs.core.never_equiv \x3d (new cljs.core.NeverEquiv());\n/**\n * Test map equivalence. Returns true if x equals y, otherwise returns false.\n */\ncljs.core.equiv_map \x3d (function cljs$core$equiv_map(x,y){\nreturn cljs.core.boolean$(((((cljs.core.map_QMARK_(y)) \x26\x26 ((!(cljs.core.record_QMARK_(y))))))?(((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))?(((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1048576))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IKVReduce$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x)))?cljs.core.reduce_kv((function (_,k,v){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,k,cljs.core.never_equiv),v)){\nreturn true;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,x):cljs.core.every_QMARK_((function (xkv){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,cljs.core.first(xkv),cljs.core.never_equiv),cljs.core.second(xkv));\n}),x)):null):null));\n});\ncljs.core.scan_array \x3d (function cljs$core$scan_array(incr,k,array){\nvar len \x3d array.length;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((k \x3d\x3d\x3d (array[i]))){\nreturn i;\n} else {\nvar G__31521 \x3d (i + incr);\ni \x3d G__31521;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.core.obj_map_compare_keys \x3d (function cljs$core$obj_map_compare_keys(a,b){\nvar a__$1 \x3d cljs.core.hash(a);\nvar b__$1 \x3d cljs.core.hash(b);\nif((a__$1 \x3c b__$1)){\nreturn (-1);\n} else {\nif((a__$1 \x3e b__$1)){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\ncljs.core.obj_map__GT_hash_map \x3d (function cljs$core$obj_map__GT_hash_map(m,k,v){\nvar ks \x3d m.keys;\nvar len \x3d ks.length;\nvar so \x3d m.strobj;\nvar mm \x3d cljs.core.meta(m);\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar k__$1 \x3d (ks[i]);\nvar G__31528 \x3d (i + (1));\nvar G__31529 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k__$1,cljs.core.goog$module$goog$object.get(so,k__$1));\ni \x3d G__31528;\nout \x3d G__31529;\ncontinue;\n} else {\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k,v)),mm);\n}\nbreak;\n}\n});\ncljs.core.obj_clone \x3d (function cljs$core$obj_clone(obj,ks){\nvar new_obj \x3d ({});\nvar l \x3d ks.length;\nvar i_31530 \x3d (0);\nwhile(true){\nif((i_31530 \x3c l)){\nvar k_31531 \x3d (ks[i_31530]);\ncljs.core.goog$module$goog$object.set(new_obj,k_31531,cljs.core.goog$module$goog$object.get(obj,k_31531));\n\nvar G__31533 \x3d (i_31530 + (1));\ni_31530 \x3d G__31533;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.ObjMap \x3d (function (meta,keys,strobj,update_count,__hash){\nthis.meta \x3d meta;\nthis.keys \x3d keys;\nthis.strobj \x3d strobj;\nthis.update_count \x3d update_count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4;\n});\n(cljs.core.ObjMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (new cljs.core.MapEntry(k,(self__.strobj[k]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ObjMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (self__.strobj[k]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.keys.length;\nvar keys__$1 \x3d self__.keys.sort(cljs.core.obj_map_compare_keys);\nvar init__$1 \x3d init;\nwhile(true){\nif(cljs.core.seq(keys__$1)){\nvar k \x3d cljs.core.first(keys__$1);\nvar init__$2 \x3d (function (){var G__27804 \x3d init__$1;\nvar G__27805 \x3d k;\nvar G__27806 \x3d (self__.strobj[k]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27804,G__27805,G__27806) : f.call(null,G__27804,G__27805,G__27806));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__31555 \x3d cljs.core.rest(keys__$1);\nvar G__31556 \x3d init__$2;\nkeys__$1 \x3d G__31555;\ninit__$1 \x3d G__31556;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.keys.length;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.transient$(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.ObjMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nvar new_keys \x3d cljs.core.aclone(self__.keys);\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nnew_keys.splice(cljs.core.scan_array((1),k,new_keys),(1));\n\ndelete new_strobj[k];\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nif((((self__.update_count \x3e cljs.core.ObjMap.HASHMAP_THRESHOLD)) || ((self__.keys.length \x3e\x3d cljs.core.ObjMap.HASHMAP_THRESHOLD)))){\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n} else {\nif((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))){\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nreturn (new cljs.core.ObjMap(self__.meta,self__.keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nvar new_keys \x3d cljs.core.aclone(self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nnew_keys.push(k);\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n}\n}\n} else {\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn true;\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.keys.length \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__27802_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__27802_SHARP_,(self__.strobj[p1__27802_SHARP_])],null));\n}),self__.keys.sort(cljs.core.obj_map_compare_keys));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ObjMap(new_meta,self__.keys,self__.strobj,self__.update_count,self__.__hash));\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,coll__$1,entry);\n}\n}));\n\n(cljs.core.ObjMap.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27807 \x3d (arguments.length - (1));\nswitch (G__27807) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.ObjMap.prototype.apply \x3d (function (self__,args27803){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27803)));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.ObjMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22strobj\x22,\x22strobj\x22,1088091283,null),new cljs.core.Symbol(null,\x22update-count\x22,\x22update-count\x22,-411982269,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ObjMap.cljs$lang$type \x3d true);\n\n(cljs.core.ObjMap.cljs$lang$ctorStr \x3d \x22cljs.core/ObjMap\x22);\n\n(cljs.core.ObjMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ObjMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ObjMap.\n */\ncljs.core.__GT_ObjMap \x3d (function cljs$core$__GT_ObjMap(meta,keys,strobj,update_count,__hash){\nreturn (new cljs.core.ObjMap(meta,keys,strobj,update_count,__hash));\n});\n\n(cljs.core.ObjMap.EMPTY \x3d (new cljs.core.ObjMap(null,[],({}),(0),cljs.core.empty_unordered_hash)));\n(cljs.core.ObjMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.ObjMap.fromObject \x3d (function (ks,obj){\nreturn (new cljs.core.ObjMap(null,ks,obj,(0),null));\n}));\n\n/**\n* @constructor\n*/\ncljs.core.RecordIter \x3d (function (i,record,base_count,fields,ext_map_iter){\nthis.i \x3d i;\nthis.record \x3d record;\nthis.base_count \x3d base_count;\nthis.fields \x3d fields;\nthis.ext_map_iter \x3d ext_map_iter;\n});\n(cljs.core.RecordIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5025__auto__ \x3d (self__.i \x3c self__.base_count);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn self__.ext_map_iter.hasNext();\n}\n}));\n\n(cljs.core.RecordIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.i \x3c self__.base_count)){\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(self__.fields,self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn (new cljs.core.MapEntry(k,cljs.core._lookup(self__.record,k),null));\n} else {\nreturn self__.ext_map_iter.next();\n}\n}));\n\n(cljs.core.RecordIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.RecordIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22record\x22,\x22record\x22,861424668,null),new cljs.core.Symbol(null,\x22base-count\x22,\x22base-count\x22,-1180647182,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22ext-map-iter\x22,\x22ext-map-iter\x22,-1215982757,null)], null);\n}));\n\n(cljs.core.RecordIter.cljs$lang$type \x3d true);\n\n(cljs.core.RecordIter.cljs$lang$ctorStr \x3d \x22cljs.core/RecordIter\x22);\n\n(cljs.core.RecordIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RecordIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RecordIter.\n */\ncljs.core.__GT_RecordIter \x3d (function cljs$core$__GT_RecordIter(i,record,base_count,fields,ext_map_iter){\nreturn (new cljs.core.RecordIter(i,record,base_count,fields,ext_map_iter));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6EntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6EntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar vec__27810 \x3d cljs.core.first(self__.s);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27810,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27810,(1),null);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [k,v], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6EntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6EntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6EntriesIterator\x22);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ES6EntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6EntriesIterator.\n */\ncljs.core.__GT_ES6EntriesIterator \x3d (function cljs$core$__GT_ES6EntriesIterator(s){\nreturn (new cljs.core.ES6EntriesIterator(s));\n});\n\ncljs.core.es6_entries_iterator \x3d (function cljs$core$es6_entries_iterator(coll){\nreturn (new cljs.core.ES6EntriesIterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ES6SetEntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6SetEntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [x,x], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6SetEntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6SetEntriesIterator\x22);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ES6SetEntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6SetEntriesIterator.\n */\ncljs.core.__GT_ES6SetEntriesIterator \x3d (function cljs$core$__GT_ES6SetEntriesIterator(s){\nreturn (new cljs.core.ES6SetEntriesIterator(s));\n});\n\ncljs.core.es6_set_entries_iterator \x3d (function cljs$core$es6_set_entries_iterator(coll){\nreturn (new cljs.core.ES6SetEntriesIterator(cljs.core.seq(coll)));\n});\ncljs.core.array_index_of_nil_QMARK_ \x3d (function cljs$core$array_index_of_nil_QMARK_(arr){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((arr[i]) \x3d\x3d null)){\nreturn i;\n} else {\nvar G__31671 \x3d (i + (2));\ni \x3d G__31671;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_keyword_QMARK_ \x3d (function cljs$core$array_index_of_keyword_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.fqn;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Keyword)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).fqn)))){\nreturn i;\n} else {\nvar G__31672 \x3d (i + (2));\ni \x3d G__31672;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_symbol_QMARK_ \x3d (function cljs$core$array_index_of_symbol_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.str;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Symbol)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).str)))){\nreturn i;\n} else {\nvar G__31676 \x3d (i + (2));\ni \x3d G__31676;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_identical_QMARK_ \x3d (function cljs$core$array_index_of_identical_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif((k \x3d\x3d\x3d (arr[i]))){\nreturn i;\n} else {\nvar G__31677 \x3d (i + (2));\ni \x3d G__31677;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_equiv_QMARK_ \x3d (function cljs$core$array_index_of_equiv_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(arr[i]))){\nreturn i;\n} else {\nvar G__31678 \x3d (i + (2));\ni \x3d G__31678;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of \x3d (function cljs$core$array_index_of(arr,k){\nif((k instanceof cljs.core.Keyword)){\nreturn cljs.core.array_index_of_keyword_QMARK_(arr,k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (typeof k \x3d\x3d\x3d \x27number\x27))){\nreturn cljs.core.array_index_of_identical_QMARK_(arr,k);\n} else {\nif((k instanceof cljs.core.Symbol)){\nreturn cljs.core.array_index_of_symbol_QMARK_(arr,k);\n} else {\nif((k \x3d\x3d null)){\nreturn cljs.core.array_index_of_nil_QMARK_(arr);\n} else {\nreturn cljs.core.array_index_of_equiv_QMARK_(arr,k);\n\n}\n}\n}\n}\n});\ncljs.core.array_map_index_of \x3d (function cljs$core$array_map_index_of(m,k){\nreturn cljs.core.array_index_of(m.arr,k);\n});\ncljs.core.array_extend_kv \x3d (function cljs$core$array_extend_kv(arr,k,v){\nvar l \x3d arr.length;\nvar narr \x3d (new Array((l + (2))));\nvar i_31679 \x3d (0);\nwhile(true){\nif((i_31679 \x3c l)){\n(narr[i_31679] \x3d (arr[i_31679]));\n\nvar G__31680 \x3d (i_31679 + (1));\ni_31679 \x3d G__31680;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(narr[l] \x3d k);\n\n(narr[(l + (1))] \x3d v);\n\nreturn narr;\n});\ncljs.core.array_map_extend_kv \x3d (function cljs$core$array_map_extend_kv(m,k,v){\nreturn cljs.core.array_extend_kv(m.arr,k,v);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.MapEntry \x3d (function (key,val,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MapEntry.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__27814 \x3d k;\nswitch (G__27814) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.indexOf \x3d (function() {\nvar G__31683 \x3d null;\nvar G__31683__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31683__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31683 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31683__1.call(this,x);\ncase 2:\nreturn G__31683__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31683.cljs$core$IFn$_invoke$arity$1 \x3d G__31683__1;\nG__31683.cljs$core$IFn$_invoke$arity$2 \x3d G__31683__2;\nreturn G__31683;\n})()\n);\n\n(cljs.core.MapEntry.prototype.lastIndexOf \x3d (function() {\nvar G__31686 \x3d null;\nvar G__31686__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31686__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31686 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31686__1.call(this,x);\ncase 2:\nreturn G__31686__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31686.cljs$core$IFn$_invoke$arity$1 \x3d G__31686__1;\nG__31686.cljs$core$IFn$_invoke$arity$2 \x3d G__31686__2;\nreturn G__31686;\n})()\n);\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.MapEntry.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27815 \x3d (arguments.length - (1));\nswitch (G__27815) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.apply \x3d (function (self__,args27813){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27813)));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.MapEntry.cljs$lang$type \x3d true);\n\n(cljs.core.MapEntry.cljs$lang$ctorStr \x3d \x22cljs.core/MapEntry\x22);\n\n(cljs.core.MapEntry.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/MapEntry\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MapEntry.\n */\ncljs.core.__GT_MapEntry \x3d (function cljs$core$__GT_MapEntry(key,val,__hash){\nreturn (new cljs.core.MapEntry(key,val,__hash));\n});\n\n/**\n * Returns true if x satisfies IMapEntry\n */\ncljs.core.map_entry_QMARK_ \x3d (function cljs$core$map_entry_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMapEntry$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMapSeq \x3d (function (arr,i,_meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 262144;\n});\n(cljs.core.PersistentArrayMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.indexOf \x3d (function() {\nvar G__31701 \x3d null;\nvar G__31701__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31701__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31701 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31701__1.call(this,x);\ncase 2:\nreturn G__31701__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31701.cljs$core$IFn$_invoke$arity$1 \x3d G__31701__1;\nG__31701.cljs$core$IFn$_invoke$arity$2 \x3d G__31701__2;\nreturn G__31701;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__31702 \x3d null;\nvar G__31702__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31702__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31702 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31702__1.call(this,x);\ncase 2:\nreturn G__31702__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31702.cljs$core$IFn$_invoke$arity$1 \x3d G__31702__1;\nG__31702.cljs$core$IFn$_invoke$arity$2 \x3d G__31702__2;\nreturn G__31702;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn ((self__.arr.length - self__.i) / (2));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3c coll__$1.cljs$core$ICounted$_count$arity$1(null))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + ((2) * n)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapSeq\x22);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentArrayMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapSeq.\n */\ncljs.core.__GT_PersistentArrayMapSeq \x3d (function cljs$core$__GT_PersistentArrayMapSeq(arr,i,_meta){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n});\n\n(cljs.core.PersistentArrayMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.persistent_array_map_seq \x3d (function cljs$core$persistent_array_map_seq(arr,i,_meta){\nif((i \x3c\x3d (arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n} else {\nreturn null;\n}\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentArrayMapIterator \x3d (function (arr,i,cnt){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.cnt \x3d cnt;\n});\n(cljs.core.PersistentArrayMapIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.cnt);\n}));\n\n(cljs.core.PersistentArrayMapIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n(self__.i \x3d (self__.i + (2)));\n\nreturn ret;\n}));\n\n(cljs.core.PersistentArrayMapIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapIterator\x22);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentArrayMapIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapIterator.\n */\ncljs.core.__GT_PersistentArrayMapIterator \x3d (function cljs$core$__GT_PersistentArrayMapIterator(arr,i,cnt){\nreturn (new cljs.core.PersistentArrayMapIterator(arr,i,cnt));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMap \x3d (function (meta,cnt,arr,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16647951;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 401412;\n});\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn null;\n} else {\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__27818 \x3d cljs.core.seq(coll);\nvar chunk__27819 \x3d null;\nvar count__27820 \x3d (0);\nvar i__27821 \x3d (0);\nwhile(true){\nif((i__27821 \x3c count__27820)){\nvar vec__27828 \x3d chunk__27819.cljs$core$IIndexed$_nth$arity$2(null,i__27821);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27828,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27828,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31706 \x3d seq__27818;\nvar G__31707 \x3d chunk__27819;\nvar G__31708 \x3d count__27820;\nvar G__31709 \x3d (i__27821 + (1));\nseq__27818 \x3d G__31706;\nchunk__27819 \x3d G__31707;\ncount__27820 \x3d G__31708;\ni__27821 \x3d G__31709;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27818);\nif(temp__5804__auto__){\nvar seq__27818__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27818__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__27818__$1);\nvar G__31714 \x3d cljs.core.chunk_rest(seq__27818__$1);\nvar G__31715 \x3d c__5548__auto__;\nvar G__31716 \x3d cljs.core.count(c__5548__auto__);\nvar G__31717 \x3d (0);\nseq__27818 \x3d G__31714;\nchunk__27819 \x3d G__31715;\ncount__27820 \x3d G__31716;\ni__27821 \x3d G__31717;\ncontinue;\n} else {\nvar vec__27831 \x3d cljs.core.first(seq__27818__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27831,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27831,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31722 \x3d cljs.core.next(seq__27818__$1);\nvar G__31723 \x3d null;\nvar G__31724 \x3d (0);\nvar G__31725 \x3d (0);\nseq__27818 \x3d G__31722;\nchunk__27819 \x3d G__31723;\ncount__27820 \x3d G__31724;\ni__27821 \x3d G__31725;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var G__27834 \x3d init__$1;\nvar G__27835 \x3d (self__.arr[i]);\nvar G__27836 \x3d (self__.arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27834,G__27835,G__27836) : f.call(null,G__27834,G__27835,G__27836));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__31730 \x3d (i + (2));\nvar G__31731 \x3d init__$2;\ni \x3d G__31730;\ninit__$1 \x3d G__31731;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMapIterator(self__.arr,(0),(self__.cnt * (2))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,self__.arr,self__.__hash));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.map_QMARK_(other)) \x26\x26 ((!(cljs.core.record_QMARK_(other)))))){\nvar alen \x3d self__.arr.length;\nvar other__$1 \x3d other;\nif((self__.cnt \x3d\x3d\x3d other__$1.cljs$core$ICounted$_count$arity$1(null))){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c alen)){\nvar v \x3d other__$1.cljs$core$ILookup$_lookup$arity$3(null,(self__.arr[i]),cljs.core.lookup_sentinel);\nif((!((v \x3d\x3d\x3d cljs.core.lookup_sentinel)))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(i + (1))]),v)){\nvar G__31738 \x3d (i + (2));\ni \x3d G__31738;\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientArrayMap(({}),self__.arr.length,cljs.core.aclone(self__.arr)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentArrayMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,start);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3e\x3d (0))){\nvar len \x3d self__.arr.length;\nvar new_len \x3d (len - (2));\nif((new_len \x3d\x3d\x3d (0))){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nvar new_arr \x3d (new Array(new_len));\nvar s \x3d (0);\nvar d \x3d (0);\nwhile(true){\nif((s \x3e\x3d len)){\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt - (1)),new_arr,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(self__.arr[s]))){\nvar G__31741 \x3d (s + (2));\nvar G__31742 \x3d d;\ns \x3d G__31741;\nd \x3d G__31742;\ncontinue;\n} else {\n(new_arr[d] \x3d (self__.arr[s]));\n\n(new_arr[(d + (1))] \x3d (self__.arr[(s + (1))]));\n\nvar G__31743 \x3d (s + (2));\nvar G__31744 \x3d (d + (2));\ns \x3d G__31743;\nd \x3d G__31744;\ncontinue;\n\n}\n}\nbreak;\n}\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.cnt \x3c cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr__$1 \x3d cljs.core.array_map_extend_kv(coll__$1,k,v);\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt + (1)),arr__$1,null));\n} else {\nreturn cljs.core._with_meta(cljs.core._assoc(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1),k,v),self__.meta);\n}\n} else {\nif((v \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn coll__$1;\n} else {\nvar arr__$1 \x3d (function (){var G__27839 \x3d cljs.core.aclone(self__.arr);\n(G__27839[(idx + (1))] \x3d v);\n\nreturn G__27839;\n})();\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,arr__$1,null));\n\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((cljs.core.array_map_index_of(coll__$1,k) \x3d\x3d\x3d (-1))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.persistent_array_map_seq(self__.arr,(0),null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMap(new_meta,self__.cnt,self__.arr,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__31755 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__31756 \x3d cljs.core.next(es);\nret \x3d G__31755;\nes \x3d G__31756;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27840 \x3d (arguments.length - (1));\nswitch (G__27840) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.apply \x3d (function (self__,args27817){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27817)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5808__auto__ \x3d coll__$1.cljs$core$ISeqable$_seq$arity$1(null);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar s \x3d temp__5808__auto__;\nreturn cljs.core._drop(s,n);\n}\n}));\n\n(cljs.core.PersistentArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMap\x22);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMap.\n */\ncljs.core.__GT_PersistentArrayMap \x3d (function cljs$core$__GT_PersistentArrayMap(meta,cnt,arr,__hash){\nreturn (new cljs.core.PersistentArrayMap(meta,cnt,arr,__hash));\n});\n\n(cljs.core.PersistentArrayMap.EMPTY \x3d (new cljs.core.PersistentArrayMap(null,(0),[],cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.PersistentArrayMap.fromArray \x3d (function (arr,no_clone,no_check){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar arr__$2 \x3d ((no_check)?arr__$1:(function (){var ret \x3d [];\nvar i_31764 \x3d (0);\nwhile(true){\nif((i_31764 \x3c arr__$1.length)){\nvar k_31765 \x3d (arr__$1[i_31764]);\nvar v_31766 \x3d (arr__$1[(i_31764 + (1))]);\nvar idx_31767 \x3d cljs.core.array_index_of(ret,k_31765);\nif((idx_31767 \x3d\x3d\x3d (-1))){\nret.push(k_31765);\n\nret.push(v_31766);\n} else {\n}\n\nvar G__31770 \x3d (i_31764 + (2));\ni_31764 \x3d G__31770;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn ret;\n})());\nvar cnt \x3d (arr__$2.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr__$2,null));\n}));\n(cljs.core.PersistentArrayMap.createWithCheck \x3d (function (arr){\nvar ret \x3d [];\nvar i_31771 \x3d (0);\nwhile(true){\nif((i_31771 \x3c arr.length)){\nvar k_31772 \x3d (arr[i_31771]);\nvar v_31773 \x3d (arr[(i_31771 + (1))]);\nvar idx_31774 \x3d cljs.core.array_index_of(ret,k_31772);\nif((idx_31774 \x3d\x3d\x3d (-1))){\nvar G__27841_31775 \x3d ret;\nG__27841_31775.push(k_31772);\n\nG__27841_31775.push(v_31773);\n\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k_31772)].join(\x27\x27)));\n}\n\nvar G__31776 \x3d (i_31771 + (2));\ni_31771 \x3d G__31776;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar cnt \x3d (arr.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr,null));\n}));\ncljs.core.key_test \x3d (function cljs$core$key_test(key,other){\nif((key \x3d\x3d\x3d other)){\nreturn true;\n} else {\nif(cljs.core.keyword_identical_QMARK_(key,other)){\nreturn true;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,other);\n\n}\n}\n});\ncljs.core.pam_dupes_QMARK_ \x3d (function cljs$core$pam_dupes_QMARK_(arr){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5025__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar G__31777 \x3d ((2) + j);\nj \x3d G__31777;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar or__5025__auto__ \x3d dupe_QMARK_;\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar G__31778 \x3d ((2) + i);\ni \x3d G__31778;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n});\ncljs.core.pam_new_size \x3d (function cljs$core$pam_new_size(arr){\nvar i \x3d (0);\nvar n \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5025__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar G__31779 \x3d ((2) + j);\nj \x3d G__31779;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar G__31780 \x3d ((2) + i);\nvar G__31781 \x3d ((dupe_QMARK_)?n:(n + (2)));\ni \x3d G__31780;\nn \x3d G__31781;\ncontinue;\n} else {\nreturn n;\n}\nbreak;\n}\n});\ncljs.core.pam_grow_seed_array \x3d (function cljs$core$pam_grow_seed_array(seed,trailing){\nvar seed_cnt \x3d (seed.length - (1));\nvar extra_kvs \x3d cljs.core.seq(trailing);\nvar ret \x3d (new Array((seed_cnt + ((2) * cljs.core.count(extra_kvs)))));\nvar ret__$1 \x3d cljs.core.array_copy(seed,(0),ret,(0),seed_cnt);\nvar i \x3d seed_cnt;\nvar extra_kvs__$1 \x3d extra_kvs;\nwhile(true){\nif(extra_kvs__$1){\nvar kv \x3d cljs.core.first(extra_kvs__$1);\n(ret__$1[i] \x3d cljs.core._key(kv));\n\n(ret__$1[(i + (1))] \x3d cljs.core._val(kv));\n\nvar G__31784 \x3d ((2) + i);\nvar G__31785 \x3d cljs.core.next(extra_kvs__$1);\ni \x3d G__31784;\nextra_kvs__$1 \x3d G__31785;\ncontinue;\n} else {\nreturn ret__$1;\n}\nbreak;\n}\n});\n(cljs.core.PersistentArrayMap.createAsIfByAssoc \x3d (function (init){\nvar len \x3d init.length;\nvar has_trailing_QMARK_ \x3d ((1) \x3d\x3d\x3d (len \x26 (1)));\nif((!(((has_trailing_QMARK_) || (cljs.core.pam_dupes_QMARK_(init)))))){\nreturn (new cljs.core.PersistentArrayMap(null,(len / (2)),init,null));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath(init,has_trailing_QMARK_);\n}\n}));\n(cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath \x3d (function (init,has_trailing_QMARK_){\nvar init__$1 \x3d ((has_trailing_QMARK_)?cljs.core.pam_grow_seed_array(init,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(init[(init.length - (1))]))):init);\nvar n \x3d cljs.core.pam_new_size(init__$1);\nvar len \x3d init__$1.length;\nif((n \x3c len)){\nvar nodups \x3d (new Array(n));\nvar i_31791 \x3d (0);\nvar m_31792 \x3d (0);\nwhile(true){\nif((i_31791 \x3c len)){\nvar dupe_QMARK__31793 \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c m_31792)){\nvar or__5025__auto__ \x3d cljs.core.key_test((init__$1[i_31791]),(init__$1[j]));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar G__31794 \x3d ((2) + j);\nj \x3d G__31794;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nif((!(dupe_QMARK__31793))){\nvar j_31795 \x3d (function (){var j_31795 \x3d (len - (2));\nwhile(true){\nif((j_31795 \x3e\x3d i_31791)){\nif(cljs.core.key_test((init__$1[i_31791]),(init__$1[j_31795]))){\nreturn j_31795;\n} else {\nvar G__31796 \x3d (j_31795 - (2));\nj_31795 \x3d G__31796;\ncontinue;\n}\n} else {\nreturn j_31795;\n}\nbreak;\n}\n})();\n(nodups[m_31792] \x3d (init__$1[i_31791]));\n\n(nodups[(m_31792 + (1))] \x3d (init__$1[(j_31795 + (1))]));\n\nvar G__31797 \x3d ((2) + i_31791);\nvar G__31798 \x3d ((2) + m_31792);\ni_31791 \x3d G__31797;\nm_31792 \x3d G__31798;\ncontinue;\n} else {\nvar G__31799 \x3d ((2) + i_31791);\nvar G__31800 \x3d m_31792;\ni_31791 \x3d G__31799;\nm_31792 \x3d G__31800;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.PersistentArrayMap(null,(nodups.length / (2)),nodups,null));\n} else {\nreturn (new cljs.core.PersistentArrayMap(null,(init__$1.length / (2)),init__$1,null));\n}\n}));\n(cljs.core.PersistentArrayMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientArrayMap \x3d (function (editable_QMARK_,len,arr){\nthis.editable_QMARK_ \x3d editable_QMARK_;\nthis.len \x3d len;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nreturn cljs.core.quot(self__.len,(2));\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n} else {\nthrow (new Error(\x22lookup after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$2 \x3d tcoll__$1;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nvar G__31807 \x3d cljs.core.next(es);\nvar G__31808 \x3d cljs.core._assoc_BANG_(tcoll__$2,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__31807;\ntcoll__$2 \x3d G__31808;\ncontinue;\n} else {\nreturn tcoll__$2;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\n(self__.editable_QMARK_ \x3d false);\n\nreturn (new cljs.core.PersistentArrayMap(null,cljs.core.quot(self__.len,(2)),self__.arr,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3d\x3d\x3d (-1))){\nif(((self__.len + (2)) \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD))){\n(self__.len \x3d (self__.len + (2)));\n\nself__.arr.push(key);\n\nself__.arr.push(val);\n\nreturn tcoll__$1;\n} else {\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2(self__.len,self__.arr) : cljs.core.array__GT_transient_hash_map.call(null,self__.len,self__.arr)),key,val);\n}\n} else {\nif((val \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn tcoll__$1;\n} else {\n(self__.arr[(idx + (1))] \x3d val);\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3e\x3d (0))){\n(self__.arr[idx] \x3d (self__.arr[(self__.len - (2))]));\n\n(self__.arr[(idx + (1))] \x3d (self__.arr[(self__.len - (1))]));\n\nvar G__27843_31822 \x3d self__.arr;\nG__27843_31822.pop();\n\nG__27843_31822.pop();\n\n\n(self__.len \x3d (self__.len - (2)));\n} else {\n}\n\nreturn tcoll__$1;\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27844 \x3d (arguments.length - (1));\nswitch (G__27844) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.apply \x3d (function (self__,args27842){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27842)));\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22editable?\x22,\x22editable?\x22,-164945806,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22len\x22,\x22len\x22,-1230778691,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.TransientArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientArrayMap\x22);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransientArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientArrayMap.\n */\ncljs.core.__GT_TransientArrayMap \x3d (function cljs$core$__GT_TransientArrayMap(editable_QMARK_,len,arr){\nreturn (new cljs.core.TransientArrayMap(editable_QMARK_,len,arr));\n});\n\ncljs.core.array__GT_transient_hash_map \x3d (function cljs$core$array__GT_transient_hash_map(len,arr){\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__31827 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,(arr[i]),(arr[(i + (1))]));\nvar G__31828 \x3d (i + (2));\nout \x3d G__31827;\ni \x3d G__31828;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Box \x3d (function (val){\nthis.val \x3d val;\n});\n\n(cljs.core.Box.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Box.cljs$lang$type \x3d true);\n\n(cljs.core.Box.cljs$lang$ctorStr \x3d \x22cljs.core/Box\x22);\n\n(cljs.core.Box.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Box\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Box.\n */\ncljs.core.__GT_Box \x3d (function cljs$core$__GT_Box(val){\nreturn (new cljs.core.Box(val));\n});\n\n\n\ncljs.core.mask \x3d (function cljs$core$mask(hash,shift){\nreturn ((hash \x3e\x3e\x3e shift) \x26 (31));\n});\ncljs.core.clone_and_set \x3d (function cljs$core$clone_and_set(var_args){\nvar G__27846 \x3d arguments.length;\nswitch (G__27846) {\ncase 3:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,i,a){\nvar G__27847 \x3d cljs.core.aclone(arr);\n(G__27847[i] \x3d a);\n\nreturn G__27847;\n}));\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5 \x3d (function (arr,i,a,j,b){\nvar G__27848 \x3d cljs.core.aclone(arr);\n(G__27848[i] \x3d a);\n\n(G__27848[j] \x3d b);\n\nreturn G__27848;\n}));\n\n(cljs.core.clone_and_set.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.core.remove_pair \x3d (function cljs$core$remove_pair(arr,i){\nvar new_arr \x3d (new Array((arr.length - (2))));\ncljs.core.array_copy(arr,(0),new_arr,(0),((2) * i));\n\ncljs.core.array_copy(arr,((2) * (i + (1))),new_arr,((2) * i),(new_arr.length - ((2) * i)));\n\nreturn new_arr;\n});\ncljs.core.bitmap_indexed_node_index \x3d (function cljs$core$bitmap_indexed_node_index(bitmap,bit){\nreturn cljs.core.bit_count((bitmap \x26 (bit - (1))));\n});\ncljs.core.bitpos \x3d (function cljs$core$bitpos(hash,shift){\nreturn ((1) \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\n});\ncljs.core.edit_and_set \x3d (function cljs$core$edit_and_set(var_args){\nvar G__27850 \x3d arguments.length;\nswitch (G__27850) {\ncase 4:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 6:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4 \x3d (function (inode,edit,i,a){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6 \x3d (function (inode,edit,i,a,j,b){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\n(editable.arr[j] \x3d b);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$lang$maxFixedArity \x3d 6);\n\ncljs.core.inode_kv_reduce \x3d (function cljs$core$inode_kv_reduce(arr,f,init){\nvar len \x3d arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var k \x3d (arr[i]);\nif((!((k \x3d\x3d null)))){\nvar G__27851 \x3d init__$1;\nvar G__27852 \x3d k;\nvar G__27853 \x3d (arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27851,G__27852,G__27853) : f.call(null,G__27851,G__27852,G__27853));\n} else {\nvar node \x3d (arr[(i + (1))]);\nif((!((node \x3d\x3d null)))){\nreturn node.kv_reduce(f,init__$1);\n} else {\nreturn init__$1;\n}\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__31840 \x3d (i + (2));\nvar G__31841 \x3d init__$2;\ni \x3d G__31840;\ninit__$1 \x3d G__31841;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.NodeIterator \x3d (function (arr,i,next_entry,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_entry \x3d next_entry;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.NodeIterator.prototype.advance \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((self__.i \x3c len)){\nvar key \x3d (self__.arr[self__.i]);\nvar node_or_val \x3d (self__.arr[(self__.i + (1))]);\nvar found \x3d (((!((key \x3d\x3d null))))?(self__.next_entry \x3d (new cljs.core.MapEntry(key,node_or_val,null))):(((!((node_or_val \x3d\x3d null))))?(function (){var new_iter \x3d cljs.core._iterator(node_or_val);\nif(new_iter.hasNext()){\nreturn (self__.next_iter \x3d new_iter);\n} else {\nreturn false;\n}\n})():false\n));\n(self__.i \x3d (self__.i + (2)));\n\nif(found){\nreturn true;\n} else {\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n(cljs.core.NodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar or__5025__auto__ \x3d (!((self__.next_entry \x3d\x3d null)));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (!((self__.next_iter \x3d\x3d null)));\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn this$.advance();\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__.next_entry \x3d\x3d null)))){\nvar ret \x3d self__.next_entry;\n(self__.next_entry \x3d null);\n\nreturn ret;\n} else {\nif((!((self__.next_iter \x3d\x3d null)))){\nvar ret \x3d self__.next_iter.next();\nif(self__.next_iter.hasNext()){\n} else {\n(self__.next_iter \x3d null);\n}\n\nreturn ret;\n} else {\nif(this$.advance()){\nreturn this$.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.NodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-entry\x22,\x22next-entry\x22,1091342476,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.NodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/NodeIterator\x22);\n\n(cljs.core.NodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/NodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeIterator.\n */\ncljs.core.__GT_NodeIterator \x3d (function cljs$core$__GT_NodeIterator(arr,i,next_entry,next_iter){\nreturn (new cljs.core.NodeIterator(arr,i,next_entry,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.BitmapIndexedNode \x3d (function (edit,bitmap,arr){\nthis.edit \x3d edit;\nthis.bitmap \x3d bitmap;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.BitmapIndexedNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nvar new_arr \x3d (new Array((((n \x3c (0)))?(4):((2) * (n + (1))))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * n));\n\nreturn (new cljs.core.BitmapIndexedNode(e,self__.bitmap,new_arr));\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\n(removed_leaf_QMARK_.val \x3d true);\n\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair \x3d (function (e,bit,i){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(e);\nvar earr \x3d editable.arr;\nvar len \x3d earr.length;\n(editable.bitmap \x3d (bit ^ editable.bitmap));\n\ncljs.core.array_copy(earr,((2) * (i + (1))),earr,((2) * i),(len - ((2) * (i + (1)))));\n\n(earr[(len - (2))] \x3d null);\n\n(earr[(len - (1))] \x3d null);\n\nreturn editable;\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn val_or_node;\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((((2) * n) \x3c self__.arr.length)){\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(added_leaf_QMARK_.val \x3d true);\n\ncljs.core.array_copy_downward(earr,((2) * idx),earr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(earr[((2) * idx)] \x3d key);\n\n(earr[(((2) * idx) + (1))] \x3d val);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n} else {\nif((n \x3e\x3d (16))){\nvar nodes \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_31850 \x3d (0);\nvar j_31851 \x3d (0);\nwhile(true){\nif((i_31850 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_31850) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__31852 \x3d (i_31850 + (1));\nvar G__31853 \x3d j_31851;\ni_31850 \x3d G__31852;\nj_31851 \x3d G__31853;\ncontinue;\n} else {\n(nodes[i_31850] \x3d (((!(((self__.arr[j_31851]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),cljs.core.hash((self__.arr[j_31851])),(self__.arr[j_31851]),(self__.arr[(j_31851 + (1))]),added_leaf_QMARK_):(self__.arr[(j_31851 + (1))])));\n\nvar G__31855 \x3d (i_31850 + (1));\nvar G__31856 \x3d (j_31851 + (2));\ni_31850 \x3d G__31855;\nj_31851 \x3d G__31856;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(edit__$1,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (4)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nvar editable \x3d inode.ensure_editable(edit__$1);\n(editable.arr \x3d new_arr);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n\n}\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),val);\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * idx),null,(((2) * idx) + (1)),(function (){var G__27854 \x3d edit__$1;\nvar G__27855 \x3d (shift + (5));\nvar G__27856 \x3d key_or_nil;\nvar G__27857 \x3d val_or_node;\nvar G__27858 \x3d hash;\nvar G__27859 \x3d key;\nvar G__27860 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(G__27854,G__27855,G__27856,G__27857,G__27858,G__27859,G__27860) : cljs.core.create_node.call(null,G__27854,G__27855,G__27856,G__27857,G__27858,G__27859,G__27860));\n})());\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((n \x3e\x3d (16))){\nvar nodes \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_31863 \x3d (0);\nvar j_31864 \x3d (0);\nwhile(true){\nif((i_31863 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_31863) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__31865 \x3d (i_31863 + (1));\nvar G__31866 \x3d j_31864;\ni_31863 \x3d G__31865;\nj_31864 \x3d G__31866;\ncontinue;\n} else {\n(nodes[i_31863] \x3d (((!(((self__.arr[j_31864]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),cljs.core.hash((self__.arr[j_31864])),(self__.arr[j_31864]),(self__.arr[(j_31864 + (1))]),added_leaf_QMARK_):(self__.arr[(j_31864 + (1))])));\n\nvar G__31867 \x3d (i_31863 + (1));\nvar G__31868 \x3d (j_31864 + (2));\ni_31863 \x3d G__31867;\nj_31864 \x3d G__31868;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(null,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap | bit),new_arr));\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),val)));\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(self__.arr,((2) * idx),null,(((2) * idx) + (1)),(function (){var G__27861 \x3d (shift + (5));\nvar G__27862 \x3d key_or_nil;\nvar G__27863 \x3d val_or_node;\nvar G__27864 \x3d hash;\nvar G__27865 \x3d key;\nvar G__27866 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(G__27861,G__27862,G__27863,G__27864,G__27865,G__27866) : cljs.core.create_node.call(null,G__27861,G__27862,G__27863,G__27864,G__27865,G__27866));\n})())));\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn (new cljs.core.MapEntry(key_or_nil,val_or_node,null));\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n}\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.BitmapIndexedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22bitmap\x22,\x22bitmap\x22,501334601,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BitmapIndexedNode.cljs$lang$type \x3d true);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorStr \x3d \x22cljs.core/BitmapIndexedNode\x22);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/BitmapIndexedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BitmapIndexedNode.\n */\ncljs.core.__GT_BitmapIndexedNode \x3d (function cljs$core$__GT_BitmapIndexedNode(edit,bitmap,arr){\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,arr));\n});\n\n(cljs.core.BitmapIndexedNode.EMPTY \x3d (new cljs.core.BitmapIndexedNode(null,(0),[])));\ncljs.core.pack_array_node \x3d (function cljs$core$pack_array_node(array_node,edit,idx){\nvar arr \x3d array_node.arr;\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(((2) * (array_node.cnt - (1)))));\nvar i \x3d (0);\nvar j \x3d (1);\nvar bitmap \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((((!((i \x3d\x3d\x3d idx)))) \x26\x26 ((!(((arr[i]) \x3d\x3d null)))))){\n(new_arr[j] \x3d (arr[i]));\n\nvar G__31913 \x3d (i + (1));\nvar G__31914 \x3d (j + (2));\nvar G__31915 \x3d (bitmap | ((1) \x3c\x3c i));\ni \x3d G__31913;\nj \x3d G__31914;\nbitmap \x3d G__31915;\ncontinue;\n} else {\nvar G__31916 \x3d (i + (1));\nvar G__31917 \x3d j;\nvar G__31918 \x3d bitmap;\ni \x3d G__31916;\nj \x3d G__31917;\nbitmap \x3d G__31918;\ncontinue;\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,new_arr));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayNodeIterator \x3d (function (arr,i,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.ArrayNodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((!((((!((self__.next_iter \x3d\x3d null)))) \x26\x26 (self__.next_iter.hasNext()))))){\nif((self__.i \x3c len)){\nvar node \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nif((!((node \x3d\x3d null)))){\n(self__.next_iter \x3d cljs.core._iterator(node));\n} else {\n}\n\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nreturn self__.next_iter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayNodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeIterator\x22);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayNodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeIterator.\n */\ncljs.core.__GT_ArrayNodeIterator \x3d (function cljs$core$__GT_ArrayNodeIterator(arr,i,next_iter){\nreturn (new cljs.core.ArrayNodeIterator(arr,i,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.ArrayNode \x3d (function (edit,cnt,arr){\nthis.edit \x3d edit;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.ArrayNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(e,self__.cnt,cljs.core.aclone(self__.arr)));\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn inode;\n} else {\nvar n \x3d node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,edit__$1,idx);\n} else {\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n\n}\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_array_node_seq.call(null,self__.arr));\n}));\n\n(cljs.core.ArrayNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar node \x3d (self__.arr[i]);\nif((!((node \x3d\x3d null)))){\nvar init__$2 \x3d node.kv_reduce(f,init__$1);\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__31946 \x3d (i + (1));\nvar G__31947 \x3d init__$2;\ni \x3d G__31946;\ninit__$1 \x3d G__31947;\ncontinue;\n}\n} else {\nvar G__31948 \x3d (i + (1));\nvar G__31949 \x3d init__$1;\ni \x3d G__31948;\ninit__$1 \x3d G__31949;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar n \x3d node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn (new cljs.core.ArrayNode(null,(self__.cnt + (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_))));\n} else {\nvar n \x3d node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nvar n \x3d node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,null,idx);\n} else {\nreturn (new cljs.core.ArrayNode(null,(self__.cnt - (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n\n}\n}\n} else {\nreturn inode;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.ArrayNodeIterator(self__.arr,(0),null));\n}));\n\n(cljs.core.ArrayNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNode.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNode.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNode\x22);\n\n(cljs.core.ArrayNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNode.\n */\ncljs.core.__GT_ArrayNode \x3d (function cljs$core$__GT_ArrayNode(edit,cnt,arr){\nreturn (new cljs.core.ArrayNode(edit,cnt,arr));\n});\n\ncljs.core.hash_collision_node_find_index \x3d (function cljs$core$hash_collision_node_find_index(arr,cnt,key){\nvar lim \x3d ((2) * cnt);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c lim)){\nif(cljs.core.key_test(key,(arr[i]))){\nreturn i;\n} else {\nvar G__31977 \x3d (i + (2));\ni \x3d G__31977;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.HashCollisionNode \x3d (function (edit,collision_hash,cnt,arr){\nthis.edit \x3d edit;\nthis.collision_hash \x3d collision_hash;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.HashCollisionNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar new_arr \x3d (new Array(((2) * (self__.cnt + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * self__.cnt));\n\nreturn (new cljs.core.HashCollisionNode(e,self__.collision_hash,self__.cnt,new_arr));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\n(removed_leaf_QMARK_.val \x3d true);\n\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(earr[idx] \x3d (earr[(((2) * self__.cnt) - (2))]));\n\n(earr[(idx + (1))] \x3d (earr[(((2) * self__.cnt) - (1))]));\n\n(earr[(((2) * self__.cnt) - (1))] \x3d null);\n\n(earr[(((2) * self__.cnt) - (2))] \x3d null);\n\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.HashCollisionNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.arr.length \x3e ((2) * self__.cnt))){\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * self__.cnt),key,(((2) * self__.cnt) + (1)),val);\n(added_leaf_QMARK_.val \x3d true);\n\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar len \x3d self__.arr.length;\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn inode.ensure_editable_array(edit__$1,(self__.cnt + (1)),new_arr);\n}\n} else {\nif(((self__.arr[(idx + (1))]) \x3d\x3d\x3d val)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(idx + (1)),val);\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit__$1,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode,null,null])).inode_assoc_BANG_(edit__$1,shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nvar len \x3d ((2) * self__.cnt);\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt + (1)),new_arr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(idx + (1))]),val)){\nreturn inode;\n} else {\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(idx + (1)),val)));\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode])).inode_assoc(shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.ensure_editable_array \x3d (function (e,count,array){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\n(self__.arr \x3d array);\n\n(self__.cnt \x3d count);\n\nreturn inode;\n} else {\nreturn (new cljs.core.HashCollisionNode(self__.edit,self__.collision_hash,count,array));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt - (1)),cljs.core.remove_pair(self__.arr,cljs.core.quot(idx,(2)))));\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.HashCollisionNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22collision-hash\x22,\x22collision-hash\x22,-35831342,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashCollisionNode.cljs$lang$type \x3d true);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorStr \x3d \x22cljs.core/HashCollisionNode\x22);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/HashCollisionNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashCollisionNode.\n */\ncljs.core.__GT_HashCollisionNode \x3d (function cljs$core$__GT_HashCollisionNode(edit,collision_hash,cnt,arr){\nreturn (new cljs.core.HashCollisionNode(edit,collision_hash,cnt,arr));\n});\n\ncljs.core.create_node \x3d (function cljs$core$create_node(var_args){\nvar G__27868 \x3d arguments.length;\nswitch (G__27868) {\ncase 6:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 \x3d (function (shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc(shift,key2hash,key2,val2,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 \x3d (function (edit,shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit,shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc_BANG_(edit,shift,key2hash,key2,val2,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.create_node.cljs$lang$maxFixedArity \x3d 7);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.NodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.NodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NodeSeq.prototype.indexOf \x3d (function() {\nvar G__32015 \x3d null;\nvar G__32015__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__32015__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32015 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32015__1.call(this,x);\ncase 2:\nreturn G__32015__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32015.cljs$core$IFn$_invoke$arity$1 \x3d G__32015__1;\nG__32015.cljs$core$IFn$_invoke$arity$2 \x3d G__32015__2;\nreturn G__32015;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__32020 \x3d null;\nvar G__32020__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__32020__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32020 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32020__1.call(this,x);\ncase 2:\nreturn G__32020__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32020.cljs$core$IFn$_invoke$arity$1 \x3d G__32020__1;\nG__32020.cljs$core$IFn$_invoke$arity$2 \x3d G__32020__2;\nreturn G__32020;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nvar G__27869 \x3d self__.nodes;\nvar G__27870 \x3d (self__.i + (2));\nvar G__27871 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__27869,G__27870,G__27871) : cljs.core.create_inode_seq.call(null,G__27869,G__27870,G__27871));\n} else {\nvar G__27872 \x3d self__.nodes;\nvar G__27873 \x3d self__.i;\nvar G__27874 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__27872,G__27873,G__27874) : cljs.core.create_inode_seq.call(null,G__27872,G__27873,G__27874));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nreturn (new cljs.core.MapEntry((self__.nodes[self__.i]),(self__.nodes[(self__.i + (1))]),null));\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (((self__.s \x3d\x3d null))?(function (){var G__27875 \x3d self__.nodes;\nvar G__27876 \x3d (self__.i + (2));\nvar G__27877 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__27875,G__27876,G__27877) : cljs.core.create_inode_seq.call(null,G__27875,G__27876,G__27877));\n})():(function (){var G__27878 \x3d self__.nodes;\nvar G__27879 \x3d self__.i;\nvar G__27880 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__27878,G__27879,G__27880) : cljs.core.create_inode_seq.call(null,G__27878,G__27879,G__27880));\n})());\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.NodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.NodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.NodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/NodeSeq\x22);\n\n(cljs.core.NodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/NodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeSeq.\n */\ncljs.core.__GT_NodeSeq \x3d (function cljs$core$__GT_NodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.NodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.NodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.create_inode_seq \x3d (function cljs$core$create_inode_seq(var_args){\nvar G__27882 \x3d arguments.length;\nswitch (G__27882) {\ncase 1:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nif((!(((nodes[j]) \x3d\x3d null)))){\nreturn (new cljs.core.NodeSeq(null,nodes,j,null,null));\n} else {\nvar temp__5802__auto__ \x3d (nodes[(j + (1))]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar node \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d node.inode_seq();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar node_seq \x3d temp__5802__auto____$1;\nreturn (new cljs.core.NodeSeq(null,nodes,(j + (2)),node_seq,null));\n} else {\nvar G__32043 \x3d (j + (2));\nj \x3d G__32043;\ncontinue;\n}\n} else {\nvar G__32044 \x3d (j + (2));\nj \x3d G__32044;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.NodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_inode_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayNodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayNodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.indexOf \x3d (function() {\nvar G__32054 \x3d null;\nvar G__32054__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__32054__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32054 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32054__1.call(this,x);\ncase 2:\nreturn G__32054__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32054.cljs$core$IFn$_invoke$arity$1 \x3d G__32054__1;\nG__32054.cljs$core$IFn$_invoke$arity$2 \x3d G__32054__2;\nreturn G__32054;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__32055 \x3d null;\nvar G__32055__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__32055__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32055 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32055__1.call(this,x);\ncase 2:\nreturn G__32055__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32055.cljs$core$IFn$_invoke$arity$1 \x3d G__32055__1;\nG__32055.cljs$core$IFn$_invoke$arity$2 \x3d G__32055__2;\nreturn G__32055;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__27883 \x3d self__.nodes;\nvar G__27884 \x3d self__.i;\nvar G__27885 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__27883,G__27884,G__27885) : cljs.core.create_array_node_seq.call(null,G__27883,G__27884,G__27885));\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.s);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (function (){var G__27886 \x3d self__.nodes;\nvar G__27887 \x3d self__.i;\nvar G__27888 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__27886,G__27887,G__27888) : cljs.core.create_array_node_seq.call(null,G__27886,G__27887,G__27888));\n})();\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ArrayNodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeSeq\x22);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayNodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeSeq.\n */\ncljs.core.__GT_ArrayNodeSeq \x3d (function cljs$core$__GT_ArrayNodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.ArrayNodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.ArrayNodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.create_array_node_seq \x3d (function cljs$core$create_array_node_seq(var_args){\nvar G__27890 \x3d arguments.length;\nswitch (G__27890) {\ncase 1:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nvar temp__5802__auto__ \x3d (nodes[j]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar nj \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d nj.inode_seq();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar ns \x3d temp__5802__auto____$1;\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,(j + (1)),ns,null));\n} else {\nvar G__32079 \x3d (j + (1));\nj \x3d G__32079;\ncontinue;\n}\n} else {\nvar G__32080 \x3d (j + (1));\nj \x3d G__32080;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_array_node_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.HashMapIter \x3d (function (nil_val,root_iter,seen){\nthis.nil_val \x3d nil_val;\nthis.root_iter \x3d root_iter;\nthis.seen \x3d seen;\n});\n(cljs.core.HashMapIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (((!(self__.seen))) || (self__.root_iter.hasNext()));\n}));\n\n(cljs.core.HashMapIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!(self__.seen))){\n(self__.seen \x3d true);\n\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn self__.root_iter.next();\n}\n}));\n\n(cljs.core.HashMapIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashMapIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.Symbol(null,\x22root-iter\x22,\x22root-iter\x22,1974672108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seen\x22,\x22seen\x22,1121531738,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashMapIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashMapIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashMapIter\x22);\n\n(cljs.core.HashMapIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/HashMapIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashMapIter.\n */\ncljs.core.__GT_HashMapIter \x3d (function cljs$core$__GT_HashMapIter(nil_val,root_iter,seen){\nreturn (new cljs.core.HashMapIter(nil_val,root_iter,seen));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashMap \x3d (function (meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.root \x3d root;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_find((0),cljs.core.hash(k),k,null);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__27892 \x3d cljs.core.seq(coll);\nvar chunk__27893 \x3d null;\nvar count__27894 \x3d (0);\nvar i__27895 \x3d (0);\nwhile(true){\nif((i__27895 \x3c count__27894)){\nvar vec__27902 \x3d chunk__27893.cljs$core$IIndexed$_nth$arity$2(null,i__27895);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27902,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27902,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__32091 \x3d seq__27892;\nvar G__32092 \x3d chunk__27893;\nvar G__32093 \x3d count__27894;\nvar G__32094 \x3d (i__27895 + (1));\nseq__27892 \x3d G__32091;\nchunk__27893 \x3d G__32092;\ncount__27894 \x3d G__32093;\ni__27895 \x3d G__32094;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27892);\nif(temp__5804__auto__){\nvar seq__27892__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27892__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__27892__$1);\nvar G__32095 \x3d cljs.core.chunk_rest(seq__27892__$1);\nvar G__32096 \x3d c__5548__auto__;\nvar G__32097 \x3d cljs.core.count(c__5548__auto__);\nvar G__32098 \x3d (0);\nseq__27892 \x3d G__32095;\nchunk__27893 \x3d G__32096;\ncount__27894 \x3d G__32097;\ni__27895 \x3d G__32098;\ncontinue;\n} else {\nvar vec__27905 \x3d cljs.core.first(seq__27892__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27905,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27905,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__32099 \x3d cljs.core.next(seq__27892__$1);\nvar G__32100 \x3d null;\nvar G__32101 \x3d (0);\nvar G__32102 \x3d (0);\nseq__27892 \x3d G__32099;\nchunk__27893 \x3d G__32100;\ncount__27894 \x3d G__32101;\ni__27895 \x3d G__32102;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar init__$1 \x3d ((self__.has_nil_QMARK_)?(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(init,null,self__.nil_val) : f.call(null,init,null,self__.nil_val)):init);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn cljs.core.deref(init__$1);\n} else {\nif((!((self__.root \x3d\x3d null)))){\nreturn cljs.core.unreduced(self__.root.kv_reduce(f,init__$1));\n} else {\nreturn init__$1;\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar root_iter \x3d ((self__.root)?cljs.core._iterator(self__.root):cljs.core.nil_iter());\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.HashMapIter(self__.nil_val,root_iter,false));\n} else {\nreturn root_iter;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashMap(self__.meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashMap(({}),self__.root,self__.cnt,self__.has_nil_QMARK_,self__.nil_val));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),self__.root,false,null,null));\n} else {\nreturn coll__$1;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn coll__$1;\n} else {\nvar new_root \x3d self__.root.inode_without((0),cljs.core.hash(k),k);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),new_root,self__.has_nil_QMARK_,self__.nil_val,null));\n}\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(((self__.has_nil_QMARK_) \x26\x26 ((v \x3d\x3d\x3d self__.nil_val)))){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,((self__.has_nil_QMARK_)?self__.cnt:(self__.cnt + (1))),self__.root,true,v,null));\n}\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar new_root \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc((0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,((added_leaf_QMARK_.val)?(self__.cnt + (1)):self__.cnt),new_root,self__.has_nil_QMARK_,self__.nil_val,null));\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nreturn self__.has_nil_QMARK_;\n} else {\nif((self__.root \x3d\x3d null)){\nreturn false;\n} else {\nreturn (!((self__.root.inode_lookup((0),cljs.core.hash(k),k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)));\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar s \x3d (((!((self__.root \x3d\x3d null))))?self__.root.inode_seq():null);\nif(self__.has_nil_QMARK_){\nreturn cljs.core.cons((new cljs.core.MapEntry(null,self__.nil_val,null)),s);\n} else {\nreturn s;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(new_meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__32127 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__32128 \x3d cljs.core.next(es);\nret \x3d G__32127;\nes \x3d G__32128;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27910 \x3d (arguments.length - (1));\nswitch (G__27910) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.apply \x3d (function (self__,args27891){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27891)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashMap\x22);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashMap.\n */\ncljs.core.__GT_PersistentHashMap \x3d (function cljs$core$__GT_PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nreturn (new cljs.core.PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash));\n});\n\n(cljs.core.PersistentHashMap.EMPTY \x3d (new cljs.core.PersistentHashMap(null,(0),null,false,null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashMap.fromArray \x3d (function (arr,no_clone){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar len \x3d arr__$1.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__32137 \x3d (i + (2));\nvar G__32138 \x3d cljs.core._assoc_BANG_(ret,(arr__$1[i]),(arr__$1[(i + (1))]));\ni \x3d G__32137;\nret \x3d G__32138;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(ret);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.fromArrays \x3d (function (ks,vs){\nvar len \x3d ks.length;\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nif((vs.length \x3c\x3d i)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((ks[i]))].join(\x27\x27)));\n} else {\nvar G__32142 \x3d (i + (1));\nvar G__32143 \x3d cljs.core._assoc_BANG_(out,(ks[i]),(vs[i]));\ni \x3d G__32142;\nout \x3d G__32143;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.createWithCheck \x3d (function (arr){\nvar len \x3d arr.length;\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i_32144 \x3d (0);\nwhile(true){\nif((i_32144 \x3c len)){\ncljs.core._assoc_BANG_(ret,(arr[i_32144]),(arr[(i_32144 + (1))]));\n\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._count(ret),((i_32144 / (2)) + (1)))){\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arr[i_32144]))].join(\x27\x27)));\n} else {\nvar G__32147 \x3d (i_32144 + (2));\ni_32144 \x3d G__32147;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(ret);\n}));\n(cljs.core.PersistentHashMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashMap \x3d (function (edit,root,count,has_nil_QMARK_,nil_val){\nthis.edit \x3d edit;\nthis.root \x3d root;\nthis.count \x3d count;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientHashMap.prototype.conj_BANG_ \x3d (function (o){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll.assoc_BANG_((o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$1 \x3d tcoll;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nvar G__32152 \x3d cljs.core.next(es);\nvar G__32153 \x3d tcoll__$1.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__32152;\ntcoll__$1 \x3d G__32153;\ncontinue;\n} else {\nreturn tcoll__$1;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.assoc_BANG_ \x3d (function (k,v){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif((self__.nil_val \x3d\x3d\x3d v)){\n} else {\n(self__.nil_val \x3d v);\n}\n\nif(self__.has_nil_QMARK_){\n} else {\n(self__.count \x3d (self__.count + (1)));\n\n(self__.has_nil_QMARK_ \x3d true);\n}\n\nreturn tcoll;\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc_BANG_(self__.edit,(0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(added_leaf_QMARK_.val){\n(self__.count \x3d (self__.count + (1)));\n} else {\n}\n\nreturn tcoll;\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.without_BANG_ \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\n(self__.has_nil_QMARK_ \x3d false);\n\n(self__.nil_val \x3d null);\n\n(self__.count \x3d (self__.count - (1)));\n\nreturn tcoll;\n} else {\nreturn tcoll;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn tcoll;\n} else {\nvar removed_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d self__.root.inode_without_BANG_(self__.edit,(0),cljs.core.hash(k),k,removed_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(removed_leaf_QMARK_.val){\n(self__.count \x3d (self__.count - (1)));\n} else {\n}\n\nreturn tcoll;\n}\n}\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.persistent_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\n(self__.edit \x3d null);\n\nreturn (new cljs.core.PersistentHashMap(null,self__.count,self__.root,self__.has_nil_QMARK_,self__.nil_val,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.edit){\nreturn self__.count;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.conj_BANG_(val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.persistent_BANG_();\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.assoc_BANG_(key,val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.without_BANG_(key);\n}));\n\n(cljs.core.TransientHashMap.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27912 \x3d (arguments.length - (1));\nswitch (G__27912) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.apply \x3d (function (self__,args27911){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27911)));\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$2(null,key);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashMap\x22);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransientHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashMap.\n */\ncljs.core.__GT_TransientHashMap \x3d (function cljs$core$__GT_TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val){\nreturn (new cljs.core.TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val));\n});\n\ncljs.core.tree_map_seq_push \x3d (function cljs$core$tree_map_seq_push(node,stack,ascending_QMARK_){\nvar t \x3d node;\nvar stack__$1 \x3d stack;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar G__32189 \x3d ((ascending_QMARK_)?t.left:t.right);\nvar G__32190 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack__$1,t);\nt \x3d G__32189;\nstack__$1 \x3d G__32190;\ncontinue;\n} else {\nreturn stack__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentTreeMapSeq \x3d (function (meta,stack,ascending_QMARK_,cnt,__hash){\nthis.meta \x3d meta;\nthis.stack \x3d stack;\nthis.ascending_QMARK_ \x3d ascending_QMARK_;\nthis.cnt \x3d cnt;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentTreeMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.indexOf \x3d (function() {\nvar G__32196 \x3d null;\nvar G__32196__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__32196__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32196 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32196__1.call(this,x);\ncase 2:\nreturn G__32196__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32196.cljs$core$IFn$_invoke$arity$1 \x3d G__32196__1;\nG__32196.cljs$core$IFn$_invoke$arity$2 \x3d G__32196__2;\nreturn G__32196;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__32200 \x3d null;\nvar G__32200__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__32200__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32200 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32200__1.call(this,x);\ncase 2:\nreturn G__32200__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32200.cljs$core$IFn$_invoke$arity$1 \x3d G__32200__1;\nG__32200.cljs$core$IFn$_invoke$arity$2 \x3d G__32200__2;\nreturn G__32200;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((next_stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3c (0))){\nreturn (cljs.core.count(cljs.core.next(coll__$1)) + (1));\n} else {\nreturn self__.cnt;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.peek(self__.stack);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((!((next_stack \x3d\x3d null)))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(new_meta,self__.stack,self__.ascending_QMARK_,self__.cnt,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22stack\x22,\x22stack\x22,847125597,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22ascending?\x22,\x22ascending?\x22,-1938452653,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMapSeq\x22);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentTreeMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMapSeq.\n */\ncljs.core.__GT_PersistentTreeMapSeq \x3d (function cljs$core$__GT_PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash){\nreturn (new cljs.core.PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash));\n});\n\n(cljs.core.PersistentTreeMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.create_tree_map_seq \x3d (function cljs$core$create_tree_map_seq(tree,ascending_QMARK_,cnt){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.tree_map_seq_push(tree,null,ascending_QMARK_),ascending_QMARK_,cnt,null));\n});\n\ncljs.core.balance_left \x3d (function cljs$core$balance_left(key,val,ins,right){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,ins.left.blacken(),(new cljs.core.BlackNode(key,val,ins.right,right,null)),null));\n} else {\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.right.key,ins.right.val,(new cljs.core.BlackNode(ins.key,ins.val,ins.left,ins.right.left,null)),(new cljs.core.BlackNode(key,val,ins.right.right,right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n}\n});\ncljs.core.balance_right \x3d (function cljs$core$balance_right(key,val,left,ins){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,(new cljs.core.BlackNode(key,val,left,ins.left,null)),ins.right.blacken(),null));\n} else {\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.left.key,ins.left.val,(new cljs.core.BlackNode(key,val,left,ins.left.left,null)),(new cljs.core.BlackNode(ins.key,ins.val,ins.left.right,ins.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n}\n});\ncljs.core.balance_left_del \x3d (function cljs$core$balance_left_del(key,val,del,right){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,del.blacken(),right,null));\n} else {\nif((right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right(key,val,del,right.redden());\n} else {\nif((((right instanceof cljs.core.RedNode)) \x26\x26 ((right.left instanceof cljs.core.BlackNode)))){\nreturn (new cljs.core.RedNode(right.left.key,right.left.val,(new cljs.core.BlackNode(key,val,del,right.left.left,null)),cljs.core.balance_right(right.key,right.val,right.left.right,right.right.redden()),null));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.balance_right_del \x3d (function cljs$core$balance_right_del(key,val,left,del){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,left,del.blacken(),null));\n} else {\nif((left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left(key,val,left.redden(),del);\n} else {\nif((((left instanceof cljs.core.RedNode)) \x26\x26 ((left.right instanceof cljs.core.BlackNode)))){\nreturn (new cljs.core.RedNode(left.right.key,left.right.val,cljs.core.balance_left(left.key,left.val,left.left.redden(),left.right.left),(new cljs.core.BlackNode(key,val,left.right.right,del,null)),null));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.tree_map_kv_reduce \x3d (function cljs$core$tree_map_kv_reduce(node,f,init){\nvar init__$1 \x3d (((!((node.left \x3d\x3d null))))?(function (){var G__27913 \x3d node.left;\nvar G__27914 \x3d f;\nvar G__27915 \x3d init;\nreturn (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__27913,G__27914,G__27915) : cljs.core.tree_map_kv_reduce.call(null,G__27913,G__27914,G__27915));\n})():init);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn init__$1;\n} else {\nvar init__$2 \x3d (function (){var G__27916 \x3d init__$1;\nvar G__27917 \x3d node.key;\nvar G__27918 \x3d node.val;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27916,G__27917,G__27918) : f.call(null,G__27916,G__27917,G__27918));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nif((!((node.right \x3d\x3d null)))){\nvar G__27919 \x3d node.right;\nvar G__27920 \x3d f;\nvar G__27921 \x3d init__$2;\nreturn (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__27919,G__27920,G__27921) : cljs.core.tree_map_kv_reduce.call(null,G__27919,G__27920,G__27921));\n} else {\nreturn init__$2;\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.BlackNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.BlackNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__27923 \x3d k;\nswitch (G__27923) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.lastIndexOf \x3d (function() {\nvar G__32246 \x3d null;\nvar G__32246__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__32246__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32246 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32246__1.call(this,x);\ncase 2:\nreturn G__32246__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32246.cljs$core$IFn$_invoke$arity$1 \x3d G__32246__1;\nG__32246.cljs$core$IFn$_invoke$arity$2 \x3d G__32246__2;\nreturn G__32246;\n})()\n);\n\n(cljs.core.BlackNode.prototype.indexOf \x3d (function() {\nvar G__32247 \x3d null;\nvar G__32247__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__32247__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32247 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32247__1.call(this,x);\ncase 2:\nreturn G__32247__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32247.cljs$core$IFn$_invoke$arity$1 \x3d G__32247__1;\nG__32247.cljs$core$IFn$_invoke$arity$2 \x3d G__32247__2;\nreturn G__32247;\n})()\n);\n\n(cljs.core.BlackNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_right(node);\n}));\n\n(cljs.core.BlackNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node;\n}));\n\n(cljs.core.BlackNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_left(node);\n}));\n\n(cljs.core.BlackNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n}));\n\n(cljs.core.BlackNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_left_del(self__.key,self__.val,del,self__.right);\n}));\n\n(cljs.core.BlackNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.BlackNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_right_del(self__.key,self__.val,self__.left,del);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.BlackNode.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27924 \x3d (arguments.length - (1));\nswitch (G__27924) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.apply \x3d (function (self__,args27922){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27922)));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BlackNode.cljs$lang$type \x3d true);\n\n(cljs.core.BlackNode.cljs$lang$ctorStr \x3d \x22cljs.core/BlackNode\x22);\n\n(cljs.core.BlackNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/BlackNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BlackNode.\n */\ncljs.core.__GT_BlackNode \x3d (function cljs$core$__GT_BlackNode(key,val,left,right,__hash){\nreturn (new cljs.core.BlackNode(key,val,left,right,__hash));\n});\n\n(cljs.core.BlackNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RedNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.RedNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__27926 \x3d k;\nswitch (G__27926) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.RedNode.prototype.lastIndexOf \x3d (function() {\nvar G__32293 \x3d null;\nvar G__32293__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__32293__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32293 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32293__1.call(this,x);\ncase 2:\nreturn G__32293__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32293.cljs$core$IFn$_invoke$arity$1 \x3d G__32293__1;\nG__32293.cljs$core$IFn$_invoke$arity$2 \x3d G__32293__2;\nreturn G__32293;\n})()\n);\n\n(cljs.core.RedNode.prototype.indexOf \x3d (function() {\nvar G__32308 \x3d null;\nvar G__32308__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__32308__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32308 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32308__1.call(this,x);\ncase 2:\nreturn G__32308__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32308.cljs$core$IFn$_invoke$arity$1 \x3d G__32308__1;\nG__32308.cljs$core$IFn$_invoke$arity$2 \x3d G__32308__2;\nreturn G__32308;\n})()\n);\n\n(cljs.core.RedNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,ins,null));\n}));\n\n(cljs.core.RedNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nthrow (new Error(\x22red-black tree invariant violation\x22));\n}));\n\n(cljs.core.RedNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,ins,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.RedNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left.blacken(),(new cljs.core.BlackNode(parent.key,parent.val,self__.right,parent.right,null)),null));\n} else {\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.right.key,self__.right.val,(new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right.left,null)),(new cljs.core.BlackNode(parent.key,parent.val,self__.right.right,parent.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.key,self__.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left,null)),self__.right.blacken(),null));\n} else {\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.left.key,self__.left.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left.left,null)),(new cljs.core.BlackNode(self__.key,self__.val,self__.left.right,self__.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,del,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.RedNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,del,null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.RedNode.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27927 \x3d (arguments.length - (1));\nswitch (G__27927) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.RedNode.prototype.apply \x3d (function (self__,args27925){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27925)));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.RedNode.cljs$lang$type \x3d true);\n\n(cljs.core.RedNode.cljs$lang$ctorStr \x3d \x22cljs.core/RedNode\x22);\n\n(cljs.core.RedNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RedNode.\n */\ncljs.core.__GT_RedNode \x3d (function cljs$core$__GT_RedNode(key,val,left,right,__hash){\nreturn (new cljs.core.RedNode(key,val,left,right,__hash));\n});\n\n(cljs.core.RedNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.tree_map_add \x3d (function cljs$core$tree_map_add(comp,tree,k,v,found){\nif((tree \x3d\x3d null)){\nreturn (new cljs.core.RedNode(k,v,null,null,null));\n} else {\nvar c \x3d (function (){var G__27928 \x3d k;\nvar G__27929 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__27928,G__27929) : comp.call(null,G__27928,G__27929));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn null;\n} else {\nif((c \x3c (0))){\nvar ins \x3d (function (){var G__27930 \x3d comp;\nvar G__27931 \x3d tree.left;\nvar G__27932 \x3d k;\nvar G__27933 \x3d v;\nvar G__27934 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__27930,G__27931,G__27932,G__27933,G__27934) : cljs.core.tree_map_add.call(null,G__27930,G__27931,G__27932,G__27933,G__27934));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_left(ins);\n} else {\nreturn null;\n}\n} else {\nvar ins \x3d (function (){var G__27935 \x3d comp;\nvar G__27936 \x3d tree.right;\nvar G__27937 \x3d k;\nvar G__27938 \x3d v;\nvar G__27939 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__27935,G__27936,G__27937,G__27938,G__27939) : cljs.core.tree_map_add.call(null,G__27935,G__27936,G__27937,G__27938,G__27939));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_right(ins);\n} else {\nreturn null;\n}\n\n}\n}\n}\n});\ncljs.core.tree_map_append \x3d (function cljs$core$tree_map_append(left,right){\nif((left \x3d\x3d null)){\nreturn right;\n} else {\nif((right \x3d\x3d null)){\nreturn left;\n} else {\nif((left instanceof cljs.core.RedNode)){\nif((right instanceof cljs.core.RedNode)){\nvar app \x3d (function (){var G__27940 \x3d left.right;\nvar G__27941 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__27940,G__27941) : cljs.core.tree_map_append.call(null,G__27940,G__27941));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(app.key,app.val,(new cljs.core.RedNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.RedNode(right.key,right.val,app.right,right.right,null)),null));\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(new cljs.core.RedNode(right.key,right.val,app,right.right,null)),null));\n}\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(function (){var G__27942 \x3d left.right;\nvar G__27943 \x3d right;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__27942,G__27943) : cljs.core.tree_map_append.call(null,G__27942,G__27943));\n})(),null));\n}\n} else {\nif((right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(right.key,right.val,(function (){var G__27944 \x3d left;\nvar G__27945 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__27944,G__27945) : cljs.core.tree_map_append.call(null,G__27944,G__27945));\n})(),right.right,null));\n} else {\nvar app \x3d (function (){var G__27946 \x3d left.right;\nvar G__27947 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__27946,G__27947) : cljs.core.tree_map_append.call(null,G__27946,G__27947));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(app.key,app.val,(new cljs.core.BlackNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.BlackNode(right.key,right.val,app.right,right.right,null)),null));\n} else {\nreturn cljs.core.balance_left_del(left.key,left.val,left.left,(new cljs.core.BlackNode(right.key,right.val,app,right.right,null)));\n}\n\n}\n}\n}\n}\n});\ncljs.core.tree_map_remove \x3d (function cljs$core$tree_map_remove(comp,tree,k,found){\nif((!((tree \x3d\x3d null)))){\nvar c \x3d (function (){var G__27948 \x3d k;\nvar G__27949 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__27948,G__27949) : comp.call(null,G__27948,G__27949));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn cljs.core.tree_map_append(tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nvar del \x3d (function (){var G__27950 \x3d comp;\nvar G__27951 \x3d tree.left;\nvar G__27952 \x3d k;\nvar G__27953 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__27950,G__27951,G__27952,G__27953) : cljs.core.tree_map_remove.call(null,G__27950,G__27951,G__27952,G__27953));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left_del(tree.key,tree.val,del,tree.right);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,del,tree.right,null));\n}\n} else {\nreturn null;\n}\n} else {\nvar del \x3d (function (){var G__27954 \x3d comp;\nvar G__27955 \x3d tree.right;\nvar G__27956 \x3d k;\nvar G__27957 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__27954,G__27955,G__27956,G__27957) : cljs.core.tree_map_remove.call(null,G__27954,G__27955,G__27956,G__27957));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right_del(tree.key,tree.val,tree.left,del);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,tree.left,del,null));\n}\n} else {\nreturn null;\n}\n\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.core.tree_map_replace \x3d (function cljs$core$tree_map_replace(comp,tree,k,v){\nvar tk \x3d tree.key;\nvar c \x3d (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(k,tk) : comp.call(null,k,tk));\nif((c \x3d\x3d\x3d (0))){\nreturn tree.replace(tk,v,tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nreturn tree.replace(tk,tree.val,(function (){var G__27958 \x3d comp;\nvar G__27959 \x3d tree.left;\nvar G__27960 \x3d k;\nvar G__27961 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__27958,G__27959,G__27960,G__27961) : cljs.core.tree_map_replace.call(null,G__27958,G__27959,G__27960,G__27961));\n})(),tree.right);\n} else {\nreturn tree.replace(tk,tree.val,tree.left,(function (){var G__27962 \x3d comp;\nvar G__27963 \x3d tree.right;\nvar G__27964 \x3d k;\nvar G__27965 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__27962,G__27963,G__27964,G__27965) : cljs.core.tree_map_replace.call(null,G__27962,G__27963,G__27964,G__27965));\n})());\n\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeMap \x3d (function (comp,tree,cnt,meta,__hash){\nthis.comp \x3d comp;\nthis.tree \x3d tree;\nthis.cnt \x3d cnt;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 418776847;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.entry_at(k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__27967 \x3d cljs.core.seq(coll);\nvar chunk__27968 \x3d null;\nvar count__27969 \x3d (0);\nvar i__27970 \x3d (0);\nwhile(true){\nif((i__27970 \x3c count__27969)){\nvar vec__27977 \x3d chunk__27968.cljs$core$IIndexed$_nth$arity$2(null,i__27970);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27977,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27977,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__32369 \x3d seq__27967;\nvar G__32370 \x3d chunk__27968;\nvar G__32371 \x3d count__27969;\nvar G__32372 \x3d (i__27970 + (1));\nseq__27967 \x3d G__32369;\nchunk__27968 \x3d G__32370;\ncount__27969 \x3d G__32371;\ni__27970 \x3d G__32372;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27967);\nif(temp__5804__auto__){\nvar seq__27967__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27967__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__27967__$1);\nvar G__32376 \x3d cljs.core.chunk_rest(seq__27967__$1);\nvar G__32377 \x3d c__5548__auto__;\nvar G__32378 \x3d cljs.core.count(c__5548__auto__);\nvar G__32379 \x3d (0);\nseq__27967 \x3d G__32376;\nchunk__27968 \x3d G__32377;\ncount__27969 \x3d G__32378;\ni__27970 \x3d G__32379;\ncontinue;\n} else {\nvar vec__27980 \x3d cljs.core.first(seq__27967__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27980,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27980,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__32380 \x3d cljs.core.next(seq__27967__$1);\nvar G__32381 \x3d null;\nvar G__32382 \x3d (0);\nvar G__32383 \x3d (0);\nseq__27967 \x3d G__32380;\nchunk__27968 \x3d G__32381;\ncount__27969 \x3d G__32382;\ni__27970 \x3d G__32383;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entry_at \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__27983 \x3d k;\nvar G__27984 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__27983,G__27984) : self__.comp.call(null,G__27983,G__27984));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn t;\n} else {\nif((c \x3c (0))){\nvar G__32390 \x3d t.left;\nt \x3d G__32390;\ncontinue;\n} else {\nvar G__32391 \x3d t.right;\nt \x3d G__32391;\ncontinue;\n\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d coll__$1.entry_at(k);\nif((!((n \x3d\x3d null)))){\nreturn n.val;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.tree \x3d\x3d null)))){\nreturn cljs.core.unreduced(cljs.core.tree_map_kv_reduce(self__.tree,f,init));\n} else {\nreturn init;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,self__.meta,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,false,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,(0)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_remove(self__.comp,self__.tree,k,found);\nif((t \x3d\x3d null)){\nif((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0)) \x3d\x3d null)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt - (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_add(self__.comp,self__.tree,k,v,found);\nif((t \x3d\x3d null)){\nvar found_node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(v,found_node.val)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,cljs.core.tree_map_replace(self__.comp,self__.tree,k,v),self__.cnt,self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt + (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((coll__$1.entry_at(k) \x3d\x3d null)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,true,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__32416 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__32417 \x3d cljs.core.next(es);\nret \x3d G__32416;\nes \x3d G__32417;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27985 \x3d (arguments.length - (1));\nswitch (G__27985) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.apply \x3d (function (self__,args27966){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27966)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,ascending_QMARK_,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar stack \x3d null;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__27988 \x3d k;\nvar G__27989 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__27988,G__27989) : self__.comp.call(null,G__27988,G__27989));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t),ascending_QMARK_,(-1),null));\n} else {\nif(cljs.core.truth_(ascending_QMARK_)){\nif((c \x3c (0))){\nvar G__32425 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__32426 \x3d t.left;\nstack \x3d G__32425;\nt \x3d G__32426;\ncontinue;\n} else {\nvar G__32427 \x3d stack;\nvar G__32428 \x3d t.right;\nstack \x3d G__32427;\nt \x3d G__32428;\ncontinue;\n}\n} else {\nif((c \x3e (0))){\nvar G__32429 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__32430 \x3d t.right;\nstack \x3d G__32429;\nt \x3d G__32430;\ncontinue;\n} else {\nvar G__32432 \x3d stack;\nvar G__32433 \x3d t.left;\nstack \x3d G__32432;\nt \x3d G__32433;\ncontinue;\n}\n\n}\n}\n} else {\nif((stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,stack,ascending_QMARK_,(-1),null));\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(entry) : cljs.core.key.call(null,entry));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.comp;\n}));\n\n(cljs.core.PersistentTreeMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22comp\x22,\x22comp\x22,-1462482139,null),new cljs.core.Symbol(null,\x22tree\x22,\x22tree\x22,1444219499,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMap\x22);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentTreeMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMap.\n */\ncljs.core.__GT_PersistentTreeMap \x3d (function cljs$core$__GT_PersistentTreeMap(comp,tree,cnt,meta,__hash){\nreturn (new cljs.core.PersistentTreeMap(comp,tree,cnt,meta,__hash));\n});\n\n(cljs.core.PersistentTreeMap.EMPTY \x3d (new cljs.core.PersistentTreeMap(cljs.core.compare,null,(0),null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * keyval \x3d\x3e key val\n *   Returns a new hash map with supplied mappings.\n */\ncljs.core.hash_map \x3d (function cljs$core$hash_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32440 \x3d arguments.length;\nvar i__5750__auto___32442 \x3d (0);\nwhile(true){\nif((i__5750__auto___32442 \x3c len__5749__auto___32440)){\nargs__5755__auto__.push((arguments[i__5750__auto___32442]));\n\nvar G__32444 \x3d (i__5750__auto___32442 + (1));\ni__5750__auto___32442 \x3d G__32444;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif(in$){\nvar in_SINGLEQUOTE_ \x3d cljs.core.next(in$);\nif((in_SINGLEQUOTE_ \x3d\x3d null)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(in$))].join(\x27\x27)));\n} else {\nvar G__32449 \x3d cljs.core.next(in_SINGLEQUOTE_);\nvar G__32450 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.first(in_SINGLEQUOTE_));\nin$ \x3d G__32449;\nout \x3d G__32450;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n\n(cljs.core.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.hash_map.cljs$lang$applyTo \x3d (function (seq27990){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27990));\n}));\n\n/**\n * keyval \x3d\x3e key val\n *   Returns a new array map with supplied mappings.\n */\ncljs.core.array_map \x3d (function cljs$core$array_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32455 \x3d arguments.length;\nvar i__5750__auto___32456 \x3d (0);\nwhile(true){\nif((i__5750__auto___32456 \x3c len__5749__auto___32455)){\nargs__5755__auto__.push((arguments[i__5750__auto___32456]));\n\nvar G__32458 \x3d (i__5750__auto___32456 + (1));\ni__5750__auto___32456 \x3d G__32458;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar arr \x3d (((((keyvals instanceof cljs.core.IndexedSeq)) \x26\x26 ((keyvals.i \x3d\x3d\x3d (0)))))?keyvals.arr:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(keyvals));\nif(cljs.core.odd_QMARK_(arr.length)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.last(arr))].join(\x27\x27)));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(arr);\n}\n}));\n\n(cljs.core.array_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.array_map.cljs$lang$applyTo \x3d (function (seq27991){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27991));\n}));\n\n/**\n * Builds a map from a seq as described in\n *   https://clojure.org/reference/special_forms#keyword-arguments\n */\ncljs.core.seq_to_map_for_destructuring \x3d (function cljs$core$seq_to_map_for_destructuring(s){\nif(cljs.core.next(s)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(s));\n} else {\nif(cljs.core.seq(s)){\nreturn cljs.core.first(s);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n});\n/**\n * keyval \x3d\x3e key val\n *   Returns a new object map with supplied mappings.\n */\ncljs.core.obj_map \x3d (function cljs$core$obj_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32462 \x3d arguments.length;\nvar i__5750__auto___32463 \x3d (0);\nwhile(true){\nif((i__5750__auto___32463 \x3c len__5749__auto___32462)){\nargs__5755__auto__.push((arguments[i__5750__auto___32463]));\n\nvar G__32464 \x3d (i__5750__auto___32463 + (1));\ni__5750__auto___32463 \x3d G__32464;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar ks \x3d [];\nvar obj \x3d ({});\nvar kvs \x3d cljs.core.seq(keyvals);\nwhile(true){\nif(kvs){\nks.push(cljs.core.first(kvs));\n\ncljs.core.goog$module$goog$object.set(obj,cljs.core.first(kvs),cljs.core.second(kvs));\n\nvar G__32465 \x3d cljs.core.nnext(kvs);\nkvs \x3d G__32465;\ncontinue;\n} else {\nreturn cljs.core.ObjMap.fromObject(ks,obj);\n}\nbreak;\n}\n}));\n\n(cljs.core.obj_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.obj_map.cljs$lang$applyTo \x3d (function (seq27992){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27992));\n}));\n\n/**\n * keyval \x3d\x3e key val\n *   Returns a new sorted map with supplied mappings.\n */\ncljs.core.sorted_map \x3d (function cljs$core$sorted_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32471 \x3d arguments.length;\nvar i__5750__auto___32472 \x3d (0);\nwhile(true){\nif((i__5750__auto___32472 \x3c len__5749__auto___32471)){\nargs__5755__auto__.push((arguments[i__5750__auto___32472]));\n\nvar G__32475 \x3d (i__5750__auto___32472 + (1));\ni__5750__auto___32472 \x3d G__32475;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.PersistentTreeMap.EMPTY;\nwhile(true){\nif(in$){\nvar G__32479 \x3d cljs.core.nnext(in$);\nvar G__32480 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__32479;\nout \x3d G__32480;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_map.cljs$lang$applyTo \x3d (function (seq27995){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27995));\n}));\n\n/**\n * keyval \x3d\x3e key val\n *   Returns a new sorted map with supplied mappings, using the supplied comparator.\n */\ncljs.core.sorted_map_by \x3d (function cljs$core$sorted_map_by(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32488 \x3d arguments.length;\nvar i__5750__auto___32490 \x3d (0);\nwhile(true){\nif((i__5750__auto___32490 \x3c len__5749__auto___32488)){\nargs__5755__auto__.push((arguments[i__5750__auto___32490]));\n\nvar G__32494 \x3d (i__5750__auto___32490 + (1));\ni__5750__auto___32490 \x3d G__32494;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d (new cljs.core.PersistentTreeMap(cljs.core.fn__GT_comparator(comparator),null,(0),null,(0)));\nwhile(true){\nif(in$){\nvar G__32504 \x3d cljs.core.nnext(in$);\nvar G__32505 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__32504;\nout \x3d G__32505;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_map_by.cljs$lang$applyTo \x3d (function (seq27996){\nvar G__27997 \x3d cljs.core.first(seq27996);\nvar seq27996__$1 \x3d cljs.core.next(seq27996);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27997,seq27996__$1);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.KeySeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.KeySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.KeySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.KeySeq.prototype.indexOf \x3d (function() {\nvar G__32513 \x3d null;\nvar G__32513__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__32513__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32513 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32513__1.call(this,x);\ncase 2:\nreturn G__32513__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32513.cljs$core$IFn$_invoke$arity$1 \x3d G__32513__1;\nG__32513.cljs$core$IFn$_invoke$arity$2 \x3d G__32513__2;\nreturn G__32513;\n})()\n);\n\n(cljs.core.KeySeq.prototype.lastIndexOf \x3d (function() {\nvar G__32515 \x3d null;\nvar G__32515__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__32515__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32515 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32515__1.call(this,x);\ncase 2:\nreturn G__32515__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32515.cljs$core$IFn$_invoke$arity$1 \x3d G__32515__1;\nG__32515.cljs$core$IFn$_invoke$arity$2 \x3d G__32515__2;\nreturn G__32515;\n})()\n);\n\n(cljs.core.KeySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.KeySeq(nseq,null));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_key$arity$1(null);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.KeySeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.KeySeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.KeySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.KeySeq.cljs$lang$type \x3d true);\n\n(cljs.core.KeySeq.cljs$lang$ctorStr \x3d \x22cljs.core/KeySeq\x22);\n\n(cljs.core.KeySeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/KeySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/KeySeq.\n */\ncljs.core.__GT_KeySeq \x3d (function cljs$core$__GT_KeySeq(mseq,_meta){\nreturn (new cljs.core.KeySeq(mseq,_meta));\n});\n\n(cljs.core.KeySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s keys, in the same order as (seq map).\n */\ncljs.core.keys \x3d (function cljs$core$keys(map){\nvar temp__5804__auto__ \x3d cljs.core.seq(map);\nif(temp__5804__auto__){\nvar mseq \x3d temp__5804__auto__;\nreturn (new cljs.core.KeySeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core.key \x3d (function cljs$core$key(map_entry){\nreturn cljs.core._key(map_entry);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ValSeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ValSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ValSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ValSeq.prototype.indexOf \x3d (function() {\nvar G__32559 \x3d null;\nvar G__32559__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__32559__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32559 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32559__1.call(this,x);\ncase 2:\nreturn G__32559__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32559.cljs$core$IFn$_invoke$arity$1 \x3d G__32559__1;\nG__32559.cljs$core$IFn$_invoke$arity$2 \x3d G__32559__2;\nreturn G__32559;\n})()\n);\n\n(cljs.core.ValSeq.prototype.lastIndexOf \x3d (function() {\nvar G__32566 \x3d null;\nvar G__32566__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__32566__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__32566 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32566__1.call(this,x);\ncase 2:\nreturn G__32566__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32566.cljs$core$IFn$_invoke$arity$1 \x3d G__32566__1;\nG__32566.cljs$core$IFn$_invoke$arity$2 \x3d G__32566__2;\nreturn G__32566;\n})()\n);\n\n(cljs.core.ValSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.ValSeq(nseq,null));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_val$arity$1(null);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.ValSeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ValSeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ValSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.ValSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ValSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ValSeq\x22);\n\n(cljs.core.ValSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ValSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ValSeq.\n */\ncljs.core.__GT_ValSeq \x3d (function cljs$core$__GT_ValSeq(mseq,_meta){\nreturn (new cljs.core.ValSeq(mseq,_meta));\n});\n\n(cljs.core.ValSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s values, in the same order as (seq map).\n */\ncljs.core.vals \x3d (function cljs$core$vals(map){\nvar temp__5804__auto__ \x3d cljs.core.seq(map);\nif(temp__5804__auto__){\nvar mseq \x3d temp__5804__auto__;\nreturn (new cljs.core.ValSeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the value in the map entry.\n */\ncljs.core.val \x3d (function cljs$core$val(map_entry){\nreturn cljs.core._val(map_entry);\n});\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n *   the first.  If a key occurs in more than one map, the mapping from\n *   the latter (left-to-right) will be the mapping in the result.\n */\ncljs.core.merge \x3d (function cljs$core$merge(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32636 \x3d arguments.length;\nvar i__5750__auto___32638 \x3d (0);\nwhile(true){\nif((i__5750__auto___32638 \x3c len__5749__auto___32636)){\nargs__5755__auto__.push((arguments[i__5750__auto___32638]));\n\nvar G__32644 \x3d (i__5750__auto___32638 + (1));\ni__5750__auto___32638 \x3d G__32644;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic \x3d (function (maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((function (p1__28002_SHARP_,p2__28003_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d p1__28002_SHARP_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),p2__28003_SHARP_);\n}),maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.merge.cljs$lang$applyTo \x3d (function (seq28004){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28004));\n}));\n\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n *   the first.  If a key occurs in more than one map, the mapping(s)\n *   from the latter (left-to-right) will be combined with the mapping in\n *   the result by calling (f val-in-result val-in-latter).\n */\ncljs.core.merge_with \x3d (function cljs$core$merge_with(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32659 \x3d arguments.length;\nvar i__5750__auto___32661 \x3d (0);\nwhile(true){\nif((i__5750__auto___32661 \x3c len__5749__auto___32659)){\nargs__5755__auto__.push((arguments[i__5750__auto___32661]));\n\nvar G__32664 \x3d (i__5750__auto___32661 + (1));\ni__5750__auto___32661 \x3d G__32664;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nvar merge_entry \x3d (function (m,e){\nvar k \x3d cljs.core.key(e);\nvar v \x3d cljs.core.val(e);\nif(cljs.core.contains_QMARK_(m,k)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__28007 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__28008 \x3d v;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__28007,G__28008) : f.call(null,G__28007,G__28008));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\nvar merge2 \x3d (function (m1,m2){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(merge_entry,(function (){var or__5025__auto__ \x3d m1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),cljs.core.seq(m2));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(merge2,maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge_with.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.merge_with.cljs$lang$applyTo \x3d (function (seq28005){\nvar G__28006 \x3d cljs.core.first(seq28005);\nvar seq28005__$1 \x3d cljs.core.next(seq28005);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28006,seq28005__$1);\n}));\n\n/**\n * Returns a map containing only those entries in map whose key is in keys\n */\ncljs.core.select_keys \x3d (function cljs$core$select_keys(map,keyseq){\nvar ret \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar keys \x3d cljs.core.seq(keyseq);\nwhile(true){\nif(keys){\nvar key \x3d cljs.core.first(keys);\nvar entry \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map,key,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185));\nvar G__32692 \x3d ((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(entry,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,key,entry):ret);\nvar G__32693 \x3d cljs.core.next(keys);\nret \x3d G__32692;\nkeys \x3d G__32693;\ncontinue;\n} else {\nreturn cljs.core._with_meta(ret,cljs.core.meta(map));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.HashSetIter \x3d (function (iter){\nthis.iter \x3d iter;\n});\n(cljs.core.HashSetIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.iter.hasNext();\n}));\n\n(cljs.core.HashSetIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(self__.iter.hasNext()){\nreturn self__.iter.next().key;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.HashSetIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashSetIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null)], null);\n}));\n\n(cljs.core.HashSetIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashSetIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashSetIter\x22);\n\n(cljs.core.HashSetIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/HashSetIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashSetIter.\n */\ncljs.core.__GT_HashSetIter \x3d (function cljs$core$__GT_HashSetIter(iter){\nreturn (new cljs.core.HashSetIter(iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashSet \x3d (function (meta,hash_map,__hash){\nthis.meta \x3d meta;\nthis.hash_map \x3d hash_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 15077647;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__28012 \x3d cljs.core.seq(coll);\nvar chunk__28013 \x3d null;\nvar count__28014 \x3d (0);\nvar i__28015 \x3d (0);\nwhile(true){\nif((i__28015 \x3c count__28014)){\nvar vec__28022 \x3d chunk__28013.cljs$core$IIndexed$_nth$arity$2(null,i__28015);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28022,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28022,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__32722 \x3d seq__28012;\nvar G__32723 \x3d chunk__28013;\nvar G__32724 \x3d count__28014;\nvar G__32725 \x3d (i__28015 + (1));\nseq__28012 \x3d G__32722;\nchunk__28013 \x3d G__32723;\ncount__28014 \x3d G__32724;\ni__28015 \x3d G__32725;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28012);\nif(temp__5804__auto__){\nvar seq__28012__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28012__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__28012__$1);\nvar G__32729 \x3d cljs.core.chunk_rest(seq__28012__$1);\nvar G__32730 \x3d c__5548__auto__;\nvar G__32731 \x3d cljs.core.count(c__5548__auto__);\nvar G__32732 \x3d (0);\nseq__28012 \x3d G__32729;\nchunk__28013 \x3d G__32730;\ncount__28014 \x3d G__32731;\ni__28015 \x3d G__32732;\ncontinue;\n} else {\nvar vec__28025 \x3d cljs.core.first(seq__28012__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28025,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28025,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__32742 \x3d cljs.core.next(seq__28012__$1);\nvar G__32743 \x3d null;\nvar G__32744 \x3d (0);\nvar G__32745 \x3d (0);\nseq__28012 \x3d G__32742;\nchunk__28013 \x3d G__32743;\ncount__28014 \x3d G__32744;\ni__28015 \x3d G__32745;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core._find(self__.hash_map,v);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar entry \x3d temp__5802__auto__;\nreturn cljs.core.key(entry);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.HashSetIter(cljs.core._iterator(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,self__.hash_map,self__.__hash));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._count(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5023__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5023__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__28010_SHARP_,p2__28009_SHARP_){\nvar or__5025__auto__ \x3d cljs.core.contains_QMARK_(other,p2__28009_SHARP_);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.hash_map);\n}catch (e28028){if((e28028 instanceof Error)){\nvar ex \x3d e28028;\nreturn false;\n} else {\nthrow e28028;\n\n}\n}} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashSet(cljs.core._as_transient(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashSet.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core._dissoc(self__.hash_map,v),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashSet(new_meta,self__.hash_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.hash_map,o,null),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__28029 \x3d (arguments.length - (1));\nswitch (G__28029) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.apply \x3d (function (self__,args28011){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args28011)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22hash-map\x22,\x22hash-map\x22,-439030950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashSet\x22);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashSet.\n */\ncljs.core.__GT_PersistentHashSet \x3d (function cljs$core$__GT_PersistentHashSet(meta,hash_map,__hash){\nreturn (new cljs.core.PersistentHashSet(meta,hash_map,__hash));\n});\n\n(cljs.core.PersistentHashSet.EMPTY \x3d (new cljs.core.PersistentHashSet(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashSet.fromArray \x3d (function (items,no_clone){\nvar len \x3d items.length;\nif((len \x3c\x3d cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr \x3d ((no_clone)?items:cljs.core.aclone(items));\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__32788 \x3d (i + (1));\nvar G__32789 \x3d cljs.core._assoc_BANG_(out,(items[i]),null);\ni \x3d G__32788;\nout \x3d G__32789;\ncontinue;\n} else {\nreturn (new cljs.core.PersistentHashSet(null,cljs.core._persistent_BANG_(out),null));\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__32791 \x3d (i + (1));\nvar G__32792 \x3d cljs.core._conj_BANG_(out,(items[i]));\ni \x3d G__32791;\nout \x3d G__32792;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentHashSet.createWithCheck \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5616__auto___32797 \x3d len;\nvar i_32799 \x3d (0);\nwhile(true){\nif((i_32799 \x3c n__5616__auto___32797)){\ncljs.core._conj_BANG_(t,(items[i_32799]));\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(t),(i_32799 + (1)))){\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((items[i_32799]))].join(\x27\x27)));\n}\n\nvar G__32804 \x3d (i_32799 + (1));\ni_32799 \x3d G__32804;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.createAsIfByAssoc \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5616__auto___32808 \x3d len;\nvar i_32809 \x3d (0);\nwhile(true){\nif((i_32809 \x3c n__5616__auto___32808)){\ncljs.core._conj_BANG_(t,(items[i_32809]));\n\nvar G__32812 \x3d (i_32809 + (1));\ni_32809 \x3d G__32812;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ITransientSet}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashSet \x3d (function (transient_map){\nthis.transient_map \x3d transient_map;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 136;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\n});\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(self__.transient_map,o,null));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(null,cljs.core.persistent_BANG_(self__.transient_map),null));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(self__.transient_map,v));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn cljs.core.count(self__.transient_map);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,v,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((cljs.core._lookup(self__.transient_map,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn v;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__28031 \x3d (arguments.length - (1));\nswitch (G__28031) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.apply \x3d (function (self__,args28030){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args28030)));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn null;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22transient-map\x22,\x22transient-map\x22,351764893,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashSet\x22);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransientHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashSet.\n */\ncljs.core.__GT_TransientHashSet \x3d (function cljs$core$__GT_TransientHashSet(transient_map){\nreturn (new cljs.core.TransientHashSet(transient_map));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeSet \x3d (function (meta,tree_map,__hash){\nthis.meta \x3d meta;\nthis.tree_map \x3d tree_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 417730831;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__28035 \x3d cljs.core.seq(coll);\nvar chunk__28036 \x3d null;\nvar count__28037 \x3d (0);\nvar i__28038 \x3d (0);\nwhile(true){\nif((i__28038 \x3c count__28037)){\nvar vec__28045 \x3d chunk__28036.cljs$core$IIndexed$_nth$arity$2(null,i__28038);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28045,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28045,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__32851 \x3d seq__28035;\nvar G__32852 \x3d chunk__28036;\nvar G__32853 \x3d count__28037;\nvar G__32854 \x3d (i__28038 + (1));\nseq__28035 \x3d G__32851;\nchunk__28036 \x3d G__32852;\ncount__28037 \x3d G__32853;\ni__28038 \x3d G__32854;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28035);\nif(temp__5804__auto__){\nvar seq__28035__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28035__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__28035__$1);\nvar G__32855 \x3d cljs.core.chunk_rest(seq__28035__$1);\nvar G__32856 \x3d c__5548__auto__;\nvar G__32857 \x3d cljs.core.count(c__5548__auto__);\nvar G__32858 \x3d (0);\nseq__28035 \x3d G__32855;\nchunk__28036 \x3d G__32856;\ncount__28037 \x3d G__32857;\ni__28038 \x3d G__32858;\ncontinue;\n} else {\nvar vec__28048 \x3d cljs.core.first(seq__28035__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28048,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28048,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__32859 \x3d cljs.core.next(seq__28035__$1);\nvar G__32860 \x3d null;\nvar G__32861 \x3d (0);\nvar G__32862 \x3d (0);\nseq__28035 \x3d G__32859;\nchunk__28036 \x3d G__32860;\ncount__28037 \x3d G__32861;\ni__28038 \x3d G__32862;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d self__.tree_map.entry_at(v);\nif((!((n \x3d\x3d null)))){\nreturn n.key;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,self__.tree_map,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.count(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.count(self__.tree_map) \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core.rseq(self__.tree_map));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5023__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5023__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__28033_SHARP_,p2__28032_SHARP_){\nvar or__5025__auto__ \x3d cljs.core.contains_QMARK_(other,p2__28032_SHARP_);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.tree_map);\n}catch (e28051){if((e28051 instanceof Error)){\nvar ex \x3d e28051;\nreturn false;\n} else {\nthrow e28051;\n\n}\n}} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core._empty(self__.tree_map),(0)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.tree_map,v),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeSet(new_meta,self__.tree_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.tree_map,o,null),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__28052 \x3d (arguments.length - (1));\nswitch (G__28052) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.apply \x3d (function (self__,args28034){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args28034)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq(self__.tree_map,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq_from(self__.tree_map,k,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn entry;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._comparator(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22tree-map\x22,\x22tree-map\x22,1373073049,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeSet\x22);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentTreeSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeSet.\n */\ncljs.core.__GT_PersistentTreeSet \x3d (function cljs$core$__GT_PersistentTreeSet(meta,tree_map,__hash){\nreturn (new cljs.core.PersistentTreeSet(meta,tree_map,__hash));\n});\n\n(cljs.core.PersistentTreeSet.EMPTY \x3d (new cljs.core.PersistentTreeSet(null,cljs.core.PersistentTreeMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.set_from_indexed_seq \x3d (function cljs$core$set_from_indexed_seq(iseq){\nvar arr \x3d iseq.arr;\nvar ret \x3d (function (){var a__5613__auto__ \x3d arr;\nvar l__5614__auto__ \x3d a__5613__auto__.length;\nvar i \x3d (0);\nvar res \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c l__5614__auto__)){\nvar G__32896 \x3d (i + (1));\nvar G__32897 \x3d cljs.core._conj_BANG_(res,(arr[i]));\ni \x3d G__32896;\nres \x3d G__32897;\ncontinue;\n} else {\nreturn res;\n}\nbreak;\n}\n})();\nreturn ret.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(null);\n});\n/**\n * Returns a set of the distinct elements of coll.\n */\ncljs.core.set \x3d (function cljs$core$set(coll){\nif(cljs.core.set_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nvar in$ \x3d cljs.core.seq(coll);\nif((in$ \x3d\x3d null)){\nreturn cljs.core.PersistentHashSet.EMPTY;\n} else {\nif((((in$ instanceof cljs.core.IndexedSeq)) \x26\x26 ((in$.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentHashSet.createAsIfByAssoc(in$.arr);\n} else {\nvar in$__$1 \x3d in$;\nvar out \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((!((in$__$1 \x3d\x3d null)))){\nvar G__32900 \x3d cljs.core.next(in$__$1);\nvar G__32901 \x3d cljs.core._conj_BANG_(out,cljs.core._first(in$__$1));\nin$__$1 \x3d G__32900;\nout \x3d G__32901;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n\n}\n}\n}\n});\n/**\n * Returns a new hash set with supplied keys.  Any equal keys are\n *   handled as if by repeated uses of conj.\n */\ncljs.core.hash_set \x3d (function cljs$core$hash_set(var_args){\nvar G__28055 \x3d arguments.length;\nswitch (G__28055) {\ncase 0:\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___32908 \x3d arguments.length;\nvar i__5750__auto___32909 \x3d (0);\nwhile(true){\nif((i__5750__auto___32909 \x3c len__5749__auto___32908)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___32909]));\n\nvar G__32910 \x3d (i__5750__auto___32909 + (1));\ni__5750__auto___32909 \x3d G__32910;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((0) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.set(keys);\n}));\n\n/** @this {Function} */\n(cljs.core.hash_set.cljs$lang$applyTo \x3d (function (seq28054){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28054));\n}));\n\n(cljs.core.hash_set.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Returns a new sorted set with supplied keys.\n */\ncljs.core.sorted_set \x3d (function cljs$core$sorted_set(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32913 \x3d arguments.length;\nvar i__5750__auto___32914 \x3d (0);\nwhile(true){\nif((i__5750__auto___32914 \x3c len__5749__auto___32913)){\nargs__5755__auto__.push((arguments[i__5750__auto___32914]));\n\nvar G__32916 \x3d (i__5750__auto___32914 + (1));\ni__5750__auto___32914 \x3d G__32916;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,cljs.core.PersistentTreeSet.EMPTY,keys);\n}));\n\n(cljs.core.sorted_set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_set.cljs$lang$applyTo \x3d (function (seq28056){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28056));\n}));\n\n/**\n * Returns a new sorted set with supplied keys, using the supplied comparator.\n */\ncljs.core.sorted_set_by \x3d (function cljs$core$sorted_set_by(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32919 \x3d arguments.length;\nvar i__5750__auto___32920 \x3d (0);\nwhile(true){\nif((i__5750__auto___32920 \x3c len__5749__auto___32919)){\nargs__5755__auto__.push((arguments[i__5750__auto___32920]));\n\nvar G__32921 \x3d (i__5750__auto___32920 + (1));\ni__5750__auto___32920 \x3d G__32921;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,(new cljs.core.PersistentTreeSet(null,cljs.core.sorted_map_by(comparator),(0))),keys);\n}));\n\n(cljs.core.sorted_set_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_set_by.cljs$lang$applyTo \x3d (function (seq28057){\nvar G__28058 \x3d cljs.core.first(seq28057);\nvar seq28057__$1 \x3d cljs.core.next(seq28057);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28058,seq28057__$1);\n}));\n\n/**\n * Given a map of replacement pairs and a vector/collection, returns a\n *   vector/seq with any elements \x3d a key in smap replaced with the\n *   corresponding val in smap.  Returns a transducer when no collection\n *   is provided.\n */\ncljs.core.replace \x3d (function cljs$core$replace(var_args){\nvar G__28062 \x3d arguments.length;\nswitch (G__28062) {\ncase 1:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$1 \x3d (function (smap){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__28059_SHARP_){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,p1__28059_SHARP_);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.val(e);\n} else {\nreturn p1__28059_SHARP_;\n}\n}));\n}));\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$2 \x3d (function (smap,coll){\nif(cljs.core.vector_QMARK_(coll)){\nvar n \x3d cljs.core.count(coll);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,i){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,i));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(v,i,cljs.core.second(e));\n} else {\nreturn v;\n}\n}),coll,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.iterate(cljs.core.inc,(0))));\n} else {\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28060_SHARP_){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,p1__28060_SHARP_);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.second(e);\n} else {\nreturn p1__28060_SHARP_;\n}\n}),coll);\n}\n}));\n\n(cljs.core.replace.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the elements of coll with duplicates removed.\n *   Returns a stateful transducer when no collection is provided.\n */\ncljs.core.distinct \x3d (function cljs$core$distinct(var_args){\nvar G__28064 \x3d arguments.length;\nswitch (G__28064) {\ncase 0:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar seen \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\nreturn (function() {\nvar G__32939 \x3d null;\nvar G__32939__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__32939__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__32939__2 \x3d (function (result,input){\nif(cljs.core.contains_QMARK_(cljs.core.deref(seen),input)){\nreturn result;\n} else {\nseen.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen.cljs$core$IDeref$_deref$arity$1(null),input));\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__32939 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__32939__0.call(this);\ncase 1:\nreturn G__32939__1.call(this,result);\ncase 2:\nreturn G__32939__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32939.cljs$core$IFn$_invoke$arity$0 \x3d G__32939__0;\nG__32939.cljs$core$IFn$_invoke$arity$1 \x3d G__32939__1;\nG__32939.cljs$core$IFn$_invoke$arity$2 \x3d G__32939__2;\nreturn G__32939;\n})()\n});\n}));\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar step \x3d (function cljs$core$step(xs,seen){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn (function (p__28065,seen__$1){\nwhile(true){\nvar vec__28066 \x3d p__28065;\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28066,(0),null);\nvar xs__$1 \x3d vec__28066;\nvar temp__5804__auto__ \x3d cljs.core.seq(xs__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.contains_QMARK_(seen__$1,f)){\nvar G__32947 \x3d cljs.core.rest(s);\nvar G__32948 \x3d seen__$1;\np__28065 \x3d G__32947;\nseen__$1 \x3d G__32948;\ncontinue;\n} else {\nreturn cljs.core.cons(f,cljs$core$step(cljs.core.rest(s),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen__$1,f)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})(xs,seen);\n}),null,null));\n});\nreturn step(coll,cljs.core.PersistentHashSet.EMPTY);\n}));\n\n(cljs.core.distinct.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Return a seq of all but the last item in coll, in linear time\n */\ncljs.core.butlast \x3d (function cljs$core$butlast(s){\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nvar s__$1 \x3d s;\nwhile(true){\nif(cljs.core.next(s__$1)){\nvar G__32954 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.first(s__$1));\nvar G__32955 \x3d cljs.core.next(s__$1);\nret \x3d G__32954;\ns__$1 \x3d G__32955;\ncontinue;\n} else {\nreturn cljs.core.seq(ret);\n}\nbreak;\n}\n});\n/**\n * Returns the name String of a string, symbol or keyword.\n */\ncljs.core.name \x3d (function cljs$core$name(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_name$arity$1(null);\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nthrow (new Error([\x22Doesn\x27t support name: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n}\n});\n/**\n * Returns a map with the keys mapped to the corresponding vals.\n */\ncljs.core.zipmap \x3d (function cljs$core$zipmap(keys,vals){\nvar map \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nvar ks \x3d cljs.core.seq(keys);\nvar vs \x3d cljs.core.seq(vals);\nwhile(true){\nif(((ks) \x26\x26 (vs))){\nvar G__32963 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(map,cljs.core.first(ks),cljs.core.first(vs));\nvar G__32964 \x3d cljs.core.next(ks);\nvar G__32965 \x3d cljs.core.next(vs);\nmap \x3d G__32963;\nks \x3d G__32964;\nvs \x3d G__32965;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(map);\n}\nbreak;\n}\n});\n/**\n * Returns the x for which (k x), a number, is greatest.\n * \n *   If there are multiple such xs, the last one is returned.\n */\ncljs.core.max_key \x3d (function cljs$core$max_key(var_args){\nvar G__28077 \x3d arguments.length;\nswitch (G__28077) {\ncase 2:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___32976 \x3d arguments.length;\nvar i__5750__auto___32977 \x3d (0);\nwhile(true){\nif((i__5750__auto___32977 \x3c len__5749__auto___32976)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___32977]));\n\nvar G__32980 \x3d (i__5750__auto___32977 + (1));\ni__5750__auto___32977 \x3d G__32980;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3e (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28070_SHARP_,p2__28071_SHARP_){\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,p1__28070_SHARP_,p2__28071_SHARP_);\n}),cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max_key.cljs$lang$applyTo \x3d (function (seq28073){\nvar G__28074 \x3d cljs.core.first(seq28073);\nvar seq28073__$1 \x3d cljs.core.next(seq28073);\nvar G__28075 \x3d cljs.core.first(seq28073__$1);\nvar seq28073__$2 \x3d cljs.core.next(seq28073__$1);\nvar G__28076 \x3d cljs.core.first(seq28073__$2);\nvar seq28073__$3 \x3d cljs.core.next(seq28073__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28074,G__28075,G__28076,seq28073__$3);\n}));\n\n(cljs.core.max_key.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the x for which (k x), a number, is least.\n * \n *   If there are multiple such xs, the last one is returned.\n */\ncljs.core.min_key \x3d (function cljs$core$min_key(var_args){\nvar G__28085 \x3d arguments.length;\nswitch (G__28085) {\ncase 2:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___32993 \x3d arguments.length;\nvar i__5750__auto___32994 \x3d (0);\nwhile(true){\nif((i__5750__auto___32994 \x3c len__5749__auto___32993)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___32994]));\n\nvar G__32995 \x3d (i__5750__auto___32994 + (1));\ni__5750__auto___32994 \x3d G__32995;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3c (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28078_SHARP_,p2__28079_SHARP_){\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,p1__28078_SHARP_,p2__28079_SHARP_);\n}),cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min_key.cljs$lang$applyTo \x3d (function (seq28081){\nvar G__28082 \x3d cljs.core.first(seq28081);\nvar seq28081__$1 \x3d cljs.core.next(seq28081);\nvar G__28083 \x3d cljs.core.first(seq28081__$1);\nvar seq28081__$2 \x3d cljs.core.next(seq28081__$1);\nvar G__28084 \x3d cljs.core.first(seq28081__$2);\nvar seq28081__$3 \x3d cljs.core.next(seq28081__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28082,G__28083,G__28084,seq28081__$3);\n}));\n\n(cljs.core.min_key.cljs$lang$maxFixedArity \x3d (3));\n\n\n/**\n* @constructor\n*/\ncljs.core.ArrayList \x3d (function (arr){\nthis.arr \x3d arr;\n});\n(cljs.core.ArrayList.prototype.add \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.push(x);\n}));\n\n(cljs.core.ArrayList.prototype.size \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.length;\n}));\n\n(cljs.core.ArrayList.prototype.clear \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr \x3d []);\n}));\n\n(cljs.core.ArrayList.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.ArrayList.prototype.toArray \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr;\n}));\n\n(cljs.core.ArrayList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayList.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayList.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayList\x22);\n\n(cljs.core.ArrayList.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayList.\n */\ncljs.core.__GT_ArrayList \x3d (function cljs$core$__GT_ArrayList(arr){\nreturn (new cljs.core.ArrayList(arr));\n});\n\ncljs.core.array_list \x3d (function cljs$core$array_list(){\nreturn (new cljs.core.ArrayList([]));\n});\n/**\n * Returns a lazy sequence of lists like partition, but may include\n *   partitions with fewer than n items at the end.  Returns a stateful\n *   transducer when no collection is provided.\n */\ncljs.core.partition_all \x3d (function cljs$core$partition_all(var_args){\nvar G__28087 \x3d arguments.length;\nswitch (G__28087) {\ncase 1:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nreturn (function() {\nvar G__33025 \x3d null;\nvar G__33025__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__33025__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__33025__2 \x3d (function (result,input){\na.add(input);\n\nif((n \x3d\x3d\x3d a.size())){\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n} else {\nreturn result;\n}\n});\nG__33025 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__33025__0.call(this);\ncase 1:\nreturn G__33025__1.call(this,result);\ncase 2:\nreturn G__33025__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33025.cljs$core$IFn$_invoke$arity$0 \x3d G__33025__0;\nG__33025.cljs$core$IFn$_invoke$arity$1 \x3d G__33025__1;\nG__33025.cljs$core$IFn$_invoke$arity$2 \x3d G__33025__2;\nreturn G__33025;\n})()\n});\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s),cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_all.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a vector of [(into [] (take n) coll) (drop n coll)]\n */\ncljs.core.splitv_at \x3d (function cljs$core$splitv_at(n,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),coll),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll)], null);\n});\n/**\n * Returns a lazy sequence of vectors of n items each, at offsets step\n *   apart. If step is not supplied, defaults to n, i.e. the partitions\n *   do not overlap. If a pad collection is supplied, use its elements as\n *   necessary to complete last partition upto n items. In case there are\n *   not enough padding elements, return a partition with less than n items.\n */\ncljs.core.partitionv \x3d (function cljs$core$partitionv(var_args){\nvar G__28089 \x3d arguments.length;\nswitch (G__28089) {\ncase 2:\nreturn cljs.core.partitionv.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partitionv.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partitionv.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partitionv.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partitionv.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partitionv.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),s);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partitionv.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.nthrest(s,step)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partitionv.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,step,pad,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),s);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partitionv.cljs$core$IFn$_invoke$arity$4(n,step,pad,cljs.core.nthrest(s,step)));\n} else {\nreturn (new cljs.core.List(null,cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(p,pad)),null,(1),null));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partitionv.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns a lazy sequence of vector partitions, but may include\n *   partitions with fewer than n items at the end.\n *   Returns a stateful transducer when no collection is provided.\n */\ncljs.core.partitionv_all \x3d (function cljs$core$partitionv_all(var_args){\nvar G__28091 \x3d arguments.length;\nswitch (G__28091) {\ncase 1:\nreturn cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1(n);\n}));\n\n(cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar seg \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),coll);\nreturn cljs.core.cons(seg,cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partitionv_all.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy sequence of successive items from coll while\n *   (pred item) returns logical true. pred must be free of side-effects.\n *   Returns a transducer when no collection is provided.\n */\ncljs.core.take_while \x3d (function cljs$core$take_while(var_args){\nvar G__28093 \x3d arguments.length;\nswitch (G__28093) {\ncase 1:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__33072 \x3d null;\nvar G__33072__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__33072__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__33072__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn cljs.core.reduced(result);\n}\n});\nG__33072 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__33072__0.call(this);\ncase 1:\nreturn G__33072__1.call(this,result);\ncase 2:\nreturn G__33072__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33072.cljs$core$IFn$_invoke$arity$0 \x3d G__33072__0;\nG__33072.cljs$core$IFn$_invoke$arity$1 \x3d G__33072__1;\nG__33072.cljs$core$IFn$_invoke$arity$2 \x3d G__33072__2;\nreturn G__33072;\n})()\n});\n}));\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.truth_((function (){var G__28094 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__28094) : pred.call(null,G__28094));\n})())){\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_while.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.mk_bound_fn \x3d (function cljs$core$mk_bound_fn(sc,test,key){\nreturn (function (e){\nvar comp \x3d cljs.core._comparator(sc);\nvar G__28095 \x3d (function (){var G__28097 \x3d cljs.core._entry_key(sc,e);\nvar G__28098 \x3d key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__28097,G__28098) : comp.call(null,G__28097,G__28098));\n})();\nvar G__28096 \x3d (0);\nreturn (test.cljs$core$IFn$_invoke$arity$2 ? test.cljs$core$IFn$_invoke$arity$2(G__28095,G__28096) : test.call(null,G__28095,G__28096));\n});\n});\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n *   \x3e\x3d. Returns a seq of those entries with keys ek for\n *   which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.subseq \x3d (function cljs$core$subseq(var_args){\nvar G__28100 \x3d arguments.length;\nswitch (G__28100) {\ncase 3:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__28101 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._GT_,cljs.core._GT__EQ_]);\nreturn (fexpr__28101.cljs$core$IFn$_invoke$arity$1 ? fexpr__28101.cljs$core$IFn$_invoke$arity$1(test) : fexpr__28101.call(null,test));\n})())){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,key,true);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__28102 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28102,(0),null);\nvar s \x3d vec__28102;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,true));\n}\n}));\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,start_key,true);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__28105 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28105,(0),null);\nvar s \x3d vec__28105;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,end_test,end_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,start_test,start_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.subseq.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n *   \x3e\x3d. Returns a reverse seq of those entries with keys ek for\n *   which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.rsubseq \x3d (function cljs$core$rsubseq(var_args){\nvar G__28109 \x3d arguments.length;\nswitch (G__28109) {\ncase 3:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__28110 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._LT_,cljs.core._LT__EQ_]);\nreturn (fexpr__28110.cljs$core$IFn$_invoke$arity$1 ? fexpr__28110.cljs$core$IFn$_invoke$arity$1(test) : fexpr__28110.call(null,test));\n})())){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,key,false);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__28111 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28111,(0),null);\nvar s \x3d vec__28111;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,false));\n}\n}));\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,end_key,false);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__28114 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28114,(0),null);\nvar s \x3d vec__28114;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,start_test,start_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,end_test,end_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.rsubseq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.IChunk}\n*/\ncljs.core.IntegerRangeChunk \x3d (function (start,step,count){\nthis.start \x3d start;\nthis.step \x3d step;\nthis.count \x3d count;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 82;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.start + (i * self__.step));\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c self__.count)))){\nreturn (self__.start + (i * self__.step));\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3c\x3d (1))){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.IntegerRangeChunk((self__.start + self__.step),self__.step,(self__.count - (1))));\n}\n}));\n\n(cljs.core.IntegerRangeChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null)], null);\n}));\n\n(cljs.core.IntegerRangeChunk.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRangeChunk\x22);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/IntegerRangeChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRangeChunk.\n */\ncljs.core.__GT_IntegerRangeChunk \x3d (function cljs$core$__GT_IntegerRangeChunk(start,step,count){\nreturn (new cljs.core.IntegerRangeChunk(start,step,count));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.RangeIterator \x3d (function (i,end,step){\nthis.i \x3d i;\nthis.end \x3d end;\nthis.step \x3d step;\n});\n(cljs.core.RangeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.step \x3e (0))){\nreturn (self__.i \x3c self__.end);\n} else {\nreturn (self__.i \x3e self__.end);\n}\n}));\n\n(cljs.core.RangeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.i;\n(self__.i \x3d (self__.i + self__.step));\n\nreturn ret;\n}));\n\n(cljs.core.RangeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null)], null);\n}));\n\n(cljs.core.RangeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangeIterator\x22);\n\n(cljs.core.RangeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RangeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangeIterator.\n */\ncljs.core.__GT_RangeIterator \x3d (function cljs$core$__GT_RangeIterator(i,end,step){\nreturn (new cljs.core.RangeIterator(i,end,step));\n});\n\n/**\n * Returns exact size of remaining items in an IntegerRange.\n */\ncljs.core.range_count \x3d (function cljs$core$range_count(start,end,step){\nreturn Math.ceil(((end - start) / step));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IntegerRange \x3d (function (meta,start,end,step,cnt,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.cnt \x3d cnt;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375006;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 402944;\n});\n(cljs.core.IntegerRange.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IntegerRange.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IntegerRange.prototype.indexOf \x3d (function() {\nvar G__33118 \x3d null;\nvar G__33118__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__33118__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__33118 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__33118__1.call(this,x);\ncase 2:\nreturn G__33118__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33118.cljs$core$IFn$_invoke$arity$1 \x3d G__33118__1;\nG__33118.cljs$core$IFn$_invoke$arity$2 \x3d G__33118__2;\nreturn G__33118;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.lastIndexOf \x3d (function() {\nvar G__33120 \x3d null;\nvar G__33120__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__33120__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__33120 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__33120__1.call(this,x);\ncase 2:\nreturn G__33120__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33120.cljs$core$IFn$_invoke$arity$1 \x3d G__33120__1;\nG__33120.cljs$core$IFn$_invoke$arity$2 \x3d G__33120__2;\nreturn G__33120;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (rng,n){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (rng,n,not_found){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nreturn not_found;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IntegerRange(self__.meta,self__.start,self__.end,self__.step,self__.cnt,self__.__hash));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,cljs.core.range_count((self__.start + self__.step),self__.end,self__.step),null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,cljs.core.range_count((self__.start + self__.step),self__.end,self__.step),null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(rng__$1,f);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__33132 \x3d (i + self__.step);\nvar G__33133 \x3d ret__$1;\ni \x3d G__33132;\nret \x3d G__33133;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn (new cljs.core.IntegerRangeChunk(self__.start,self__.step,(function (){var x__5113__auto__ \x3d self__.cnt;\nvar y__5114__auto__ \x3d (32);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})()));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.cnt \x3c\x3d (32))){\nreturn cljs.core.List.EMPTY;\n} else {\nvar start__$1 \x3d (self__.start + (self__.step * (32)));\nif((self__.step \x3e (0))){\nif((self__.end \x3c\x3d start__$1)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn (new cljs.core.IntegerRange(null,start__$1,self__.end,self__.step,cljs.core.range_count(start__$1,self__.end,self__.step),null));\n}\n} else {\nif((self__.step \x3c (0))){\nif((self__.end \x3e\x3d start__$1)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn (new cljs.core.IntegerRange(null,start__$1,self__.end,self__.step,cljs.core.range_count(start__$1,self__.end,self__.step),null));\n}\n} else {\nif((self__.end \x3d\x3d\x3d start__$1)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(start__$1);\n}\n\n}\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.IntegerRange(new_meta,self__.start,self__.end,self__.step,self__.cnt,self__.__hash));\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (rng,n){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((n \x3e (0))){\nif((n \x3c self__.cnt)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + (self__.step * n)),self__.end,self__.step,(self__.cnt - n),null));\n} else {\nreturn null;\n}\n} else {\nreturn rng__$1;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.IntegerRange.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IntegerRange.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRange.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRange\x22);\n\n(cljs.core.IntegerRange.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/IntegerRange\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRange.\n */\ncljs.core.__GT_IntegerRange \x3d (function cljs$core$__GT_IntegerRange(meta,start,end,step,cnt,__hash){\nreturn (new cljs.core.IntegerRange(meta,start,end,step,cnt,__hash));\n});\n\n(cljs.core.IntegerRange.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Range \x3d (function (meta,start,end,step,chunk,chunk_next,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.chunk \x3d chunk;\nthis.chunk_next \x3d chunk_next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 140800;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\n});\n(cljs.core.Range.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Range.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Range.prototype.indexOf \x3d (function() {\nvar G__33141 \x3d null;\nvar G__33141__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__33141__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__33141 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__33141__1.call(this,x);\ncase 2:\nreturn G__33141__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33141.cljs$core$IFn$_invoke$arity$1 \x3d G__33141__1;\nG__33141.cljs$core$IFn$_invoke$arity$2 \x3d G__33141__2;\nreturn G__33141;\n})()\n);\n\n(cljs.core.Range.prototype.lastIndexOf \x3d (function() {\nvar G__33142 \x3d null;\nvar G__33142__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__33142__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__33142 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__33142__1.call(this,x);\ncase 2:\nreturn G__33142__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33142.cljs$core$IFn$_invoke$arity$1 \x3d G__33142__1;\nG__33142.cljs$core$IFn$_invoke$arity$2 \x3d G__33142__2;\nreturn G__33142;\n})()\n);\n\n(cljs.core.Range.prototype.forceChunk \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.chunk \x3d\x3d null)){\nvar arr \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\nvar val \x3d (function (){var n \x3d (0);\nvar val \x3d self__.start;\nwhile(true){\nif((n \x3c (32))){\n(arr[n] \x3d val);\n\nvar n__$1 \x3d (n + (1));\nvar val__$1 \x3d (val + self__.step);\nif((((self__.step \x3e (0)))?(val__$1 \x3c self__.end):(val__$1 \x3e self__.end))){\nvar G__33148 \x3d n__$1;\nvar G__33149 \x3d val__$1;\nn \x3d G__33148;\nval \x3d G__33149;\ncontinue;\n} else {\nreturn (self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n__$1));\n}\n} else {\nreturn val;\n}\nbreak;\n}\n})();\nif((self__.chunk \x3d\x3d null)){\n(self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),(32)));\n\nif((((self__.step \x3e (0)))?(val \x3c self__.end):(val \x3e self__.end))){\nreturn (self__.chunk_next \x3d (new cljs.core.Range(null,val,self__.end,self__.step,null,null,null)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Range(self__.meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}));\n\n(cljs.core.Range.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__33157 \x3d (i + self__.step);\nvar G__33158 \x3d ret__$1;\ni \x3d G__33157;\nret \x3d G__33158;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nreturn self__.chunk;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nif((self__.chunk_next \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.chunk_next;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.Range(new_meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.Range.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Range.cljs$lang$type \x3d true);\n\n(cljs.core.Range.cljs$lang$ctorStr \x3d \x22cljs.core/Range\x22);\n\n(cljs.core.Range.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Range\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Range.\n */\ncljs.core.__GT_Range \x3d (function cljs$core$__GT_Range(meta,start,end,step,chunk,chunk_next,__hash){\nreturn (new cljs.core.Range(meta,start,end,step,chunk,chunk_next,__hash));\n});\n\n(cljs.core.Range.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a lazy seq of nums from start (inclusive) to end\n * (exclusive), by step, where start defaults to 0, step to 1,\n * and end to infinity.\n */\ncljs.core.range \x3d (function cljs$core$range(var_args){\nvar G__28118 \x3d arguments.length;\nswitch (G__28118) {\ncase 0:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),Number.MAX_VALUE,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$1 \x3d (function (end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$2 \x3d (function (start,end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3(start,end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$3 \x3d (function (start,end,step){\nif((step \x3e (0))){\nif((end \x3c\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,cljs.core.range_count(start,end,step),null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((step \x3c (0))){\nif((end \x3e\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,cljs.core.range_count(start,end,step),null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((end \x3d\x3d\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(start);\n}\n\n}\n}\n}));\n\n(cljs.core.range.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy seq of every nth item in coll.  Returns a stateful\n *   transducer when no collection is provided.\n */\ncljs.core.take_nth \x3d (function cljs$core$take_nth(var_args){\nvar G__28120 \x3d arguments.length;\nswitch (G__28120) {\ncase 1:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__33225 \x3d null;\nvar G__33225__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__33225__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__33225__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nif((cljs.core.rem(i,n) \x3d\x3d\x3d (0))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__33225 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__33225__0.call(this);\ncase 1:\nreturn G__33225__1.call(this,result);\ncase 2:\nreturn G__33225__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33225.cljs$core$IFn$_invoke$arity$0 \x3d G__33225__0;\nG__33225.cljs$core$IFn$_invoke$arity$1 \x3d G__33225__1;\nG__33225.cljs$core$IFn$_invoke$arity$2 \x3d G__33225__2;\nreturn G__33225;\n})()\n});\n}));\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(n,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_nth.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a vector of [(take-while pred coll) (drop-while pred coll)]\n */\ncljs.core.split_with \x3d (function cljs$core$split_with(pred,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,coll),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(pred,coll)], null);\n});\n/**\n * Applies f to each value in coll, splitting it each time f returns a\n * new value.  Returns a lazy seq of partitions.  Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.partition_by \x3d (function cljs$core$partition_by(var_args){\nvar G__28123 \x3d arguments.length;\nswitch (G__28123) {\ncase 1:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__33237 \x3d null;\nvar G__33237__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__33237__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__33237__2 \x3d (function (result,input){\nvar pval \x3d cljs.core.deref(pa);\nvar val \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\ncljs.core.vreset_BANG_(pa,val);\n\nif(((cljs.core.keyword_identical_QMARK_(pval,new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439))) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(val,pval)))){\na.add(input);\n\nreturn result;\n} else {\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\nif(cljs.core.reduced_QMARK_(ret)){\n} else {\na.add(input);\n}\n\nreturn ret;\n}\n});\nG__33237 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__33237__0.call(this);\ncase 1:\nreturn G__33237__1.call(this,result);\ncase 2:\nreturn G__33237__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33237.cljs$core$IFn$_invoke$arity$0 \x3d G__33237__0;\nG__33237.cljs$core$IFn$_invoke$arity$1 \x3d G__33237__1;\nG__33237.cljs$core$IFn$_invoke$arity$2 \x3d G__33237__2;\nreturn G__33237;\n})()\n});\n}));\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar fst \x3d cljs.core.first(s);\nvar fv \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(fst) : f.call(null,fst));\nvar run \x3d cljs.core.cons(fst,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__28121_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fv,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(p1__28121_SHARP_) : f.call(null,p1__28121_SHARP_)));\n}),cljs.core.next(s)));\nreturn cljs.core.cons(run,cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(f,(new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(run),s);\n}),null,null))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_by.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a map from distinct items in coll to the number of times\n *   they appear.\n */\ncljs.core.frequencies \x3d (function cljs$core$frequencies(coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (counts,x){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(counts,x,(cljs.core.get.cljs$core$IFn$_invoke$arity$3(counts,x,(0)) + (1)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Returns a lazy seq of the intermediate values of the reduction (as\n *   per reduce) of coll by f, starting with init.\n */\ncljs.core.reductions \x3d (function cljs$core$reductions(var_args){\nvar G__28125 \x3d arguments.length;\nswitch (G__28125) {\ncase 2:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar s \x3d temp__5802__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,cljs.core.first(s),cljs.core.rest(s));\n} else {\nreturn (new cljs.core.List(null,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),null,(1),null));\n}\n}),null,null));\n}));\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,init,coll){\nif(cljs.core.reduced_QMARK_(init)){\nreturn (new cljs.core.List(null,cljs.core.deref(init),null,(1),null));\n} else {\nreturn cljs.core.cons(init,(new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,(function (){var G__28126 \x3d init;\nvar G__28127 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__28126,G__28127) : f.call(null,G__28126,G__28127));\n})(),cljs.core.rest(s));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n}));\n\n(cljs.core.reductions.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a set of functions and returns a fn that is the juxtaposition\n *   of those fns.  The returned fn takes a variable number of args, and\n *   returns a vector containing the result of applying each fn to the\n *   args (left-to-right).\n *   ((juxt a b c) x) \x3d\x3e [(a x) (b x) (c x)]\n */\ncljs.core.juxt \x3d (function cljs$core$juxt(var_args){\nvar G__28143 \x3d arguments.length;\nswitch (G__28143) {\ncase 1:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___33341 \x3d arguments.length;\nvar i__5750__auto___33342 \x3d (0);\nwhile(true){\nif((i__5750__auto___33342 \x3c len__5749__auto___33341)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___33342]));\n\nvar G__33344 \x3d (i__5750__auto___33342 + (1));\ni__5750__auto___33342 \x3d G__33344;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function() {\nvar G__33346 \x3d null;\nvar G__33346__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null))],null));\n});\nvar G__33346__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x))],null));\n});\nvar G__33346__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y))],null));\n});\nvar G__33346__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z))],null));\n});\nvar G__33346__4 \x3d (function() { \nvar G__33354__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args)],null));\n};\nvar G__33354 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__33360__i \x3d 0, G__33360__a \x3d new Array(arguments.length -  3);\nwhile (G__33360__i \x3c G__33360__a.length) {G__33360__a[G__33360__i] \x3d arguments[G__33360__i + 3]; ++G__33360__i;}\n  args \x3d new cljs.core.IndexedSeq(G__33360__a,0,null);\n} \nreturn G__33354__delegate.call(this,x,y,z,args);};\nG__33354.cljs$lang$maxFixedArity \x3d 3;\nG__33354.cljs$lang$applyTo \x3d (function (arglist__33361){\nvar x \x3d cljs.core.first(arglist__33361);\narglist__33361 \x3d cljs.core.next(arglist__33361);\nvar y \x3d cljs.core.first(arglist__33361);\narglist__33361 \x3d cljs.core.next(arglist__33361);\nvar z \x3d cljs.core.first(arglist__33361);\nvar args \x3d cljs.core.rest(arglist__33361);\nreturn G__33354__delegate(x,y,z,args);\n});\nG__33354.cljs$core$IFn$_invoke$arity$variadic \x3d G__33354__delegate;\nreturn G__33354;\n})()\n;\nG__33346 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__33346__0.call(this);\ncase 1:\nreturn G__33346__1.call(this,x);\ncase 2:\nreturn G__33346__2.call(this,x,y);\ncase 3:\nreturn G__33346__3.call(this,x,y,z);\ndefault:\nvar G__33367 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__33368__i \x3d 0, G__33368__a \x3d new Array(arguments.length -  3);\nwhile (G__33368__i \x3c G__33368__a.length) {G__33368__a[G__33368__i] \x3d arguments[G__33368__i + 3]; ++G__33368__i;}\nG__33367 \x3d new cljs.core.IndexedSeq(G__33368__a,0,null);\n}\nreturn G__33346__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__33367);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33346.cljs$lang$maxFixedArity \x3d 3;\nG__33346.cljs$lang$applyTo \x3d G__33346__4.cljs$lang$applyTo;\nG__33346.cljs$core$IFn$_invoke$arity$0 \x3d G__33346__0;\nG__33346.cljs$core$IFn$_invoke$arity$1 \x3d G__33346__1;\nG__33346.cljs$core$IFn$_invoke$arity$2 \x3d G__33346__2;\nG__33346.cljs$core$IFn$_invoke$arity$3 \x3d G__33346__3;\nG__33346.cljs$core$IFn$_invoke$arity$variadic \x3d G__33346__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__33346;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__33370 \x3d null;\nvar G__33370__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null))],null));\n});\nvar G__33370__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x))],null));\n});\nvar G__33370__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y))],null));\n});\nvar G__33370__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z))],null));\n});\nvar G__33370__4 \x3d (function() { \nvar G__33376__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args)],null));\n};\nvar G__33376 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__33380__i \x3d 0, G__33380__a \x3d new Array(arguments.length -  3);\nwhile (G__33380__i \x3c G__33380__a.length) {G__33380__a[G__33380__i] \x3d arguments[G__33380__i + 3]; ++G__33380__i;}\n  args \x3d new cljs.core.IndexedSeq(G__33380__a,0,null);\n} \nreturn G__33376__delegate.call(this,x,y,z,args);};\nG__33376.cljs$lang$maxFixedArity \x3d 3;\nG__33376.cljs$lang$applyTo \x3d (function (arglist__33381){\nvar x \x3d cljs.core.first(arglist__33381);\narglist__33381 \x3d cljs.core.next(arglist__33381);\nvar y \x3d cljs.core.first(arglist__33381);\narglist__33381 \x3d cljs.core.next(arglist__33381);\nvar z \x3d cljs.core.first(arglist__33381);\nvar args \x3d cljs.core.rest(arglist__33381);\nreturn G__33376__delegate(x,y,z,args);\n});\nG__33376.cljs$core$IFn$_invoke$arity$variadic \x3d G__33376__delegate;\nreturn G__33376;\n})()\n;\nG__33370 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__33370__0.call(this);\ncase 1:\nreturn G__33370__1.call(this,x);\ncase 2:\nreturn G__33370__2.call(this,x,y);\ncase 3:\nreturn G__33370__3.call(this,x,y,z);\ndefault:\nvar G__33382 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__33383__i \x3d 0, G__33383__a \x3d new Array(arguments.length -  3);\nwhile (G__33383__i \x3c G__33383__a.length) {G__33383__a[G__33383__i] \x3d arguments[G__33383__i + 3]; ++G__33383__i;}\nG__33382 \x3d new cljs.core.IndexedSeq(G__33383__a,0,null);\n}\nreturn G__33370__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__33382);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33370.cljs$lang$maxFixedArity \x3d 3;\nG__33370.cljs$lang$applyTo \x3d G__33370__4.cljs$lang$applyTo;\nG__33370.cljs$core$IFn$_invoke$arity$0 \x3d G__33370__0;\nG__33370.cljs$core$IFn$_invoke$arity$1 \x3d G__33370__1;\nG__33370.cljs$core$IFn$_invoke$arity$2 \x3d G__33370__2;\nG__33370.cljs$core$IFn$_invoke$arity$3 \x3d G__33370__3;\nG__33370.cljs$core$IFn$_invoke$arity$variadic \x3d G__33370__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__33370;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__33384 \x3d null;\nvar G__33384__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null)),(h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null))],null));\n});\nvar G__33384__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x)),(h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x))],null));\n});\nvar G__33384__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y)),(h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y))],null));\n});\nvar G__33384__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z)),(h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z))],null));\n});\nvar G__33384__4 \x3d (function() { \nvar G__33406__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args)],null));\n};\nvar G__33406 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__33420__i \x3d 0, G__33420__a \x3d new Array(arguments.length -  3);\nwhile (G__33420__i \x3c G__33420__a.length) {G__33420__a[G__33420__i] \x3d arguments[G__33420__i + 3]; ++G__33420__i;}\n  args \x3d new cljs.core.IndexedSeq(G__33420__a,0,null);\n} \nreturn G__33406__delegate.call(this,x,y,z,args);};\nG__33406.cljs$lang$maxFixedArity \x3d 3;\nG__33406.cljs$lang$applyTo \x3d (function (arglist__33421){\nvar x \x3d cljs.core.first(arglist__33421);\narglist__33421 \x3d cljs.core.next(arglist__33421);\nvar y \x3d cljs.core.first(arglist__33421);\narglist__33421 \x3d cljs.core.next(arglist__33421);\nvar z \x3d cljs.core.first(arglist__33421);\nvar args \x3d cljs.core.rest(arglist__33421);\nreturn G__33406__delegate(x,y,z,args);\n});\nG__33406.cljs$core$IFn$_invoke$arity$variadic \x3d G__33406__delegate;\nreturn G__33406;\n})()\n;\nG__33384 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__33384__0.call(this);\ncase 1:\nreturn G__33384__1.call(this,x);\ncase 2:\nreturn G__33384__2.call(this,x,y);\ncase 3:\nreturn G__33384__3.call(this,x,y,z);\ndefault:\nvar G__33424 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__33427__i \x3d 0, G__33427__a \x3d new Array(arguments.length -  3);\nwhile (G__33427__i \x3c G__33427__a.length) {G__33427__a[G__33427__i] \x3d arguments[G__33427__i + 3]; ++G__33427__i;}\nG__33424 \x3d new cljs.core.IndexedSeq(G__33427__a,0,null);\n}\nreturn G__33384__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__33424);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33384.cljs$lang$maxFixedArity \x3d 3;\nG__33384.cljs$lang$applyTo \x3d G__33384__4.cljs$lang$applyTo;\nG__33384.cljs$core$IFn$_invoke$arity$0 \x3d G__33384__0;\nG__33384.cljs$core$IFn$_invoke$arity$1 \x3d G__33384__1;\nG__33384.cljs$core$IFn$_invoke$arity$2 \x3d G__33384__2;\nG__33384.cljs$core$IFn$_invoke$arity$3 \x3d G__33384__3;\nG__33384.cljs$core$IFn$_invoke$arity$variadic \x3d G__33384__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__33384;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,g,h,fs){\nvar fs__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f,g,h,fs);\nreturn (function() {\nvar G__33434 \x3d null;\nvar G__33434__0 \x3d (function (){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28128_SHARP_,p2__28129_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28128_SHARP_,(p2__28129_SHARP_.cljs$core$IFn$_invoke$arity$0 ? p2__28129_SHARP_.cljs$core$IFn$_invoke$arity$0() : p2__28129_SHARP_.call(null)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__33434__1 \x3d (function (x){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28130_SHARP_,p2__28131_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28130_SHARP_,(p2__28131_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p2__28131_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p2__28131_SHARP_.call(null,x)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__33434__2 \x3d (function (x,y){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28132_SHARP_,p2__28133_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28132_SHARP_,(p2__28133_SHARP_.cljs$core$IFn$_invoke$arity$2 ? p2__28133_SHARP_.cljs$core$IFn$_invoke$arity$2(x,y) : p2__28133_SHARP_.call(null,x,y)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__33434__3 \x3d (function (x,y,z){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28134_SHARP_,p2__28135_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28134_SHARP_,(p2__28135_SHARP_.cljs$core$IFn$_invoke$arity$3 ? p2__28135_SHARP_.cljs$core$IFn$_invoke$arity$3(x,y,z) : p2__28135_SHARP_.call(null,x,y,z)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__33434__4 \x3d (function() { \nvar G__33455__delegate \x3d function (x,y,z,args){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28136_SHARP_,p2__28137_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28136_SHARP_,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(p2__28137_SHARP_,x,y,z,args));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n};\nvar G__33455 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__33456__i \x3d 0, G__33456__a \x3d new Array(arguments.length -  3);\nwhile (G__33456__i \x3c G__33456__a.length) {G__33456__a[G__33456__i] \x3d arguments[G__33456__i + 3]; ++G__33456__i;}\n  args \x3d new cljs.core.IndexedSeq(G__33456__a,0,null);\n} \nreturn G__33455__delegate.call(this,x,y,z,args);};\nG__33455.cljs$lang$maxFixedArity \x3d 3;\nG__33455.cljs$lang$applyTo \x3d (function (arglist__33457){\nvar x \x3d cljs.core.first(arglist__33457);\narglist__33457 \x3d cljs.core.next(arglist__33457);\nvar y \x3d cljs.core.first(arglist__33457);\narglist__33457 \x3d cljs.core.next(arglist__33457);\nvar z \x3d cljs.core.first(arglist__33457);\nvar args \x3d cljs.core.rest(arglist__33457);\nreturn G__33455__delegate(x,y,z,args);\n});\nG__33455.cljs$core$IFn$_invoke$arity$variadic \x3d G__33455__delegate;\nreturn G__33455;\n})()\n;\nG__33434 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__33434__0.call(this);\ncase 1:\nreturn G__33434__1.call(this,x);\ncase 2:\nreturn G__33434__2.call(this,x,y);\ncase 3:\nreturn G__33434__3.call(this,x,y,z);\ndefault:\nvar G__33461 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__33462__i \x3d 0, G__33462__a \x3d new Array(arguments.length -  3);\nwhile (G__33462__i \x3c G__33462__a.length) {G__33462__a[G__33462__i] \x3d arguments[G__33462__i + 3]; ++G__33462__i;}\nG__33461 \x3d new cljs.core.IndexedSeq(G__33462__a,0,null);\n}\nreturn G__33434__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__33461);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33434.cljs$lang$maxFixedArity \x3d 3;\nG__33434.cljs$lang$applyTo \x3d G__33434__4.cljs$lang$applyTo;\nG__33434.cljs$core$IFn$_invoke$arity$0 \x3d G__33434__0;\nG__33434.cljs$core$IFn$_invoke$arity$1 \x3d G__33434__1;\nG__33434.cljs$core$IFn$_invoke$arity$2 \x3d G__33434__2;\nG__33434.cljs$core$IFn$_invoke$arity$3 \x3d G__33434__3;\nG__33434.cljs$core$IFn$_invoke$arity$variadic \x3d G__33434__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__33434;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.juxt.cljs$lang$applyTo \x3d (function (seq28139){\nvar G__28140 \x3d cljs.core.first(seq28139);\nvar seq28139__$1 \x3d cljs.core.next(seq28139);\nvar G__28141 \x3d cljs.core.first(seq28139__$1);\nvar seq28139__$2 \x3d cljs.core.next(seq28139__$1);\nvar G__28142 \x3d cljs.core.first(seq28139__$2);\nvar seq28139__$3 \x3d cljs.core.next(seq28139__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28140,G__28141,G__28142,seq28139__$3);\n}));\n\n(cljs.core.juxt.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * When lazy sequences are produced via functions that have side\n *   effects, any effects other than those needed to produce the first\n *   element in the seq do not occur until the seq is consumed. dorun can\n *   be used to force any effects. Walks through the successive nexts of\n *   the seq, does not retain the head and returns nil.\n */\ncljs.core.dorun \x3d (function cljs$core$dorun(var_args){\nvar G__28145 \x3d arguments.length;\nswitch (G__28145) {\ncase 1:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar G__33465 \x3d cljs.core.next(s);\ncoll \x3d G__33465;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nwhile(true){\nif(((cljs.core.seq(coll)) \x26\x26 ((n \x3e (0))))){\nvar G__33472 \x3d (n - (1));\nvar G__33473 \x3d cljs.core.next(coll);\nn \x3d G__33472;\ncoll \x3d G__33473;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * When lazy sequences are produced via functions that have side\n *   effects, any effects other than those needed to produce the first\n *   element in the seq do not occur until the seq is consumed. doall can\n *   be used to force any effects. Walks through the successive nexts of\n *   the seq, retains the head and returns it, thus causing the entire\n *   seq to reside in memory at one time.\n */\ncljs.core.doall \x3d (function cljs$core$doall(var_args){\nvar G__28147 \x3d arguments.length;\nswitch (G__28147) {\ncase 1:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$1(coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$2(n,coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns true if x is a JavaScript RegExp instance.\n */\ncljs.core.regexp_QMARK_ \x3d (function cljs$core$regexp_QMARK_(x){\nreturn (x instanceof RegExp);\n});\n/**\n * Returns the result of (re-find re s) if re fully matches s.\n */\ncljs.core.re_matches \x3d (function cljs$core$re_matches(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((((!((matches \x3d\x3d null)))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((matches[(0)]),s)))){\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n} else {\nreturn null;\n}\n} else {\nthrow (new TypeError(\x22re-matches must match against a string.\x22));\n}\n});\n/**\n * Returns the first regex match, if any, of s to re, using\n *   re.exec(s). Returns a vector, containing first the matching\n *   substring, then any capturing groups if the regular expression contains\n *   capturing groups.\n */\ncljs.core.re_find \x3d (function cljs$core$re_find(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((matches \x3d\x3d null)){\nreturn null;\n} else {\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n}\n} else {\nthrow (new TypeError(\x22re-find must match against a string.\x22));\n}\n});\ncljs.core.re_seq_STAR_ \x3d (function cljs$core$re_seq_STAR_(re,s){\nvar temp__5808__auto__ \x3d re.exec(s);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar matches \x3d temp__5808__auto__;\nvar match_str \x3d (matches[(0)]);\nvar match_vals \x3d (((matches.length \x3d\x3d\x3d (1)))?match_str:cljs.core.vec(matches));\nreturn cljs.core.cons(match_vals,(new cljs.core.LazySeq(null,(function (){\nvar post_idx \x3d (matches.index + (function (){var x__5110__auto__ \x3d (1);\nvar y__5111__auto__ \x3d match_str.length;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})());\nif((post_idx \x3c\x3d s.length)){\nvar G__28148 \x3d re;\nvar G__28149 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,post_idx);\nreturn (cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2 ? cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2(G__28148,G__28149) : cljs.core.re_seq_STAR_.call(null,G__28148,G__28149));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n});\n/**\n * Returns a lazy sequence of successive matches of re in s.\n */\ncljs.core.re_seq \x3d (function cljs$core$re_seq(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.re_seq_STAR_(re,s);\n} else {\nthrow (new TypeError(\x22re-seq must match against a string.\x22));\n}\n});\n/**\n * Returns an instance of RegExp which has compiled the provided string.\n */\ncljs.core.re_pattern \x3d (function cljs$core$re_pattern(s){\nif((s instanceof RegExp)){\nreturn s;\n} else {\nvar vec__28150 \x3d cljs.core.re_find(/^\\(\\?([idmsux]*)\\)/,s);\nvar prefix \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28150,(0),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28150,(1),null);\nvar pattern \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(((prefix \x3d\x3d null))?(0):((prefix).length)));\nreturn (new RegExp(pattern,(function (){var or__5025__auto__ \x3d flags;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22\x22;\n}\n})()));\n}\n});\ncljs.core.pr_sequential_writer \x3d (function cljs$core$pr_sequential_writer(writer,print_one,begin,sep,end,opts,coll){\nvar _STAR_print_level_STAR__orig_val__28153 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__28154 \x3d (((cljs.core._STAR_print_level_STAR_ \x3d\x3d null))?null:(cljs.core._STAR_print_level_STAR_ - (1)));\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__28154);\n\ntry{if((((!((cljs.core._STAR_print_level_STAR_ \x3d\x3d null)))) \x26\x26 ((cljs.core._STAR_print_level_STAR_ \x3c (0))))){\nreturn cljs.core._write(writer,\x22#\x22);\n} else {\ncljs.core._write(writer,begin);\n\nif((new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\ncljs.core._write(writer,(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n} else {\nif(cljs.core.seq(coll)){\nvar G__28155_33510 \x3d cljs.core.first(coll);\nvar G__28156_33511 \x3d writer;\nvar G__28157_33512 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__28155_33510,G__28156_33511,G__28157_33512) : print_one.call(null,G__28155_33510,G__28156_33511,G__28157_33512));\n} else {\n}\n\nvar coll_33513__$1 \x3d cljs.core.next(coll);\nvar n_33514 \x3d (new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) - (1));\nwhile(true){\nif(((coll_33513__$1) \x26\x26 ((((n_33514 \x3d\x3d null)) || ((!((n_33514 \x3d\x3d\x3d (0))))))))){\ncljs.core._write(writer,sep);\n\nvar G__28158_33515 \x3d cljs.core.first(coll_33513__$1);\nvar G__28159_33516 \x3d writer;\nvar G__28160_33517 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__28158_33515,G__28159_33516,G__28160_33517) : print_one.call(null,G__28158_33515,G__28159_33516,G__28160_33517));\n\nvar G__33519 \x3d cljs.core.next(coll_33513__$1);\nvar G__33520 \x3d (n_33514 - (1));\ncoll_33513__$1 \x3d G__33519;\nn_33514 \x3d G__33520;\ncontinue;\n} else {\nif(((cljs.core.seq(coll_33513__$1)) \x26\x26 ((n_33514 \x3d\x3d\x3d (0))))){\ncljs.core._write(writer,sep);\n\ncljs.core._write(writer,(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n}\nbreak;\n}\n}\n\nreturn cljs.core._write(writer,end);\n}\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__28153);\n}});\ncljs.core.write_all \x3d (function cljs$core$write_all(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33522 \x3d arguments.length;\nvar i__5750__auto___33523 \x3d (0);\nwhile(true){\nif((i__5750__auto___33523 \x3c len__5749__auto___33522)){\nargs__5755__auto__.push((arguments[i__5750__auto___33523]));\n\nvar G__33524 \x3d (i__5750__auto___33523 + (1));\ni__5750__auto___33523 \x3d G__33524;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,ss){\nvar seq__28163 \x3d cljs.core.seq(ss);\nvar chunk__28164 \x3d null;\nvar count__28165 \x3d (0);\nvar i__28166 \x3d (0);\nwhile(true){\nif((i__28166 \x3c count__28165)){\nvar s \x3d chunk__28164.cljs$core$IIndexed$_nth$arity$2(null,i__28166);\ncljs.core._write(writer,s);\n\n\nvar G__33527 \x3d seq__28163;\nvar G__33528 \x3d chunk__28164;\nvar G__33529 \x3d count__28165;\nvar G__33530 \x3d (i__28166 + (1));\nseq__28163 \x3d G__33527;\nchunk__28164 \x3d G__33528;\ncount__28165 \x3d G__33529;\ni__28166 \x3d G__33530;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28163);\nif(temp__5804__auto__){\nvar seq__28163__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28163__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__28163__$1);\nvar G__33531 \x3d cljs.core.chunk_rest(seq__28163__$1);\nvar G__33532 \x3d c__5548__auto__;\nvar G__33533 \x3d cljs.core.count(c__5548__auto__);\nvar G__33534 \x3d (0);\nseq__28163 \x3d G__33531;\nchunk__28164 \x3d G__33532;\ncount__28165 \x3d G__33533;\ni__28166 \x3d G__33534;\ncontinue;\n} else {\nvar s \x3d cljs.core.first(seq__28163__$1);\ncljs.core._write(writer,s);\n\n\nvar G__33535 \x3d cljs.core.next(seq__28163__$1);\nvar G__33536 \x3d null;\nvar G__33537 \x3d (0);\nvar G__33538 \x3d (0);\nseq__28163 \x3d G__33535;\nchunk__28164 \x3d G__33536;\ncount__28165 \x3d G__33537;\ni__28166 \x3d G__33538;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.write_all.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.write_all.cljs$lang$applyTo \x3d (function (seq28161){\nvar G__28162 \x3d cljs.core.first(seq28161);\nvar seq28161__$1 \x3d cljs.core.next(seq28161);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28162,seq28161__$1);\n}));\n\ncljs.core.string_print \x3d (function cljs$core$string_print(x){\nif((cljs.core._STAR_print_fn_STAR_ \x3d\x3d null)){\nthrow (new Error(\x22No *print-fn* fn set for evaluation environment\x22));\n} else {\n}\n\ncljs.core._STAR_print_fn_STAR_.call(null,x);\n\nreturn null;\n});\ncljs.core.flush \x3d (function cljs$core$flush(){\nreturn null;\n});\ncljs.core.char_escapes \x3d (function (){var obj28168 \x3d ({\x22\\\x22\x22:\x22\\\\\\\x22\x22,\x22\\\\\x22:\x22\\\\\\\\\x22,\x22\\b\x22:\x22\\\\b\x22,\x22\\f\x22:\x22\\\\f\x22,\x22\\n\x22:\x22\\\\n\x22,\x22\\r\x22:\x22\\\\r\x22,\x22\\t\x22:\x22\\\\t\x22});\nreturn obj28168;\n})();\ncljs.core.quote_string \x3d (function cljs$core$quote_string(s){\nreturn [\x22\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(s.replace(RegExp(\x22[\\\\\\\\\\\x22\\b\\f\\n\\r\\t]\x22,\x22g\x22),(function (match){\nreturn (cljs.core.char_escapes[match]);\n}))),\x22\\\x22\x22].join(\x27\x27);\n});\ncljs.core.print_meta_QMARK_ \x3d (function cljs$core$print_meta_QMARK_(opts,obj){\nvar and__5023__auto__ \x3d cljs.core.boolean$(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964)));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IMeta$))))?true:false):false);\nif(and__5023__auto____$1){\nreturn (!((cljs.core.meta(obj) \x3d\x3d null)));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ncljs.core.pr_writer_impl \x3d (function cljs$core$pr_writer_impl(obj,writer,opts){\nif((obj \x3d\x3d null)){\nreturn cljs.core._write(writer,\x22nil\x22);\n} else {\nif(cljs.core.print_meta_QMARK_(opts,obj)){\ncljs.core._write(writer,\x22^\x22);\n\nvar G__28170_33549 \x3d cljs.core.meta(obj);\nvar G__28171_33550 \x3d writer;\nvar G__28172_33551 \x3d opts;\n(cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3(G__28170_33549,G__28171_33550,G__28172_33551) : cljs.core.pr_writer.call(null,G__28170_33549,G__28171_33550,G__28172_33551));\n\ncljs.core._write(writer,\x22 \x22);\n} else {\n}\n\nif(obj.cljs$lang$type){\nreturn obj.cljs$lang$ctorPrWriter(obj,writer,opts);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IPrintWithWriter$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj))){\nreturn cljs.core._pr_writer(obj,writer,opts);\n} else {\nif(((obj \x3d\x3d\x3d true) || (obj \x3d\x3d\x3d false))){\nreturn cljs.core._write(writer,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj));\n} else {\nif(typeof obj \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core._write(writer,((isNaN(obj))?\x22##NaN\x22:(((obj \x3d\x3d\x3d Number.POSITIVE_INFINITY))?\x22##Inf\x22:(((obj \x3d\x3d\x3d Number.NEGATIVE_INFINITY))?\x22##-Inf\x22:cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj)\n))));\n} else {\nif(cljs.core.object_QMARK_(obj)){\ncljs.core._write(writer,\x22#js \x22);\n\nvar G__28174 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn (new cljs.core.MapEntry((function (){var G__28178 \x3d k;\nif((!((cljs.core.re_matches(/[A-Za-z_\\*\\+\\?!\\-\x27][\\w\\*\\+\\?!\\-\x27]*/,k) \x3d\x3d null)))){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__28178);\n} else {\nreturn G__28178;\n}\n})(),(obj[k]),null));\n}),cljs.core.js_keys(obj));\nvar G__28175 \x3d cljs.core.pr_writer;\nvar G__28176 \x3d writer;\nvar G__28177 \x3d opts;\nreturn (cljs.core.print_map.cljs$core$IFn$_invoke$arity$4 ? cljs.core.print_map.cljs$core$IFn$_invoke$arity$4(G__28174,G__28175,G__28176,G__28177) : cljs.core.print_map.call(null,G__28174,G__28175,G__28176,G__28177));\n} else {\nif(cljs.core.array_QMARK_(obj)){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#js [\x22,\x22 \x22,\x22]\x22,opts,obj);\n} else {\nif(typeof obj \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$1(opts))){\nreturn cljs.core._write(writer,cljs.core.quote_string(obj));\n} else {\nreturn cljs.core._write(writer,obj);\n}\n} else {\nif(typeof obj \x3d\x3d\x3d \x27function\x27){\nvar name \x3d obj.name;\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d (name \x3d\x3d null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Function\x22:name);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,(cljs.core.truth_(cljs.core._STAR_print_fn_bodies_STAR_)?[\x22 \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22\\\x22\x22].join(\x27\x27):\x22\x22),\x22]\x22], 0));\n} else {\nif((obj instanceof Date)){\nvar normalize \x3d (function (n,len){\nvar ns \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(n);\nwhile(true){\nif((((ns).length) \x3c len)){\nvar G__33567 \x3d [\x220\x22,ns].join(\x27\x27);\nns \x3d G__33567;\ncontinue;\n} else {\nreturn ns;\n}\nbreak;\n}\n});\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#inst \\\x22\x22,normalize(obj.getUTCFullYear(),(4)),\x22-\x22,normalize((obj.getUTCMonth() + (1)),(2)),\x22-\x22,normalize(obj.getUTCDate(),(2)),\x22T\x22,normalize(obj.getUTCHours(),(2)),\x22:\x22,normalize(obj.getUTCMinutes(),(2)),\x22:\x22,normalize(obj.getUTCSeconds(),(2)),\x22.\x22,normalize(obj.getUTCMilliseconds(),(3)),\x22-\x22,\x2200:00\\\x22\x22], 0));\n} else {\nif(cljs.core.regexp_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#\\\x22\x22,obj.source,\x22\\\x22\x22], 0));\n} else {\nif(cljs.core.js_symbol_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.toString(),\x22]\x22], 0));\n} else {\nif(cljs.core.truth_((function (){var G__28179 \x3d obj;\nvar G__28179__$1 \x3d (((G__28179 \x3d\x3d null))?null:G__28179.constructor);\nif((G__28179__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__28179__$1.cljs$lang$ctorStr;\n}\n})())){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.constructor.cljs$lang$ctorStr.replace((new RegExp(\x22/\x22,\x22g\x22)),\x22.\x22),\x22]\x22], 0));\n} else {\nvar name \x3d (function (){var G__28180 \x3d obj;\nvar G__28180__$1 \x3d (((G__28180 \x3d\x3d null))?null:G__28180.constructor);\nif((G__28180__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__28180__$1.name;\n}\n})();\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d (name \x3d\x3d null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Object\x22:name);\nif((obj.constructor \x3d\x3d null)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22]\x22], 0));\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22]\x22], 0));\n}\n}\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n\n}\n});\n/**\n * Prefer this to pr-seq, because it makes the printing function\n * configurable, allowing efficient implementations such as appending\n * to a StringBuffer.\n */\ncljs.core.pr_writer \x3d (function cljs$core$pr_writer(obj,writer,opts){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22alt-impl\x22,\x22alt-impl\x22,670969595).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar alt_impl \x3d temp__5802__auto__;\nvar G__28181 \x3d obj;\nvar G__28182 \x3d writer;\nvar G__28183 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22fallback-impl\x22,\x22fallback-impl\x22,-1501286995),cljs.core.pr_writer_impl);\nreturn (alt_impl.cljs$core$IFn$_invoke$arity$3 ? alt_impl.cljs$core$IFn$_invoke$arity$3(G__28181,G__28182,G__28183) : alt_impl.call(null,G__28181,G__28182,G__28183));\n} else {\nreturn cljs.core.pr_writer_impl(obj,writer,opts);\n}\n});\ncljs.core.pr_seq_writer \x3d (function cljs$core$pr_seq_writer(objs,writer,opts){\ncljs.core.pr_writer(cljs.core.first(objs),writer,opts);\n\nvar seq__28184 \x3d cljs.core.seq(cljs.core.next(objs));\nvar chunk__28185 \x3d null;\nvar count__28186 \x3d (0);\nvar i__28187 \x3d (0);\nwhile(true){\nif((i__28187 \x3c count__28186)){\nvar obj \x3d chunk__28185.cljs$core$IIndexed$_nth$arity$2(null,i__28187);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__33576 \x3d seq__28184;\nvar G__33577 \x3d chunk__28185;\nvar G__33578 \x3d count__28186;\nvar G__33579 \x3d (i__28187 + (1));\nseq__28184 \x3d G__33576;\nchunk__28185 \x3d G__33577;\ncount__28186 \x3d G__33578;\ni__28187 \x3d G__33579;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28184);\nif(temp__5804__auto__){\nvar seq__28184__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28184__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__28184__$1);\nvar G__33583 \x3d cljs.core.chunk_rest(seq__28184__$1);\nvar G__33584 \x3d c__5548__auto__;\nvar G__33585 \x3d cljs.core.count(c__5548__auto__);\nvar G__33586 \x3d (0);\nseq__28184 \x3d G__33583;\nchunk__28185 \x3d G__33584;\ncount__28186 \x3d G__33585;\ni__28187 \x3d G__33586;\ncontinue;\n} else {\nvar obj \x3d cljs.core.first(seq__28184__$1);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__33589 \x3d cljs.core.next(seq__28184__$1);\nvar G__33590 \x3d null;\nvar G__33591 \x3d (0);\nvar G__33592 \x3d (0);\nseq__28184 \x3d G__33589;\nchunk__28185 \x3d G__33590;\ncount__28186 \x3d G__33591;\ni__28187 \x3d G__33592;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.core.pr_sb_with_opts \x3d (function cljs$core$pr_sb_with_opts(objs,opts){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\ncljs.core.pr_seq_writer(objs,writer,opts);\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn sb;\n});\n/**\n * Prints a sequence of objects to a string, observing all the\n *   options given in opts\n */\ncljs.core.pr_str_with_opts \x3d (function cljs$core$pr_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\x22;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_sb_with_opts(objs,opts));\n}\n});\n/**\n * Same as pr-str-with-opts followed by (newline)\n */\ncljs.core.prn_str_with_opts \x3d (function cljs$core$prn_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\\n\x22;\n} else {\nvar sb \x3d cljs.core.pr_sb_with_opts(objs,opts);\nsb.append(\x22\\n\x22);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n}\n});\n/**\n * Prints a sequence of objects using string-print, observing all\n *   the options given in opts\n */\ncljs.core.pr_with_opts \x3d (function cljs$core$pr_with_opts(objs,opts){\nreturn cljs.core.string_print(cljs.core.pr_str_with_opts(objs,opts));\n});\n/**\n * Prints a newline using *print-fn*\n */\ncljs.core.newline \x3d (function cljs$core$newline(var_args){\nvar G__28189 \x3d arguments.length;\nswitch (G__28189) {\ncase 0:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$1 \x3d (function (opts){\ncljs.core.string_print(\x22\\n\x22);\n\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939)))){\nreturn cljs.core.flush();\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.newline.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * pr to a string, returning it. Fundamental entrypoint to IPrintWithWriter.\n */\ncljs.core.pr_str \x3d (function cljs$core$pr_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33608 \x3d arguments.length;\nvar i__5750__auto___33609 \x3d (0);\nwhile(true){\nif((i__5750__auto___33609 \x3c len__5749__auto___33608)){\nargs__5755__auto__.push((arguments[i__5750__auto___33609]));\n\nvar G__33610 \x3d (i__5750__auto___33609 + (1));\ni__5750__auto___33609 \x3d G__33610;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr_str.cljs$lang$applyTo \x3d (function (seq28190){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28190));\n}));\n\n/**\n * Same as pr-str followed by (newline)\n */\ncljs.core.prn_str \x3d (function cljs$core$prn_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33612 \x3d arguments.length;\nvar i__5750__auto___33613 \x3d (0);\nwhile(true){\nif((i__5750__auto___33613 \x3c len__5749__auto___33612)){\nargs__5755__auto__.push((arguments[i__5750__auto___33613]));\n\nvar G__33619 \x3d (i__5750__auto___33613 + (1));\ni__5750__auto___33613 \x3d G__33619;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.prn_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn_str.cljs$lang$applyTo \x3d (function (seq28191){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28191));\n}));\n\n/**\n * Prints the object(s) using string-print.  Prints the\n *   object(s), separated by spaces if there is more than one.\n *   By default, pr and prn print in a way that objects can be\n *   read by the reader\n */\ncljs.core.pr \x3d (function cljs$core$pr(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33633 \x3d arguments.length;\nvar i__5750__auto___33637 \x3d (0);\nwhile(true){\nif((i__5750__auto___33637 \x3c len__5749__auto___33633)){\nargs__5755__auto__.push((arguments[i__5750__auto___33637]));\n\nvar G__33642 \x3d (i__5750__auto___33637 + (1));\ni__5750__auto___33637 \x3d G__33642;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr.cljs$lang$applyTo \x3d (function (seq28192){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28192));\n}));\n\n/**\n * Prints the object(s) using string-print.\n *   print and println produce output for human consumption.\n * @param {...*} var_args\n */\ncljs.core.print \x3d (function() { \nvar cljs$core$cljs_core_print__delegate \x3d function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n};\nvar cljs$core$cljs_core_print \x3d function (var_args){\nvar objs \x3d null;\nif (arguments.length \x3e 0) {\nvar G__33649__i \x3d 0, G__33649__a \x3d new Array(arguments.length -  0);\nwhile (G__33649__i \x3c G__33649__a.length) {G__33649__a[G__33649__i] \x3d arguments[G__33649__i + 0]; ++G__33649__i;}\n  objs \x3d new cljs.core.IndexedSeq(G__33649__a,0,null);\n} \nreturn cljs$core$cljs_core_print__delegate.call(this,objs);};\ncljs$core$cljs_core_print.cljs$lang$maxFixedArity \x3d 0;\ncljs$core$cljs_core_print.cljs$lang$applyTo \x3d (function (arglist__33650){\nvar objs \x3d cljs.core.seq(arglist__33650);\nreturn cljs$core$cljs_core_print__delegate(objs);\n});\ncljs$core$cljs_core_print.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$cljs_core_print__delegate;\nreturn cljs$core$cljs_core_print;\n})()\n;\n/**\n * print to a string, returning it\n */\ncljs.core.print_str \x3d (function cljs$core$print_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33655 \x3d arguments.length;\nvar i__5750__auto___33656 \x3d (0);\nwhile(true){\nif((i__5750__auto___33656 \x3c len__5749__auto___33655)){\nargs__5755__auto__.push((arguments[i__5750__auto___33656]));\n\nvar G__33658 \x3d (i__5750__auto___33656 + (1));\ni__5750__auto___33656 \x3d G__33658;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.print_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.print_str.cljs$lang$applyTo \x3d (function (seq28193){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28193));\n}));\n\n/**\n * Same as print followed by (newline)\n */\ncljs.core.println \x3d (function cljs$core$println(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33678 \x3d arguments.length;\nvar i__5750__auto___33680 \x3d (0);\nwhile(true){\nif((i__5750__auto___33680 \x3c len__5749__auto___33678)){\nargs__5755__auto__.push((arguments[i__5750__auto___33680]));\n\nvar G__33686 \x3d (i__5750__auto___33680 + (1));\ni__5750__auto___33680 \x3d G__33686;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println.cljs$lang$applyTo \x3d (function (seq28194){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28194));\n}));\n\n/**\n * println to a string, returning it\n */\ncljs.core.println_str \x3d (function cljs$core$println_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33718 \x3d arguments.length;\nvar i__5750__auto___33719 \x3d (0);\nwhile(true){\nif((i__5750__auto___33719 \x3c len__5749__auto___33718)){\nargs__5755__auto__.push((arguments[i__5750__auto___33719]));\n\nvar G__33725 \x3d (i__5750__auto___33719 + (1));\ni__5750__auto___33719 \x3d G__33725;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.println_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println_str.cljs$lang$applyTo \x3d (function (seq28195){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28195));\n}));\n\n/**\n * Same as pr followed by (newline).\n */\ncljs.core.prn \x3d (function cljs$core$prn(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33755 \x3d arguments.length;\nvar i__5750__auto___33756 \x3d (0);\nwhile(true){\nif((i__5750__auto___33756 \x3c len__5749__auto___33755)){\nargs__5755__auto__.push((arguments[i__5750__auto___33756]));\n\nvar G__33766 \x3d (i__5750__auto___33756 + (1));\ni__5750__auto___33756 \x3d G__33766;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn.cljs$lang$applyTo \x3d (function (seq28196){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28196));\n}));\n\ncljs.core.strip_ns \x3d (function cljs$core$strip_ns(named){\nif((named instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n}\n});\n/**\n * Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\n */\ncljs.core.lift_ns \x3d (function cljs$core$lift_ns(m){\nif(cljs.core.truth_(cljs.core._STAR_print_namespace_maps_STAR_)){\nvar ns \x3d null;\nvar G__28203 \x3d cljs.core.seq(m);\nvar vec__28204 \x3d G__28203;\nvar seq__28205 \x3d cljs.core.seq(vec__28204);\nvar first__28206 \x3d cljs.core.first(seq__28205);\nvar seq__28205__$1 \x3d cljs.core.next(seq__28205);\nvar vec__28207 \x3d first__28206;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28207,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28207,(1),null);\nvar entry \x3d vec__28207;\nvar entries \x3d seq__28205__$1;\nvar lm \x3d cljs.core.empty(m);\nvar ns__$1 \x3d ns;\nvar G__28203__$1 \x3d G__28203;\nvar lm__$1 \x3d lm;\nwhile(true){\nvar ns__$2 \x3d ns__$1;\nvar vec__28216 \x3d G__28203__$1;\nvar seq__28217 \x3d cljs.core.seq(vec__28216);\nvar first__28218 \x3d cljs.core.first(seq__28217);\nvar seq__28217__$1 \x3d cljs.core.next(seq__28217);\nvar vec__28219 \x3d first__28218;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28219,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28219,(1),null);\nvar entry__$1 \x3d vec__28219;\nvar entries__$1 \x3d seq__28217__$1;\nvar lm__$2 \x3d lm__$1;\nif(cljs.core.truth_(entry__$1)){\nif((((k__$1 instanceof cljs.core.Keyword)) || ((k__$1 instanceof cljs.core.Symbol)))){\nif(cljs.core.truth_(ns__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ns__$2,cljs.core.namespace(k__$1))){\nvar G__33779 \x3d ns__$2;\nvar G__33780 \x3d entries__$1;\nvar G__33781 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__33779;\nG__28203__$1 \x3d G__33780;\nlm__$1 \x3d G__33781;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.namespace(k__$1);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar new_ns \x3d temp__5804__auto__;\nvar G__33783 \x3d new_ns;\nvar G__33784 \x3d entries__$1;\nvar G__33785 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__33783;\nG__28203__$1 \x3d G__33784;\nlm__$1 \x3d G__33785;\ncontinue;\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns__$2,lm__$2], null);\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\ncljs.core.print_prefix_map \x3d (function cljs$core$print_prefix_map(prefix,m,print_one,writer,opts){\nreturn cljs.core.pr_sequential_writer(writer,(function (e,w,opts__$1){\nvar G__28222_33787 \x3d cljs.core.key(e);\nvar G__28223_33788 \x3d w;\nvar G__28224_33789 \x3d opts__$1;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__28222_33787,G__28223_33788,G__28224_33789) : print_one.call(null,G__28222_33787,G__28223_33788,G__28224_33789));\n\ncljs.core._write(w,\x22 \x22);\n\nvar G__28225 \x3d cljs.core.val(e);\nvar G__28226 \x3d w;\nvar G__28227 \x3d opts__$1;\nreturn (print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__28225,G__28226,G__28227) : print_one.call(null,G__28225,G__28226,G__28227));\n}),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22{\x22].join(\x27\x27),\x22, \x22,\x22}\x22,opts,cljs.core.seq(m));\n});\ncljs.core.print_map \x3d (function cljs$core$print_map(m,print_one,writer,opts){\nvar vec__28228 \x3d ((cljs.core.map_QMARK_(m))?cljs.core.lift_ns(m):null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28228,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28228,(1),null);\nif(cljs.core.truth_(ns)){\nreturn cljs.core.print_prefix_map([\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join(\x27\x27),lift_map,print_one,writer,opts);\n} else {\nreturn cljs.core.print_prefix_map(null,m,print_one,writer,opts);\n}\n});\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Volatile \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#\x27\x22);\n\nreturn cljs.core.pr_writer(a__$1.sym,writer,opts);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Atom \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core._write(writer,\x22()\x22);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#queue [\x22,\x22 \x22,\x22]\x22,opts,cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n(cljs.core.Symbol.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Symbol)){\nreturn cljs.core.compare_symbols(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Keyword)){\nreturn cljs.core.compare_keywords(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n/**\n * Atomically sets the metadata for a namespace/var/ref/agent/atom to be:\n * \n *   (apply f its-current-meta args)\n * \n *   f must be free of side-effects\n */\ncljs.core.alter_meta_BANG_ \x3d (function cljs$core$alter_meta_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33863 \x3d arguments.length;\nvar i__5750__auto___33865 \x3d (0);\nwhile(true){\nif((i__5750__auto___33865 \x3c len__5749__auto___33863)){\nargs__5755__auto__.push((arguments[i__5750__auto___33865]));\n\nvar G__33866 \x3d (i__5750__auto___33865 + (1));\ni__5750__auto___33865 \x3d G__33866;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (iref,f,args){\nreturn (iref.meta \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,iref.meta,args));\n}));\n\n(cljs.core.alter_meta_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.alter_meta_BANG_.cljs$lang$applyTo \x3d (function (seq28231){\nvar G__28232 \x3d cljs.core.first(seq28231);\nvar seq28231__$1 \x3d cljs.core.next(seq28231);\nvar G__28233 \x3d cljs.core.first(seq28231__$1);\nvar seq28231__$2 \x3d cljs.core.next(seq28231__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28232,G__28233,seq28231__$2);\n}));\n\n/**\n * Atomically resets the metadata for an atom\n */\ncljs.core.reset_meta_BANG_ \x3d (function cljs$core$reset_meta_BANG_(iref,m){\nreturn (iref.meta \x3d m);\n});\n/**\n * Adds a watch function to an atom reference. The watch fn must be a\n *   fn of 4 args: a key, the reference, its old-state, its\n *   new-state. Whenever the reference\x27s state might have been changed,\n *   any registered watches will have their functions called. The watch\n *   fn will be called synchronously. Note that an atom\x27s state\n *   may have changed again prior to the fn call, so use old/new-state\n *   rather than derefing the reference. Keys must be unique per\n *   reference, and can be used to remove the watch with remove-watch,\n *   but are otherwise considered opaque by the watch mechanism.  Bear in\n *   mind that regardless of the result or action of the watch fns the\n *   atom\x27s value will change.  Example:\n * \n *    (def a (atom 0))\n *    (add-watch a :inc (fn [k r o n] (assert (\x3d\x3d 0 n))))\n *    (swap! a inc)\n *    ;; Assertion Error\n *    (deref a)\n *    ;\x3d\x3e 1\n */\ncljs.core.add_watch \x3d (function cljs$core$add_watch(iref,key,f){\ncljs.core._add_watch(iref,key,f);\n\nreturn iref;\n});\n/**\n * Removes a watch (set by add-watch) from a reference\n */\ncljs.core.remove_watch \x3d (function cljs$core$remove_watch(iref,key){\ncljs.core._remove_watch(iref,key);\n\nreturn iref;\n});\n/**\n * @type {*}\n */\ncljs.core.gensym_counter \x3d null;\n/**\n * Returns a new symbol with a unique name. If a prefix string is\n *   supplied, the name is prefix# where # is some unique number. If\n *   prefix is not supplied, the prefix is \x27G__\x27.\n */\ncljs.core.gensym \x3d (function cljs$core$gensym(var_args){\nvar G__28235 \x3d arguments.length;\nswitch (G__28235) {\ncase 0:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22G__\x22);\n}));\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1 \x3d (function (prefix_string){\nif((cljs.core.gensym_counter \x3d\x3d null)){\n(cljs.core.gensym_counter \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)));\n} else {\n}\n\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix_string),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.gensym_counter,cljs.core.inc))].join(\x27\x27));\n}));\n\n(cljs.core.gensym.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Delay \x3d (function (f,value){\nthis.f \x3d f;\nthis.value \x3d value;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2147516416;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Delay.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.f)){\n(self__.value \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null)));\n\n(self__.f \x3d null);\n} else {\n}\n\nreturn self__.value;\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (x){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\nreturn cljs.core.not(self__.f);\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (x,writer,opts){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Delay \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22status\x22,\x22status\x22,-1997798413),(((self__.f \x3d\x3d null))?new cljs.core.Keyword(null,\x22ready\x22,\x22ready\x22,1086465795):new cljs.core.Keyword(null,\x22pending\x22,\x22pending\x22,-220036727)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),self__.value], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Delay.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Delay.cljs$lang$type \x3d true);\n\n(cljs.core.Delay.cljs$lang$ctorStr \x3d \x22cljs.core/Delay\x22);\n\n(cljs.core.Delay.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Delay\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Delay.\n */\ncljs.core.__GT_Delay \x3d (function cljs$core$__GT_Delay(f,value){\nreturn (new cljs.core.Delay(f,value));\n});\n\n/**\n * returns true if x is a Delay created with delay\n */\ncljs.core.delay_QMARK_ \x3d (function cljs$core$delay_QMARK_(x){\nreturn (x instanceof cljs.core.Delay);\n});\n/**\n * If x is a Delay, returns the (possibly cached) value of its expression, else returns x\n */\ncljs.core.force \x3d (function cljs$core$force(x){\nif(cljs.core.delay_QMARK_(x)){\nreturn cljs.core.deref(x);\n} else {\nreturn x;\n}\n});\n/**\n * Returns true if a value has been produced for a delay or lazy sequence.\n */\ncljs.core.realized_QMARK_ \x3d (function cljs$core$realized_QMARK_(x){\nreturn cljs.core._realized_QMARK_(x);\n});\ncljs.core.preserving_reduced \x3d (function cljs$core$preserving_reduced(rf){\nreturn (function (p1__28236_SHARP_,p2__28237_SHARP_){\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(p1__28236_SHARP_,p2__28237_SHARP_) : rf.call(null,p1__28236_SHARP_,p2__28237_SHARP_));\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.reduced(ret);\n} else {\nreturn ret;\n}\n});\n});\n/**\n * A transducer which concatenates the contents of each input, which must be a\n *   collection, into the reduction.\n */\ncljs.core.cat \x3d (function cljs$core$cat(rf){\nvar rf1 \x3d cljs.core.preserving_reduced(rf);\nreturn (function() {\nvar G__33884 \x3d null;\nvar G__33884__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__33884__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__33884__2 \x3d (function (result,input){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(rf1,result,input);\n});\nG__33884 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__33884__0.call(this);\ncase 1:\nreturn G__33884__1.call(this,result);\ncase 2:\nreturn G__33884__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33884.cljs$core$IFn$_invoke$arity$0 \x3d G__33884__0;\nG__33884.cljs$core$IFn$_invoke$arity$1 \x3d G__33884__1;\nG__33884.cljs$core$IFn$_invoke$arity$2 \x3d G__33884__2;\nreturn G__33884;\n})()\n});\n/**\n * Returns a transducer that ends transduction when pred returns true\n *   for an input. When retf is supplied it must be a fn of 2 arguments -\n *   it will be passed the (completed) result so far and the input that\n *   triggered the predicate, and its return value (if it does not throw\n *   an exception) will be the return value of the transducer. If retf\n *   is not supplied, the input that triggered the predicate will be\n *   returned. If the predicate never returns true the transduction is\n *   unaffected.\n */\ncljs.core.halt_when \x3d (function cljs$core$halt_when(var_args){\nvar G__28239 \x3d arguments.length;\nswitch (G__28239) {\ncase 1:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(pred,null);\n}));\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,retf){\nreturn (function (rf){\nreturn (function() {\nvar G__33890 \x3d null;\nvar G__33890__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__33890__1 \x3d (function (result){\nif(((cljs.core.map_QMARK_(result)) \x26\x26 (cljs.core.contains_QMARK_(result,new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715))))){\nreturn new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715).cljs$core$IFn$_invoke$arity$1(result);\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n}\n});\nvar G__33890__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn cljs.core.reduced(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715),(cljs.core.truth_(retf)?(function (){var G__28240 \x3d (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\nvar G__28241 \x3d input;\nreturn (retf.cljs$core$IFn$_invoke$arity$2 ? retf.cljs$core$IFn$_invoke$arity$2(G__28240,G__28241) : retf.call(null,G__28240,G__28241));\n})():input)], null));\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__33890 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__33890__0.call(this);\ncase 1:\nreturn G__33890__1.call(this,result);\ncase 2:\nreturn G__33890__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33890.cljs$core$IFn$_invoke$arity$0 \x3d G__33890__0;\nG__33890.cljs$core$IFn$_invoke$arity$1 \x3d G__33890__1;\nG__33890.cljs$core$IFn$_invoke$arity$2 \x3d G__33890__2;\nreturn G__33890;\n})()\n});\n}));\n\n(cljs.core.halt_when.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence removing consecutive duplicates in coll.\n *   Returns a transducer when no collection is provided.\n */\ncljs.core.dedupe \x3d (function cljs$core$dedupe(var_args){\nvar G__28243 \x3d arguments.length;\nswitch (G__28243) {\ncase 0:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__33895 \x3d null;\nvar G__33895__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__33895__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__33895__2 \x3d (function (result,input){\nvar prior \x3d cljs.core.deref(pa);\ncljs.core.vreset_BANG_(pa,input);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(prior,input)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__33895 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__33895__0.call(this);\ncase 1:\nreturn G__33895__1.call(this,result);\ncase 2:\nreturn G__33895__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33895.cljs$core$IFn$_invoke$arity$0 \x3d G__33895__0;\nG__33895.cljs$core$IFn$_invoke$arity$1 \x3d G__33895__1;\nG__33895.cljs$core$IFn$_invoke$arity$2 \x3d G__33895__2;\nreturn G__33895;\n})()\n});\n}));\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0(),coll);\n}));\n\n(cljs.core.dedupe.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns items from coll with random probability of prob (0.0 -\n *   1.0).  Returns a transducer when no collection is provided.\n */\ncljs.core.random_sample \x3d (function cljs$core$random_sample(var_args){\nvar G__28245 \x3d arguments.length;\nswitch (G__28245) {\ncase 1:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1 \x3d (function (prob){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}));\n}));\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2 \x3d (function (prob,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}),coll);\n}));\n\n(cljs.core.random_sample.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Eduction \x3d (function (xform,coll){\nthis.xform \x3d xform;\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2173173760;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\n});\n(cljs.core.Eduction.prototype.indexOf \x3d (function() {\nvar G__33902 \x3d null;\nvar G__33902__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,(0));\n});\nvar G__33902__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__33902 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__33902__1.call(this,x);\ncase 2:\nreturn G__33902__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33902.cljs$core$IFn$_invoke$arity$1 \x3d G__33902__1;\nG__33902.cljs$core$IFn$_invoke$arity$2 \x3d G__33902__2;\nreturn G__33902;\n})()\n);\n\n(cljs.core.Eduction.prototype.lastIndexOf \x3d (function() {\nvar G__33909 \x3d null;\nvar G__33909__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,cljs.core.count(coll__$1));\n});\nvar G__33909__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__33909 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__33909__1.call(this,x);\ncase 2:\nreturn G__33909__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__33909.cljs$core$IFn$_invoke$arity$1 \x3d G__33909__1;\nG__33909.cljs$core$IFn$_invoke$arity$2 \x3d G__33909__2;\nreturn G__33909;\n})()\n);\n\n(cljs.core.Eduction.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.TransformerIterator.create(self__.xform,cljs.core.iter(self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.seq(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(self__.xform,self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,f,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),init,self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll__$1,writer,opts){\nvar self__ \x3d this;\nvar coll__$2 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$2);\n}));\n\n(cljs.core.Eduction.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22xform\x22,\x22xform\x22,-85179481,null),new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(cljs.core.Eduction.cljs$lang$type \x3d true);\n\n(cljs.core.Eduction.cljs$lang$ctorStr \x3d \x22cljs.core/Eduction\x22);\n\n(cljs.core.Eduction.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Eduction\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Eduction.\n */\ncljs.core.__GT_Eduction \x3d (function cljs$core$__GT_Eduction(xform,coll){\nreturn (new cljs.core.Eduction(xform,coll));\n});\n\n(cljs.core.Eduction.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a reducible/iterable application of the transducers\n *   to the items in coll. Transducers are applied in order as if\n *   combined with comp. Note that these applications will be\n *   performed every time reduce/iterator is called.\n */\ncljs.core.eduction \x3d (function cljs$core$eduction(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33915 \x3d arguments.length;\nvar i__5750__auto___33916 \x3d (0);\nwhile(true){\nif((i__5750__auto___33916 \x3c len__5749__auto___33915)){\nargs__5755__auto__.push((arguments[i__5750__auto___33916]));\n\nvar G__33917 \x3d (i__5750__auto___33916 + (1));\ni__5750__auto___33916 \x3d G__33917;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xforms){\nreturn (new cljs.core.Eduction(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.butlast(xforms)),cljs.core.last(xforms)));\n}));\n\n(cljs.core.eduction.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.eduction.cljs$lang$applyTo \x3d (function (seq28246){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28246));\n}));\n\n/**\n * Runs the supplied procedure (via reduce), for purposes of side\n *   effects, on successive items in the collection. Returns nil\n */\ncljs.core.run_BANG_ \x3d (function cljs$core$run_BANG_(proc,coll){\ncljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28248_SHARP_,p2__28247_SHARP_){\nreturn (proc.cljs$core$IFn$_invoke$arity$1 ? proc.cljs$core$IFn$_invoke$arity$1(p2__28247_SHARP_) : proc.call(null,p2__28247_SHARP_));\n}),null,coll);\n\nreturn null;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.t_cljs$core28253 \x3d (function (step,p__28251,map__28252,somef,vf,kf,initk,meta28254){\nthis.step \x3d step;\nthis.p__28251 \x3d p__28251;\nthis.map__28252 \x3d map__28252;\nthis.somef \x3d somef;\nthis.vf \x3d vf;\nthis.kf \x3d kf;\nthis.initk \x3d initk;\nthis.meta28254 \x3d meta28254;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 9306112;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core28253.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_28255,meta28254__$1){\nvar self__ \x3d this;\nvar _28255__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core28253(self__.step,self__.p__28251,self__.map__28252,self__.somef,self__.vf,self__.kf,self__.initk,meta28254__$1));\n}));\n\n(cljs.core.t_cljs$core28253.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_28255){\nvar self__ \x3d this;\nvar _28255__$1 \x3d this;\nreturn self__.meta28254;\n}));\n\n(cljs.core.t_cljs$core28253.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (function cljs$core$next(ret){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nreturn cljs.core.cons((self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret)),(function (){var temp__5808__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar k \x3d temp__5808__auto__;\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$next((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k)));\n}),null,null));\n}\n})());\n} else {\nreturn null;\n}\n})((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk)));\n}));\n\n(cljs.core.t_cljs$core28253.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,rf,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar acc \x3d init;\nvar ret \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk));\nwhile(true){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nvar acc__$1 \x3d (function (){var G__28256 \x3d acc;\nvar G__28257 \x3d (self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__28256,G__28257) : rf.call(null,G__28256,G__28257));\n})();\nif(cljs.core.reduced_QMARK_(acc__$1)){\nreturn cljs.core.deref(acc__$1);\n} else {\nvar temp__5806__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn acc__$1;\n} else {\nvar k \x3d temp__5806__auto__;\nvar G__33923 \x3d acc__$1;\nvar G__33924 \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k));\nacc \x3d G__33923;\nret \x3d G__33924;\ncontinue;\n}\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.t_cljs$core28253.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22p__28251\x22,\x22p__28251\x22,1668387590,null),new cljs.core.Symbol(null,\x22map__28252\x22,\x22map__28252\x22,1841105145,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),new cljs.core.Symbol(null,\x22meta28254\x22,\x22meta28254\x22,337748536,null)], null);\n}));\n\n(cljs.core.t_cljs$core28253.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core28253.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core28253\x22);\n\n(cljs.core.t_cljs$core28253.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/t_cljs$core28253\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core28253.\n */\ncljs.core.__GT_t_cljs$core28253 \x3d (function cljs$core$__GT_t_cljs$core28253(step,p__28251,map__28252,somef,vf,kf,initk,meta28254){\nreturn (new cljs.core.t_cljs$core28253(step,p__28251,map__28252,somef,vf,kf,initk,meta28254));\n});\n\n\n/**\n * Creates a seqable/reducible via repeated calls to step,\n *   a function of some (continuation token) \x27k\x27. The first call to step\n *   will be passed initk, returning \x27ret\x27. Iff (somef ret) is true,\n *   (vf ret) will be included in the iteration, else iteration will\n *   terminate and vf/kf will not be called. If (kf ret) is non-nil it\n *   will be passed to the next step call, else iteration will terminate.\n *   This can be used e.g. to consume APIs that return paginated or batched data.\n * step - (possibly impure) fn of \x27k\x27 -\x3e \x27ret\x27\n * :somef - fn of \x27ret\x27 -\x3e logical true/false, default \x27some?\x27\n * :vf - fn of \x27ret\x27 -\x3e \x27v\x27, a value produced by the iteration, default \x27identity\x27\n * :kf - fn of \x27ret\x27 -\x3e \x27next-k\x27 or nil (signaling \x27do not continue\x27), default \x27identity\x27\n * :initk - the first value passed to step, default \x27nil\x27\n *   It is presumed that step with non-initk is unreproducible/non-idempotent.\n *   If step with initk is unreproducible it is on the consumer to not consume twice.\n */\ncljs.core.iteration \x3d (function cljs$core$iteration(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33928 \x3d arguments.length;\nvar i__5750__auto___33929 \x3d (0);\nwhile(true){\nif((i__5750__auto___33929 \x3c len__5749__auto___33928)){\nargs__5755__auto__.push((arguments[i__5750__auto___33929]));\n\nvar G__33930 \x3d (i__5750__auto___33929 + (1));\ni__5750__auto___33929 \x3d G__33930;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic \x3d (function (step,p__28251){\nvar map__28252 \x3d p__28251;\nvar map__28252__$1 \x3d cljs.core.__destructure_map(map__28252);\nvar somef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28252__$1,new cljs.core.Keyword(null,\x22somef\x22,\x22somef\x22,-622590365),cljs.core.some_QMARK_);\nvar vf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28252__$1,new cljs.core.Keyword(null,\x22vf\x22,\x22vf\x22,-321423269),cljs.core.identity);\nvar kf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28252__$1,new cljs.core.Keyword(null,\x22kf\x22,\x22kf\x22,1608087589),cljs.core.identity);\nvar initk \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28252__$1,new cljs.core.Keyword(null,\x22initk\x22,\x22initk\x22,-1693342987),null);\nreturn (new cljs.core.t_cljs$core28253(step,p__28251,map__28252__$1,somef,vf,kf,initk,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.iteration.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.iteration.cljs$lang$applyTo \x3d (function (seq28249){\nvar G__28250 \x3d cljs.core.first(seq28249);\nvar seq28249__$1 \x3d cljs.core.next(seq28249);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28250,seq28249__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeJS \x3d function(){};\n\nvar cljs$core$IEncodeJS$_clj__GT_js$dyn_33946 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._clj__GT_js[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._clj__GT_js[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-clj-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Recursively transforms clj values to JavaScript\n */\ncljs.core._clj__GT_js \x3d (function cljs$core$_clj__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_clj__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_clj__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_clj__GT_js$dyn_33946(x);\n}\n});\n\nvar cljs$core$IEncodeJS$_key__GT_js$dyn_33952 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._key__GT_js[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._key__GT_js[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-key-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Transforms map keys to valid JavaScript keys. Arbitrary keys are\n *   encoded to their string representation via (pr-str x)\n */\ncljs.core._key__GT_js \x3d (function cljs$core$_key__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_key__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_key__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_key__GT_js$dyn_33952(x);\n}\n});\n\ncljs.core.key__GT_js \x3d (function cljs$core$key__GT_js(var_args){\nvar G__28259 \x3d arguments.length;\nswitch (G__28259) {\ncase 1:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,cljs.core.clj__GT_js);\n}));\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,primitive_fn){\nif((((!((k \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d k.cljs$core$IEncodeJS$))))?true:(((!k.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k))){\nreturn cljs.core._clj__GT_js(k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (((typeof k \x3d\x3d\x3d \x27number\x27) || ((((k instanceof cljs.core.Keyword)) || ((k instanceof cljs.core.Symbol)))))))){\nreturn (primitive_fn.cljs$core$IFn$_invoke$arity$1 ? primitive_fn.cljs$core$IFn$_invoke$arity$1(k) : primitive_fn.call(null,k));\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k], 0));\n\n}\n}\n}));\n\n(cljs.core.key__GT_js.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Recursively transforms ClojureScript values to JavaScript.\n *   sets/vectors/lists become Arrays, Keywords and Symbol become Strings,\n *   Maps become Objects. Arbitrary keys are encoded to by `key-\x3ejs`.\n *   Options is a key-value pair, where the only valid key is\n *   :keyword-fn, which should point to a single-argument function to be\n *   called on keyword keys. Default to `name`.\n */\ncljs.core.clj__GT_js \x3d (function cljs$core$clj__GT_js(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33969 \x3d arguments.length;\nvar i__5750__auto___33970 \x3d (0);\nwhile(true){\nif((i__5750__auto___33970 \x3c len__5749__auto___33969)){\nargs__5755__auto__.push((arguments[i__5750__auto___33970]));\n\nvar G__33972 \x3d (i__5750__auto___33970 + (1));\ni__5750__auto___33970 \x3d G__33972;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__28263){\nvar map__28264 \x3d p__28263;\nvar map__28264__$1 \x3d cljs.core.__destructure_map(map__28264);\nvar options \x3d map__28264__$1;\nvar keyword_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28264__$1,new cljs.core.Keyword(null,\x22keyword-fn\x22,\x22keyword-fn\x22,-64566675),cljs.core.name);\nvar keyfn \x3d (function cljs$core$keyfn(k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,thisfn);\n});\nvar thisfn \x3d (function cljs$core$thisfn(x__$1){\nif((x__$1 \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x__$1.cljs$core$IEncodeJS$))))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1))){\nreturn cljs.core._clj__GT_js(x__$1);\n} else {\nif((x__$1 instanceof cljs.core.Keyword)){\nreturn (keyword_fn.cljs$core$IFn$_invoke$arity$1 ? keyword_fn.cljs$core$IFn$_invoke$arity$1(x__$1) : keyword_fn.call(null,x__$1));\n} else {\nif((x__$1 instanceof cljs.core.Symbol)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1);\n} else {\nif(cljs.core.map_QMARK_(x__$1)){\nvar m \x3d ({});\nvar seq__28291_33977 \x3d cljs.core.seq(x__$1);\nvar chunk__28292_33978 \x3d null;\nvar count__28293_33979 \x3d (0);\nvar i__28294_33980 \x3d (0);\nwhile(true){\nif((i__28294_33980 \x3c count__28293_33979)){\nvar vec__28301_33981 \x3d chunk__28292_33978.cljs$core$IIndexed$_nth$arity$2(null,i__28294_33980);\nvar k_33982 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28301_33981,(0),null);\nvar v_33983 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28301_33981,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_33982),cljs$core$thisfn(v_33983));\n\n\nvar G__33984 \x3d seq__28291_33977;\nvar G__33985 \x3d chunk__28292_33978;\nvar G__33986 \x3d count__28293_33979;\nvar G__33987 \x3d (i__28294_33980 + (1));\nseq__28291_33977 \x3d G__33984;\nchunk__28292_33978 \x3d G__33985;\ncount__28293_33979 \x3d G__33986;\ni__28294_33980 \x3d G__33987;\ncontinue;\n} else {\nvar temp__5804__auto___33988 \x3d cljs.core.seq(seq__28291_33977);\nif(temp__5804__auto___33988){\nvar seq__28291_33989__$1 \x3d temp__5804__auto___33988;\nif(cljs.core.chunked_seq_QMARK_(seq__28291_33989__$1)){\nvar c__5548__auto___33990 \x3d cljs.core.chunk_first(seq__28291_33989__$1);\nvar G__33991 \x3d cljs.core.chunk_rest(seq__28291_33989__$1);\nvar G__33992 \x3d c__5548__auto___33990;\nvar G__33993 \x3d cljs.core.count(c__5548__auto___33990);\nvar G__33994 \x3d (0);\nseq__28291_33977 \x3d G__33991;\nchunk__28292_33978 \x3d G__33992;\ncount__28293_33979 \x3d G__33993;\ni__28294_33980 \x3d G__33994;\ncontinue;\n} else {\nvar vec__28304_33995 \x3d cljs.core.first(seq__28291_33989__$1);\nvar k_33996 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28304_33995,(0),null);\nvar v_33997 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28304_33995,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_33996),cljs$core$thisfn(v_33997));\n\n\nvar G__33999 \x3d cljs.core.next(seq__28291_33989__$1);\nvar G__34000 \x3d null;\nvar G__34001 \x3d (0);\nvar G__34002 \x3d (0);\nseq__28291_33977 \x3d G__33999;\nchunk__28292_33978 \x3d G__34000;\ncount__28293_33979 \x3d G__34001;\ni__28294_33980 \x3d G__34002;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn m;\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nvar arr \x3d [];\nvar seq__28307_34004 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\nvar chunk__28308_34005 \x3d null;\nvar count__28309_34006 \x3d (0);\nvar i__28310_34007 \x3d (0);\nwhile(true){\nif((i__28310_34007 \x3c count__28309_34006)){\nvar x_34009__$2 \x3d chunk__28308_34005.cljs$core$IIndexed$_nth$arity$2(null,i__28310_34007);\narr.push(x_34009__$2);\n\n\nvar G__34010 \x3d seq__28307_34004;\nvar G__34011 \x3d chunk__28308_34005;\nvar G__34012 \x3d count__28309_34006;\nvar G__34013 \x3d (i__28310_34007 + (1));\nseq__28307_34004 \x3d G__34010;\nchunk__28308_34005 \x3d G__34011;\ncount__28309_34006 \x3d G__34012;\ni__28310_34007 \x3d G__34013;\ncontinue;\n} else {\nvar temp__5804__auto___34014 \x3d cljs.core.seq(seq__28307_34004);\nif(temp__5804__auto___34014){\nvar seq__28307_34015__$1 \x3d temp__5804__auto___34014;\nif(cljs.core.chunked_seq_QMARK_(seq__28307_34015__$1)){\nvar c__5548__auto___34016 \x3d cljs.core.chunk_first(seq__28307_34015__$1);\nvar G__34017 \x3d cljs.core.chunk_rest(seq__28307_34015__$1);\nvar G__34018 \x3d c__5548__auto___34016;\nvar G__34019 \x3d cljs.core.count(c__5548__auto___34016);\nvar G__34020 \x3d (0);\nseq__28307_34004 \x3d G__34017;\nchunk__28308_34005 \x3d G__34018;\ncount__28309_34006 \x3d G__34019;\ni__28310_34007 \x3d G__34020;\ncontinue;\n} else {\nvar x_34021__$2 \x3d cljs.core.first(seq__28307_34015__$1);\narr.push(x_34021__$2);\n\n\nvar G__34022 \x3d cljs.core.next(seq__28307_34015__$1);\nvar G__34023 \x3d null;\nvar G__34024 \x3d (0);\nvar G__34025 \x3d (0);\nseq__28307_34004 \x3d G__34022;\nchunk__28308_34005 \x3d G__34023;\ncount__28309_34006 \x3d G__34024;\ni__28310_34007 \x3d G__34025;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn arr;\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn thisfn(x);\n}));\n\n(cljs.core.clj__GT_js.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.clj__GT_js.cljs$lang$applyTo \x3d (function (seq28261){\nvar G__28262 \x3d cljs.core.first(seq28261);\nvar seq28261__$1 \x3d cljs.core.next(seq28261);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28262,seq28261__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeClojure \x3d function(){};\n\nvar cljs$core$IEncodeClojure$_js__GT_clj$dyn_34026 \x3d (function (x,options){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._js__GT_clj[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5374__auto__.call(null,x,options));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._js__GT_clj[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5372__auto__.call(null,x,options));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeClojure.-js-\x3eclj\x22,x);\n}\n}\n});\n/**\n * Transforms JavaScript values to Clojure\n */\ncljs.core._js__GT_clj \x3d (function cljs$core$_js__GT_clj(x,options){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2(x,options);\n} else {\nreturn cljs$core$IEncodeClojure$_js__GT_clj$dyn_34026(x,options);\n}\n});\n\n/**\n * Recursively transforms JavaScript arrays into ClojureScript\n *   vectors, and JavaScript objects into ClojureScript maps.  With\n *   option \x27:keywordize-keys true\x27 will convert object fields from\n *   strings to keywords.\n */\ncljs.core.js__GT_clj \x3d (function cljs$core$js__GT_clj(var_args){\nvar G__28316 \x3d arguments.length;\nswitch (G__28316) {\ncase 1:\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___34032 \x3d arguments.length;\nvar i__5750__auto___34033 \x3d (0);\nwhile(true){\nif((i__5750__auto___34033 \x3c len__5749__auto___34032)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___34033]));\n\nvar G__34034 \x3d (i__5750__auto___34033 + (1));\ni__5750__auto___34033 \x3d G__34034;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252),false], 0));\n}));\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,opts){\nvar map__28317 \x3d opts;\nvar map__28317__$1 \x3d cljs.core.__destructure_map(map__28317);\nvar keywordize_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28317__$1,new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252));\nvar keyfn \x3d (cljs.core.truth_(keywordize_keys)?cljs.core.keyword:cljs.core.str);\nvar f \x3d (function cljs$core$thisfn(x__$1){\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x__$1.cljs$core$IEncodeClojure$))))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1))){\nreturn cljs.core._js__GT_clj(x__$1,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,opts));\n} else {\nif(cljs.core.seq_QMARK_(x__$1)){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\n} else {\nif(cljs.core.map_entry_QMARK_(x__$1)){\nreturn (new cljs.core.MapEntry(cljs$core$thisfn(cljs.core.key(x__$1)),cljs$core$thisfn(cljs.core.val(x__$1)),null));\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.empty(x__$1),cljs.core.map.cljs$core$IFn$_invoke$arity$1(cljs$core$thisfn),x__$1);\n} else {\nif(cljs.core.array_QMARK_(x__$1)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28311_SHARP_,p2__28312_SHARP_){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(p1__28311_SHARP_,cljs$core$thisfn(p2__28312_SHARP_));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),x__$1));\n} else {\nif((cljs.core.type(x__$1) \x3d\x3d\x3d Object)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,k){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(r,(keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(k) : keyfn.call(null,k)),cljs$core$thisfn(cljs.core.goog$module$goog$object.get(x__$1,k)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),cljs.core.js_keys(x__$1)));\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn f(x);\n}));\n\n/** @this {Function} */\n(cljs.core.js__GT_clj.cljs$lang$applyTo \x3d (function (seq28314){\nvar G__28315 \x3d cljs.core.first(seq28314);\nvar seq28314__$1 \x3d cljs.core.next(seq28314);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28315,seq28314__$1);\n}));\n\n(cljs.core.js__GT_clj.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a memoized version of a referentially transparent function. The\n *   memoized version of the function keeps a cache of the mapping from arguments\n *   to results and, when calls with the same arguments are repeated often, has\n *   higher performance at the expense of higher memory use.\n */\ncljs.core.memoize \x3d (function cljs$core$memoize(f){\nvar mem \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nreturn (function() { \nvar G__34042__delegate \x3d function (args){\nvar v \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(mem),args,cljs.core.lookup_sentinel);\nif((v \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(mem,cljs.core.assoc,args,ret);\n\nreturn ret;\n} else {\nreturn v;\n}\n};\nvar G__34042 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__34044__i \x3d 0, G__34044__a \x3d new Array(arguments.length -  0);\nwhile (G__34044__i \x3c G__34044__a.length) {G__34044__a[G__34044__i] \x3d arguments[G__34044__i + 0]; ++G__34044__i;}\n  args \x3d new cljs.core.IndexedSeq(G__34044__a,0,null);\n} \nreturn G__34042__delegate.call(this,args);};\nG__34042.cljs$lang$maxFixedArity \x3d 0;\nG__34042.cljs$lang$applyTo \x3d (function (arglist__34045){\nvar args \x3d cljs.core.seq(arglist__34045);\nreturn G__34042__delegate(args);\n});\nG__34042.cljs$core$IFn$_invoke$arity$variadic \x3d G__34042__delegate;\nreturn G__34042;\n})()\n;\n});\n/**\n * trampoline can be used to convert algorithms requiring mutual\n *   recursion without stack consumption. Calls f with supplied args, if\n *   any. If f returns a fn, calls that fn with no arguments, and\n *   continues to repeat, until the return value is not a fn, then\n *   returns that non-fn value. Note that if you want to return a fn as a\n *   final value, you must wrap it in some data structure and unpack it\n *   after trampoline returns.\n */\ncljs.core.trampoline \x3d (function cljs$core$trampoline(var_args){\nvar G__28322 \x3d arguments.length;\nswitch (G__28322) {\ncase 1:\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___34048 \x3d arguments.length;\nvar i__5750__auto___34049 \x3d (0);\nwhile(true){\nif((i__5750__auto___34049 \x3c len__5749__auto___34048)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___34049]));\n\nvar G__34050 \x3d (i__5750__auto___34049 + (1));\ni__5750__auto___34049 \x3d G__34050;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nwhile(true){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\nif(cljs.core.fn_QMARK_(ret)){\nvar G__34052 \x3d ret;\nf \x3d G__34052;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((function (){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}));\n}));\n\n/** @this {Function} */\n(cljs.core.trampoline.cljs$lang$applyTo \x3d (function (seq28320){\nvar G__28321 \x3d cljs.core.first(seq28320);\nvar seq28320__$1 \x3d cljs.core.next(seq28320);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28321,seq28320__$1);\n}));\n\n(cljs.core.trampoline.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a random floating point number between 0 (inclusive) and\n *   n (default 1) (exclusive).\n */\ncljs.core.rand \x3d (function cljs$core$rand(var_args){\nvar G__28324 \x3d arguments.length;\nswitch (G__28324) {\ncase 0:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((1));\n}));\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (Math.random() * n);\n}));\n\n(cljs.core.rand.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns a random integer between 0 (inclusive) and n (exclusive).\n */\ncljs.core.rand_int \x3d (function cljs$core$rand_int(n){\nreturn Math.floor((Math.random() * n));\n});\n/**\n * Return a random element of the (sequential) collection. Will have\n *   the same performance characteristics as nth for the given\n *   collection.\n */\ncljs.core.rand_nth \x3d (function cljs$core$rand_nth(coll){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,cljs.core.rand_int(cljs.core.count(coll)));\n});\n/**\n * Returns a map of the elements of coll keyed by the result of\n *   f on each element. The value at each key will be a vector of the\n *   corresponding elements, in the order they appeared in coll.\n */\ncljs.core.group_by \x3d (function cljs$core$group_by(f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar k \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x));\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.PersistentVector.EMPTY),x));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Creates a hierarchy object for use with derive, isa? etc.\n */\ncljs.core.make_hierarchy \x3d (function cljs$core$make_hierarchy(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),cljs.core.PersistentArrayMap.EMPTY], null);\n});\n/**\n * @type {*}\n */\ncljs.core._global_hierarchy \x3d null;\ncljs.core.get_global_hierarchy \x3d (function cljs$core$get_global_hierarchy(){\nif((cljs.core._global_hierarchy \x3d\x3d null)){\n(cljs.core._global_hierarchy \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.make_hierarchy()));\n} else {\n}\n\nreturn cljs.core._global_hierarchy;\n});\ncljs.core.swap_global_hierarchy_BANG_ \x3d (function cljs$core$swap_global_hierarchy_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___34062 \x3d arguments.length;\nvar i__5750__auto___34063 \x3d (0);\nwhile(true){\nif((i__5750__auto___34063 \x3c len__5749__auto___34062)){\nargs__5755__auto__.push((arguments[i__5750__auto___34063]));\n\nvar G__34064 \x3d (i__5750__auto___34063 + (1));\ni__5750__auto___34063 \x3d G__34064;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,cljs.core.get_global_hierarchy(),f,args);\n}));\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$applyTo \x3d (function (seq28325){\nvar G__28326 \x3d cljs.core.first(seq28325);\nvar seq28325__$1 \x3d cljs.core.next(seq28325);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28326,seq28325__$1);\n}));\n\n/**\n * Returns true if (\x3d child parent), or child is directly or indirectly derived from\n *   parent, either via a JavaScript type inheritance relationship or a\n *   relationship established via derive. h must be a hierarchy obtained\n *   from make-hierarchy, if not supplied defaults to the global\n *   hierarchy\n */\ncljs.core.isa_QMARK_ \x3d (function cljs$core$isa_QMARK_(var_args){\nvar G__28328 \x3d arguments.length;\nswitch (G__28328) {\ncase 2:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (child,parent){\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(cljs.core.get_global_hierarchy()),child,parent);\n}));\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,child,parent){\nvar or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(child,parent);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.contains_QMARK_((function (){var fexpr__28329 \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nreturn (fexpr__28329.cljs$core$IFn$_invoke$arity$1 ? fexpr__28329.cljs$core$IFn$_invoke$arity$1(child) : fexpr__28329.call(null,child));\n})(),parent);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nvar and__5023__auto__ \x3d cljs.core.vector_QMARK_(parent);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.vector_QMARK_(child);\nif(and__5023__auto____$1){\nvar and__5023__auto____$2 \x3d (cljs.core.count(parent) \x3d\x3d\x3d cljs.core.count(child));\nif(and__5023__auto____$2){\nvar ret \x3d true;\nvar i \x3d (0);\nwhile(true){\nif((((!(ret))) || ((i \x3d\x3d\x3d cljs.core.count(parent))))){\nreturn ret;\n} else {\nvar G__34077 \x3d cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(h,(child.cljs$core$IFn$_invoke$arity$1 ? child.cljs$core$IFn$_invoke$arity$1(i) : child.call(null,i)),(parent.cljs$core$IFn$_invoke$arity$1 ? parent.cljs$core$IFn$_invoke$arity$1(i) : parent.call(null,i)));\nvar G__34078 \x3d (i + (1));\nret \x3d G__34077;\ni \x3d G__34078;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}\n}\n}));\n\n(cljs.core.isa_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the immediate parents of tag, either via a JavaScript type\n *   inheritance relationship or a relationship established via derive. h\n *   must be a hierarchy obtained from make-hierarchy, if not supplied\n *   defaults to the global hierarchy\n */\ncljs.core.parents \x3d (function cljs$core$parents(var_args){\nvar G__28331 \x3d arguments.length;\nswitch (G__28331) {\ncase 1:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.parents.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect parents of tag, either via a JavaScript type\n *   inheritance relationship or a relationship established via derive. h\n *   must be a hierarchy obtained from make-hierarchy, if not supplied\n *   defaults to the global hierarchy\n */\ncljs.core.ancestors \x3d (function cljs$core$ancestors(var_args){\nvar G__28333 \x3d arguments.length;\nswitch (G__28333) {\ncase 1:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.ancestors.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect children of tag, through a\n *   relationship established via derive. h must be a hierarchy obtained\n *   from make-hierarchy, if not supplied defaults to the global\n *   hierarchy. Note: does not work on JavaScript type inheritance\n *   relationships.\n */\ncljs.core.descendants \x3d (function cljs$core$descendants(var_args){\nvar G__28335 \x3d arguments.length;\nswitch (G__28335) {\ncase 1:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.descendants.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Establishes a parent/child relationship between parent and\n *   tag. Parent must be a namespace-qualified symbol or keyword and\n *   child can be either a namespace-qualified symbol or keyword or a\n *   class. h must be a hierarchy obtained from make-hierarchy, if not\n *   supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.derive \x3d (function cljs$core$derive(var_args){\nvar G__28337 \x3d arguments.length;\nswitch (G__28337) {\ncase 2:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\nif(cljs.core.truth_(cljs.core.namespace(parent))){\n} else {\nthrow (new Error(\x22Assert failed: (namespace parent)\x22));\n}\n\ncljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.derive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));\n\nreturn null;\n}));\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(tag,parent)){\n} else {\nthrow (new Error(\x22Assert failed: (not\x3d tag parent)\x22));\n}\n\nvar tp \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar td \x3d new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h);\nvar ta \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nvar tf \x3d (function (m,source,sources,target,targets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,k){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.get.cljs$core$IFn$_invoke$arity$3(targets,k,cljs.core.PersistentHashSet.EMPTY),cljs.core.cons(target,(targets.cljs$core$IFn$_invoke$arity$1 ? targets.cljs$core$IFn$_invoke$arity$1(target) : targets.call(null,target)))));\n}),m,cljs.core.cons(source,(sources.cljs$core$IFn$_invoke$arity$1 ? sources.cljs$core$IFn$_invoke$arity$1(source) : sources.call(null,source))));\n});\nvar or__5025__auto__ \x3d ((cljs.core.contains_QMARK_((tp.cljs$core$IFn$_invoke$arity$1 ? tp.cljs$core$IFn$_invoke$arity$1(tag) : tp.call(null,tag)),parent))?null:(function (){\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(tag) : ta.call(null,tag)),parent)){\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22already has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(parent) : ta.call(null,parent)),tag)){\nthrow (new Error([\x22Cyclic derivation:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h),tag,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(tp,tag,cljs.core.PersistentHashSet.EMPTY),parent)),new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),tf(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag,td,parent,ta),new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),tf(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),parent,ta,tag,td)], null);\n})()\n);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.derive.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Removes a parent/child relationship between parent and\n *   tag. h must be a hierarchy obtained from make-hierarchy, if not\n *   supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.underive \x3d (function cljs$core$underive(var_args){\nvar G__28342 \x3d arguments.length;\nswitch (G__28342) {\ncase 2:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\ncljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.underive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));\n\nreturn null;\n}));\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nvar parentMap \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar childsParents \x3d (cljs.core.truth_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)))?cljs.core.disj.cljs$core$IFn$_invoke$arity$2((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent):cljs.core.PersistentHashSet.EMPTY);\nvar newParents \x3d (cljs.core.truth_(cljs.core.not_empty(childsParents))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(parentMap,tag,childsParents):cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(parentMap,tag));\nvar deriv_seq \x3d cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28338_SHARP_){\nreturn cljs.core.cons(cljs.core.first(p1__28338_SHARP_),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(cljs.core.first(p1__28338_SHARP_),cljs.core.second(p1__28338_SHARP_)));\n}),cljs.core.seq(newParents)));\nif(cljs.core.contains_QMARK_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28339_SHARP_,p2__28340_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.derive,p1__28339_SHARP_,p2__28340_SHARP_);\n}),cljs.core.make_hierarchy(),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),deriv_seq));\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.underive.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.reset_cache \x3d (function cljs$core$reset_cache(method_cache,method_table,cached_hierarchy,hierarchy){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(method_cache,(function (_){\nreturn cljs.core.deref(method_table);\n}));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cached_hierarchy,(function (_){\nreturn cljs.core.deref(hierarchy);\n}));\n});\ncljs.core.prefers_STAR_ \x3d (function cljs$core$prefers_STAR_(x,y,prefer_table){\nvar xprefs \x3d (function (){var fexpr__28343 \x3d cljs.core.deref(prefer_table);\nreturn (fexpr__28343.cljs$core$IFn$_invoke$arity$1 ? fexpr__28343.cljs$core$IFn$_invoke$arity$1(x) : fexpr__28343.call(null,x));\n})();\nvar or__5025__auto__ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d xprefs;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (xprefs.cljs$core$IFn$_invoke$arity$1 ? xprefs.cljs$core$IFn$_invoke$arity$1(y) : xprefs.call(null,y));\n} else {\nreturn and__5023__auto__;\n}\n})())?true:null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(y);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__28344 \x3d x;\nvar G__28345 \x3d cljs.core.first(ps);\nvar G__28346 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__28344,G__28345,G__28346) : cljs.core.prefers_STAR_.call(null,G__28344,G__28345,G__28346));\n})())){\n} else {\n}\n\nvar G__34144 \x3d cljs.core.rest(ps);\nps \x3d G__34144;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(x);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__28347 \x3d cljs.core.first(ps);\nvar G__28348 \x3d y;\nvar G__28349 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__28347,G__28348,G__28349) : cljs.core.prefers_STAR_.call(null,G__28347,G__28348,G__28349));\n})())){\n} else {\n}\n\nvar G__34150 \x3d cljs.core.rest(ps);\nps \x3d G__34150;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn false;\n}\n}\n}\n});\ncljs.core.dominates \x3d (function cljs$core$dominates(x,y,prefer_table,hierarchy){\nvar or__5025__auto__ \x3d cljs.core.prefers_STAR_(x,y,prefer_table);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(hierarchy,x,y);\n}\n});\ncljs.core.find_and_cache_best_method \x3d (function cljs$core$find_and_cache_best_method(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val){\nvar best_entry \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (be,p__28350){\nvar vec__28351 \x3d p__28350;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28351,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28351,(1),null);\nvar e \x3d vec__28351;\nif(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(hierarchy),dispatch_val,k)){\nvar be2 \x3d (((((be \x3d\x3d null)) || (cljs.core.dominates(k,cljs.core.first(be),prefer_table,cljs.core.deref(hierarchy)))))?e:be);\nif(cljs.core.dominates(cljs.core.first(be2),k,prefer_table,cljs.core.deref(hierarchy))){\n} else {\nthrow (new Error([\x22Multiple methods in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 match dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val),\x22 -\x3e \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),\x22 and \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(be2)),\x22, and neither is preferred\x22].join(\x27\x27)));\n}\n\nreturn be2;\n} else {\nreturn be;\n}\n}),null,cljs.core.deref(method_table));\nvar best_entry__$1 \x3d (function (){var temp__5802__auto__ \x3d (function (){var and__5023__auto__ \x3d (best_entry \x3d\x3d null);\nif(and__5023__auto__){\nvar fexpr__28354 \x3d cljs.core.deref(method_table);\nreturn (fexpr__28354.cljs$core$IFn$_invoke$arity$1 ? fexpr__28354.cljs$core$IFn$_invoke$arity$1(default_dispatch_val) : fexpr__28354.call(null,default_dispatch_val));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar entry \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default_dispatch_val,entry], null);\n} else {\nreturn best_entry;\n}\n})();\nif(cljs.core.truth_(best_entry__$1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cached_hierarchy),cljs.core.deref(hierarchy))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(method_cache,cljs.core.assoc,dispatch_val,cljs.core.second(best_entry__$1));\n\nreturn cljs.core.second(best_entry__$1);\n} else {\ncljs.core.reset_cache(method_cache,method_table,cached_hierarchy,hierarchy);\n\nreturn (cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8 ? cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val) : cljs.core.find_and_cache_best_method.call(null,name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val));\n}\n} else {\nreturn null;\n}\n});\n\n/**\n * @interface\n */\ncljs.core.IMultiFn \x3d function(){};\n\nvar cljs$core$IMultiFn$_reset$dyn_34215 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._reset[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._reset[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-reset\x22,mf);\n}\n}\n});\ncljs.core._reset \x3d (function cljs$core$_reset(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_reset$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_reset$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_reset$dyn_34215(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_add_method$dyn_34223 \x3d (function (mf,dispatch_val,method){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._add_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5374__auto__.call(null,mf,dispatch_val,method));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._add_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5372__auto__.call(null,mf,dispatch_val,method));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-add-method\x22,mf);\n}\n}\n});\ncljs.core._add_method \x3d (function cljs$core$_add_method(mf,dispatch_val,method){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_add_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_add_method$arity$3(mf,dispatch_val,method);\n} else {\nreturn cljs$core$IMultiFn$_add_method$dyn_34223(mf,dispatch_val,method);\n}\n});\n\nvar cljs$core$IMultiFn$_remove_method$dyn_34229 \x3d (function (mf,dispatch_val){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._remove_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5374__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._remove_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5372__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-remove-method\x22,mf);\n}\n}\n});\ncljs.core._remove_method \x3d (function cljs$core$_remove_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_remove_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_remove_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_remove_method$dyn_34229(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_prefer_method$dyn_34231 \x3d (function (mf,dispatch_val,dispatch_val_y){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._prefer_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5374__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._prefer_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5372__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefer-method\x22,mf);\n}\n}\n});\ncljs.core._prefer_method \x3d (function cljs$core$_prefer_method(mf,dispatch_val,dispatch_val_y){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefer_method$arity$3(mf,dispatch_val,dispatch_val_y);\n} else {\nreturn cljs$core$IMultiFn$_prefer_method$dyn_34231(mf,dispatch_val,dispatch_val_y);\n}\n});\n\nvar cljs$core$IMultiFn$_get_method$dyn_34232 \x3d (function (mf,dispatch_val){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._get_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5374__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._get_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5372__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-get-method\x22,mf);\n}\n}\n});\ncljs.core._get_method \x3d (function cljs$core$_get_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_get_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_get_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_get_method$dyn_34232(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_methods$dyn_34235 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._methods[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._methods[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-methods\x22,mf);\n}\n}\n});\ncljs.core._methods \x3d (function cljs$core$_methods(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_methods$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_methods$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_methods$dyn_34235(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_prefers$dyn_34237 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._prefers[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._prefers[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefers\x22,mf);\n}\n}\n});\ncljs.core._prefers \x3d (function cljs$core$_prefers(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefers$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefers$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_prefers$dyn_34237(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_default_dispatch_val$dyn_34240 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._default_dispatch_val[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._default_dispatch_val[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-default-dispatch-val\x22,mf);\n}\n}\n});\ncljs.core._default_dispatch_val \x3d (function cljs$core$_default_dispatch_val(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_default_dispatch_val$dyn_34240(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_dispatch_fn$dyn_34246 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._dispatch_fn[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._dispatch_fn[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-dispatch-fn\x22,mf);\n}\n}\n});\ncljs.core._dispatch_fn \x3d (function cljs$core$_dispatch_fn(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_dispatch_fn$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_dispatch_fn$dyn_34246(mf);\n}\n});\n\ncljs.core.throw_no_method_error \x3d (function cljs$core$throw_no_method_error(name,dispatch_val){\nthrow (new Error([\x22No method in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val)].join(\x27\x27)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMultiFn}\n * @implements {cljs.core.INamed}\n*/\ncljs.core.MultiFn \x3d (function (name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nthis.name \x3d name;\nthis.dispatch_fn \x3d dispatch_fn;\nthis.default_dispatch_val \x3d default_dispatch_val;\nthis.hierarchy \x3d hierarchy;\nthis.method_table \x3d method_table;\nthis.prefer_table \x3d prefer_table;\nthis.method_cache \x3d method_cache;\nthis.cached_hierarchy \x3d cached_hierarchy;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 4194305;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4352;\n});\n(cljs.core.MultiFn.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__28356 \x3d (arguments.length - (1));\nswitch (G__28356) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MultiFn.prototype.apply \x3d (function (self__,args28355){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args28355)));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0() : self__.dispatch_fn.call(null));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$0 ? target_fn.cljs$core$IFn$_invoke$arity$0() : target_fn.call(null));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1(a) : self__.dispatch_fn.call(null,a));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$1 ? target_fn.cljs$core$IFn$_invoke$arity$1(a) : target_fn.call(null,a));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.dispatch_fn.call(null,a,b));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$2 ? target_fn.cljs$core$IFn$_invoke$arity$2(a,b) : target_fn.call(null,a,b));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.dispatch_fn.call(null,a,b,c));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$3 ? target_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : target_fn.call(null,a,b,c));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.dispatch_fn.call(null,a,b,c,d));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$4 ? target_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : target_fn.call(null,a,b,c,d));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.dispatch_fn.call(null,a,b,c,d,e));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$5 ? target_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : target_fn.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.dispatch_fn.call(null,a,b,c,d,e,f));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$6 ? target_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : target_fn.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$7 ? target_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : target_fn.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$8 ? target_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : target_fn.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$9 ? target_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : target_fn.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$10 ? target_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$11 ? target_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$12 ? target_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$13 ? target_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$14 ? target_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$15 ? target_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$16 ? target_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$17 ? target_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$18 ? target_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$19 ? target_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$20 ? target_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(self__.dispatch_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(target_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d (function (mf,dispatch_val_x,dispatch_val_y){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core.truth_(cljs.core.prefers_STAR_(dispatch_val_y,dispatch_val_x,self__.prefer_table))){\nthrow (new Error([\x22Preference conflict in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),\x22\x27: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_y),\x22 is already preferred to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_x)].join(\x27\x27)));\n} else {\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (old){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.PersistentHashSet.EMPTY),dispatch_val_y));\n}));\n\nreturn cljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.default_dispatch_val;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_remove_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.method_table,cljs.core.dissoc,dispatch_val);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_methods$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.method_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefers$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.prefer_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.dispatch_fn;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_add_method$arity$3 \x3d (function (mf,dispatch_val,method){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.method_table,cljs.core.assoc,dispatch_val,method);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_reset$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_cache,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.cached_hierarchy,(function (mf__$2){\nreturn null;\n}));\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_get_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.cached_hierarchy),cljs.core.deref(self__.hierarchy))){\n} else {\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}\n\nvar temp__5802__auto__ \x3d (function (){var fexpr__28357 \x3d cljs.core.deref(self__.method_cache);\nreturn (fexpr__28357.cljs$core$IFn$_invoke$arity$1 ? fexpr__28357.cljs$core$IFn$_invoke$arity$1(dispatch_val) : fexpr__28357.call(null,dispatch_val));\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar target_fn \x3d temp__5802__auto__;\nreturn target_fn;\n} else {\nreturn cljs.core.find_and_cache_best_method(self__.name,dispatch_val,self__.hierarchy,self__.method_table,self__.prefer_table,self__.method_cache,self__.cached_hierarchy,self__.default_dispatch_val);\n}\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._name(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._namespace(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.MultiFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22dispatch-fn\x22,\x22dispatch-fn\x22,-1401088155,null),new cljs.core.Symbol(null,\x22default-dispatch-val\x22,\x22default-dispatch-val\x22,-1231201266,null),new cljs.core.Symbol(null,\x22hierarchy\x22,\x22hierarchy\x22,587061186,null),new cljs.core.Symbol(null,\x22method-table\x22,\x22method-table\x22,-1878263165,null),new cljs.core.Symbol(null,\x22prefer-table\x22,\x22prefer-table\x22,462168584,null),new cljs.core.Symbol(null,\x22method-cache\x22,\x22method-cache\x22,1230193905,null),new cljs.core.Symbol(null,\x22cached-hierarchy\x22,\x22cached-hierarchy\x22,-1085460203,null)], null);\n}));\n\n(cljs.core.MultiFn.cljs$lang$type \x3d true);\n\n(cljs.core.MultiFn.cljs$lang$ctorStr \x3d \x22cljs.core/MultiFn\x22);\n\n(cljs.core.MultiFn.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/MultiFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiFn.\n */\ncljs.core.__GT_MultiFn \x3d (function cljs$core$__GT_MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nreturn (new cljs.core.MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy));\n});\n\n/**\n * Removes all of the methods of multimethod.\n */\ncljs.core.remove_all_methods \x3d (function cljs$core$remove_all_methods(multifn){\nreturn cljs.core._reset(multifn);\n});\n/**\n * Removes the method of multimethod associated with dispatch-value.\n */\ncljs.core.remove_method \x3d (function cljs$core$remove_method(multifn,dispatch_val){\nreturn cljs.core._remove_method(multifn,dispatch_val);\n});\n/**\n * Causes the multimethod to prefer matches of dispatch-val-x over dispatch-val-y\n * when there is a conflict\n */\ncljs.core.prefer_method \x3d (function cljs$core$prefer_method(multifn,dispatch_val_x,dispatch_val_y){\nreturn cljs.core._prefer_method(multifn,dispatch_val_x,dispatch_val_y);\n});\n/**\n * Given a multimethod, returns a map of dispatch values -\x3e dispatch fns\n */\ncljs.core.methods$ \x3d (function cljs$core$methods(multifn){\nreturn cljs.core._methods(multifn);\n});\n/**\n * Given a multimethod and a dispatch value, returns the dispatch fn\n *   that would apply to that value, or nil if none apply and no default\n */\ncljs.core.get_method \x3d (function cljs$core$get_method(multifn,dispatch_val){\nreturn cljs.core._get_method(multifn,dispatch_val);\n});\n/**\n * Given a multimethod, returns a map of preferred value -\x3e set of other values\n */\ncljs.core.prefers \x3d (function cljs$core$prefers(multifn){\nreturn cljs.core._prefers(multifn);\n});\n/**\n * Given a multimethod, return its default-dispatch-val.\n */\ncljs.core.default_dispatch_val \x3d (function cljs$core$default_dispatch_val(multifn){\nreturn cljs.core._default_dispatch_val(multifn);\n});\n/**\n * Given a multimethod, return its dispatch-fn.\n */\ncljs.core.dispatch_fn \x3d (function cljs$core$dispatch_fn(multifn){\nreturn cljs.core._dispatch_fn(multifn);\n});\n\n/**\n * A marker protocol for UUIDs\n * @interface\n */\ncljs.core.IUUID \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IComparable}\n * @implements {cljs.core.IUUID}\n*/\ncljs.core.UUID \x3d (function (uuid,__hash){\nthis.uuid \x3d uuid;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775104;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2048;\n});\n(cljs.core.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.uuid;\n}));\n\n(cljs.core.UUID.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar and__5023__auto__ \x3d (((!((other \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d other.cljs$core$IUUID$))))?true:false):false);\nif(and__5023__auto__){\nreturn (self__.uuid \x3d\x3d\x3d other.uuid);\n} else {\nreturn and__5023__auto__;\n}\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (_,writer,___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.uuid),\x22\\\x22\x22].join(\x27\x27));\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.__hash \x3d\x3d null)){\n(self__.__hash \x3d cljs.core.hash(self__.uuid));\n} else {\n}\n\nreturn self__.__hash;\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(self__.uuid,other.uuid);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.UUID.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22uuid\x22,\x22uuid\x22,-504564192,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.UUID.cljs$lang$type \x3d true);\n\n(cljs.core.UUID.cljs$lang$ctorStr \x3d \x22cljs.core/UUID\x22);\n\n(cljs.core.UUID.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/UUID\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/UUID.\n */\ncljs.core.__GT_UUID \x3d (function cljs$core$__GT_UUID(uuid,__hash){\nreturn (new cljs.core.UUID(uuid,__hash));\n});\n\n/**\n * Returns a UUID consistent with the string s.\n */\ncljs.core.uuid \x3d (function cljs$core$uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? s)\x22));\n}\n\nreturn (new cljs.core.UUID(s.toLowerCase(),null));\n});\n/**\n * Returns a pseudo-randomly generated UUID instance (i.e. type 4).\n */\ncljs.core.random_uuid \x3d (function cljs$core$random_uuid(){\nvar quad_hex \x3d (function cljs$core$random_uuid_$_quad_hex(){\nvar unpadded_hex \x3d cljs.core.rand_int((65536)).toString((16));\nvar G__28360 \x3d ((unpadded_hex).length);\nswitch (G__28360) {\ncase (1):\nreturn [\x22000\x22,unpadded_hex].join(\x27\x27);\n\nbreak;\ncase (2):\nreturn [\x2200\x22,unpadded_hex].join(\x27\x27);\n\nbreak;\ncase (3):\nreturn [\x220\x22,unpadded_hex].join(\x27\x27);\n\nbreak;\ndefault:\nreturn unpadded_hex;\n\n}\n});\nvar ver_tripple_hex \x3d ((16384) | ((4095) \x26 cljs.core.rand_int((65536)))).toString((16));\nvar res_tripple_hex \x3d ((32768) | ((16383) \x26 cljs.core.rand_int((65536)))).toString((16));\nreturn cljs.core.uuid([quad_hex(),quad_hex(),\x22-\x22,quad_hex(),\x22-\x22,ver_tripple_hex,\x22-\x22,res_tripple_hex,\x22-\x22,quad_hex(),quad_hex(),quad_hex()].join(\x27\x27));\n});\n/**\n * Return true if x is a UUID.\n */\ncljs.core.uuid_QMARK_ \x3d (function cljs$core$uuid_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IUUID$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\ncljs.core.pr_writer_ex_info \x3d (function cljs$core$pr_writer_ex_info(obj,writer,opts){\ncljs.core._write(writer,\x22#error {:message \x22);\n\ncljs.core.pr_writer(obj.message,writer,opts);\n\nif(cljs.core.truth_(obj.data)){\ncljs.core._write(writer,\x22, :data \x22);\n\ncljs.core.pr_writer(obj.data,writer,opts);\n} else {\n}\n\nif(cljs.core.truth_(obj.cause)){\ncljs.core._write(writer,\x22, :cause \x22);\n\ncljs.core.pr_writer(obj.cause,writer,opts);\n} else {\n}\n\nreturn cljs.core._write(writer,\x22}\x22);\n});\n/**\n * @constructor\n */\ncljs.core.ExceptionInfo \x3d (function cljs$core$ExceptionInfo(message,data,cause){\nvar e \x3d (new Error(message));\nvar this$ \x3d this;\n(this$.message \x3d message);\n\n(this$.data \x3d data);\n\n(this$.cause \x3d cause);\n\n(this$.name \x3d e.name);\n\n(this$.description \x3d e.description);\n\n(this$.number \x3d e.number);\n\n(this$.fileName \x3d e.fileName);\n\n(this$.lineNumber \x3d e.lineNumber);\n\n(this$.columnNumber \x3d e.columnNumber);\n\n(this$.stack \x3d e.stack);\n\nreturn this$;\n});\n(cljs.core.ExceptionInfo.prototype.__proto__ \x3d Error.prototype);\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (obj,writer,opts){\nvar obj__$1 \x3d this;\nreturn cljs.core.pr_writer_ex_info(obj__$1,writer,opts);\n}));\n(cljs.core.ExceptionInfo.prototype.toString \x3d (function (){\nvar this$ \x3d this;\nreturn cljs.core.pr_str_STAR_(this$);\n}));\n/**\n * Create an instance of ExceptionInfo, an Error type that carries a\n *   map of additional data.\n */\ncljs.core.ex_info \x3d (function cljs$core$ex_info(var_args){\nvar G__28363 \x3d arguments.length;\nswitch (G__28363) {\ncase 2:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,data){\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(msg,data,null);\n}));\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,data,cause){\nreturn (new cljs.core.ExceptionInfo(msg,data,cause));\n}));\n\n(cljs.core.ex_info.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns exception data (a map) if ex is an ExceptionInfo.\n *   Otherwise returns nil.\n */\ncljs.core.ex_data \x3d (function cljs$core$ex_data(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.data;\n} else {\nreturn null;\n}\n});\n/**\n * Returns the message attached to the given Error / ExceptionInfo object.\n *   For non-Errors returns nil.\n */\ncljs.core.ex_message \x3d (function cljs$core$ex_message(ex){\nif((ex instanceof Error)){\nreturn ex.message;\n} else {\nreturn null;\n}\n});\n/**\n * Returns exception cause (an Error / ExceptionInfo) if ex is an\n *   ExceptionInfo.\n *   Otherwise returns nil.\n */\ncljs.core.ex_cause \x3d (function cljs$core$ex_cause(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.cause;\n} else {\nreturn null;\n}\n});\n/**\n * Constructs a data representation for an Error with keys:\n *  :cause - root cause message\n *  :phase - error phase\n *  :via - cause chain, with cause keys:\n *           :type - exception class symbol\n *           :message - exception message\n *           :data - ex-data\n *           :at - top stack element\n *  :trace - root cause stack elements\n */\ncljs.core.Throwable__GT_map \x3d (function cljs$core$Throwable__GT_map(o){\nvar base \x3d (function (t){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),(((t instanceof cljs.core.ExceptionInfo))?new cljs.core.Symbol(\x22cljs.core\x22,\x22ExceptionInfo\x22,\x22cljs.core/ExceptionInfo\x22,701839050,null):(((t instanceof Error))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22js\x22,t.name):null\n))], null),(function (){var temp__5804__auto__ \x3d cljs.core.ex_message(t);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar msg \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.ex_data(t);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ed \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),ed], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\nvar via \x3d (function (){var via \x3d cljs.core.PersistentVector.EMPTY;\nvar t \x3d o;\nwhile(true){\nif(cljs.core.truth_(t)){\nvar G__34665 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,t);\nvar G__34666 \x3d cljs.core.ex_cause(t);\nvia \x3d G__34665;\nt \x3d G__34666;\ncontinue;\n} else {\nreturn via;\n}\nbreak;\n}\n})();\nvar root \x3d cljs.core.peek(via);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(base,via)),new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415),null], null),(function (){var temp__5804__auto__ \x3d cljs.core.ex_message(root);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar root_msg \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),root_msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.ex_data(root);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar data \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(o));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar phase \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),phase], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\n/**\n * Returns an JavaScript compatible comparator based upon pred.\n */\ncljs.core.comparator \x3d (function cljs$core$comparator(pred){\nreturn (function (x,y){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(x,y) : pred.call(null,x,y)))){\nreturn (-1);\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(y,x) : pred.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\n});\n/**\n * Returns true if x names a special form\n */\ncljs.core.special_symbol_QMARK_ \x3d (function cljs$core$special_symbol_QMARK_(x){\nreturn cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 24, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),\x22null\x22,new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),\x22null\x22,new cljs.core.Symbol(null,\x22defrecord*\x22,\x22defrecord*\x22,-1936366207,null),\x22null\x22,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns*\x22,\x22ns*\x22,1840949383,null),\x22null\x22,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),\x22null\x22,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22letfn*\x22,\x22letfn*\x22,-110097810,null),\x22null\x22,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),\x22null\x22,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),\x22null\x22,new cljs.core.Symbol(null,\x22deftype*\x22,\x22deftype*\x22,962659890,null),\x22null\x22,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),\x22null\x22,new cljs.core.Symbol(null,\x22js*\x22,\x22js*\x22,-1134233646,null),\x22null\x22,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),\x22null\x22,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),\x22null\x22,new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),\x22null\x22,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),\x22null\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22null\x22,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22null\x22,new cljs.core.Symbol(null,\x22catch\x22,\x22catch\x22,-1616370245,null),\x22null\x22,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22], null), null),x);\n});\n/**\n * test [v] - if var, finds fn at key :test in var metadata, if function, finds\n *   special test property. Calls it, presuming failure will throw exception.\n * \n *   Examples:\n * \n *   (test my-fn) ;; :ok\n *   (test #\x27my-fn) ;; :ok\n */\ncljs.core.test \x3d (function cljs$core$test(v){\nvar f \x3d (((v instanceof cljs.core.Var))?new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(v)):(function (){var G__28364 \x3d v;\nif((G__28364 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__28364.cljs$lang$test;\n}\n})());\nif(cljs.core.truth_(f)){\n(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n\nreturn new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236);\n} else {\nreturn new cljs.core.Keyword(null,\x22no-test\x22,\x22no-test\x22,-1679482642);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TaggedLiteral \x3d (function (tag,form){\nthis.tag \x3d tag;\nthis.form \x3d form;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775360;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.TaggedLiteral.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof cljs.core.TaggedLiteral)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.tag,other.tag)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.form,other.form)))));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((31) * cljs.core.hash(self__.tag)) + cljs.core.hash(self__.form));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,v,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar G__28365 \x3d v;\nvar G__28365__$1 \x3d (((G__28365 instanceof cljs.core.Keyword))?G__28365.fqn:null);\nswitch (G__28365__$1) {\ncase \x22tag\x22:\nreturn self__.tag;\n\nbreak;\ncase \x22form\x22:\nreturn self__.form;\n\nbreak;\ndefault:\nreturn not_found;\n\n}\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,opts){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\ncljs.core._write(writer,[\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.tag),\x22 \x22].join(\x27\x27));\n\nreturn cljs.core.pr_writer(self__.form,writer,opts);\n}));\n\n(cljs.core.TaggedLiteral.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(cljs.core.TaggedLiteral.cljs$lang$type \x3d true);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorStr \x3d \x22cljs.core/TaggedLiteral\x22);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TaggedLiteral\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TaggedLiteral.\n */\ncljs.core.__GT_TaggedLiteral \x3d (function cljs$core$__GT_TaggedLiteral(tag,form){\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n\n/**\n * Return true if the value is the data representation of a tagged literal\n */\ncljs.core.tagged_literal_QMARK_ \x3d (function cljs$core$tagged_literal_QMARK_(value){\nreturn (value instanceof cljs.core.TaggedLiteral);\n});\n/**\n * Construct a data representation of a tagged literal from a\n *   tag symbol and a form.\n */\ncljs.core.tagged_literal \x3d (function cljs$core$tagged_literal(tag,form){\nif((tag instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? tag)\x22));\n}\n\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n/**\n * @type {*}\n */\ncljs.core.js_reserved_arr \x3d [\x22arguments\x22,\x22abstract\x22,\x22await\x22,\x22boolean\x22,\x22break\x22,\x22byte\x22,\x22case\x22,\x22catch\x22,\x22char\x22,\x22class\x22,\x22const\x22,\x22continue\x22,\x22debugger\x22,\x22default\x22,\x22delete\x22,\x22do\x22,\x22double\x22,\x22else\x22,\x22enum\x22,\x22export\x22,\x22extends\x22,\x22final\x22,\x22finally\x22,\x22float\x22,\x22for\x22,\x22function\x22,\x22goto\x22,\x22if\x22,\x22implements\x22,\x22import\x22,\x22in\x22,\x22instanceof\x22,\x22int\x22,\x22interface\x22,\x22let\x22,\x22long\x22,\x22native\x22,\x22new\x22,\x22package\x22,\x22private\x22,\x22protected\x22,\x22public\x22,\x22return\x22,\x22short\x22,\x22static\x22,\x22super\x22,\x22switch\x22,\x22synchronized\x22,\x22this\x22,\x22throw\x22,\x22throws\x22,\x22transient\x22,\x22try\x22,\x22typeof\x22,\x22var\x22,\x22void\x22,\x22volatile\x22,\x22while\x22,\x22with\x22,\x22yield\x22,\x22methods\x22,\x22null\x22,\x22constructor\x22];\n/**\n * @type {null|Object}\n */\ncljs.core.js_reserved \x3d null;\ncljs.core.js_reserved_QMARK_ \x3d (function cljs$core$js_reserved_QMARK_(x){\nif((cljs.core.js_reserved \x3d\x3d null)){\n(cljs.core.js_reserved \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28366_SHARP_,p2__28367_SHARP_){\ncljs.core.goog$module$goog$object.set(p1__28366_SHARP_,p2__28367_SHARP_,true);\n\nreturn p1__28366_SHARP_;\n}),({}),cljs.core.js_reserved_arr));\n} else {\n}\n\nreturn cljs.core.js_reserved.hasOwnProperty(x);\n});\ncljs.core.demunge_pattern \x3d (function cljs$core$demunge_pattern(){\nif(cljs.core.truth_(cljs.core.DEMUNGE_PATTERN)){\n} else {\n(cljs.core.DEMUNGE_PATTERN \x3d (function (){var ks \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (a,b){\nreturn (b.length - a.length);\n}),cljs.core.js_keys(cljs.core.DEMUNGE_MAP));\nvar ks__$1 \x3d ks;\nvar ret \x3d \x22\x22;\nwhile(true){\nif(cljs.core.seq(ks__$1)){\nvar G__34724 \x3d cljs.core.next(ks__$1);\nvar G__34725 \x3d [(function (){var G__28371 \x3d ret;\nif((!((ret \x3d\x3d\x3d \x22\x22)))){\nreturn [G__28371,\x22|\x22].join(\x27\x27);\n} else {\nreturn G__28371;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(ks__$1))].join(\x27\x27);\nks__$1 \x3d G__34724;\nret \x3d G__34725;\ncontinue;\n} else {\nreturn [ret,\x22|\\\\$\x22].join(\x27\x27);\n}\nbreak;\n}\n})());\n}\n\nreturn cljs.core.DEMUNGE_PATTERN;\n});\ncljs.core.munge_str \x3d (function cljs$core$munge_str(name){\nvar sb \x3d (new goog.string.StringBuffer());\nvar i_34727 \x3d (0);\nwhile(true){\nif((i_34727 \x3c name.length)){\nvar c_34728 \x3d name.charAt(i_34727);\nvar sub_34729 \x3d cljs.core.goog$module$goog$object.get(cljs.core.CHAR_MAP,c_34728);\nif((!((sub_34729 \x3d\x3d null)))){\nsb.append(sub_34729);\n} else {\nsb.append(c_34728);\n}\n\nvar G__34731 \x3d (i_34727 + (1));\ni_34727 \x3d G__34731;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn sb.toString();\n});\ncljs.core.munge \x3d (function cljs$core$munge(name){\nvar name_SINGLEQUOTE_ \x3d cljs.core.munge_str(cljs.core.str.cljs$core$IFn$_invoke$arity$1(name));\nvar name_SINGLEQUOTE___$1 \x3d (((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22..\x22))?\x22_DOT__DOT_\x22:(cljs.core.truth_(cljs.core.js_reserved_QMARK_(name_SINGLEQUOTE_))?[name_SINGLEQUOTE_,\x22$\x22].join(\x27\x27):name_SINGLEQUOTE_\n));\nif((name instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(name_SINGLEQUOTE___$1);\n} else {\nreturn name_SINGLEQUOTE___$1;\n}\n});\ncljs.core.demunge_str \x3d (function cljs$core$demunge_str(munged_name){\nvar r \x3d (new RegExp(cljs.core.demunge_pattern(),\x22g\x22));\nvar munged_name__$1 \x3d (cljs.core.truth_(goog.string.endsWith(munged_name,\x22$\x22))?munged_name.substring((0),(munged_name.length - (1))):munged_name);\nvar ret \x3d \x22\x22;\nvar last_match_end \x3d (0);\nwhile(true){\nvar temp__5802__auto__ \x3d r.exec(munged_name__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar match \x3d temp__5802__auto__;\nvar vec__28375 \x3d match;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28375,(0),null);\nvar G__34739 \x3d [ret,cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,(r.lastIndex - x.length))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((x \x3d\x3d\x3d \x22$\x22))?\x22/\x22:cljs.core.goog$module$goog$object.get(cljs.core.DEMUNGE_MAP,x)))].join(\x27\x27);\nvar G__34740 \x3d r.lastIndex;\nret \x3d G__34739;\nlast_match_end \x3d G__34740;\ncontinue;\n} else {\nreturn [ret,cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,munged_name__$1.length))].join(\x27\x27);\n}\nbreak;\n}\n});\ncljs.core.demunge \x3d (function cljs$core$demunge(name){\nvar G__28379 \x3d (function (){var name_SINGLEQUOTE_ \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(name);\nif((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22_DOT__DOT_\x22)){\nreturn \x22..\x22;\n} else {\nreturn cljs.core.demunge_str(name_SINGLEQUOTE_);\n}\n})();\nvar fexpr__28378 \x3d (((name instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.str);\nreturn (fexpr__28378.cljs$core$IFn$_invoke$arity$1 ? fexpr__28378.cljs$core$IFn$_invoke$arity$1(G__28379) : fexpr__28378.call(null,G__28379));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.tapset !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core.tapset \x3d null;\n}\ncljs.core.maybe_init_tapset \x3d (function cljs$core$maybe_init_tapset(){\nif((cljs.core.tapset \x3d\x3d null)){\nreturn (cljs.core.tapset \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY));\n} else {\nreturn null;\n}\n});\n/**\n * Adds f, a fn of one argument, to the tap set. This function will be called with\n *   anything sent via tap\x3e. Remember f in order to remove-tap\n */\ncljs.core.add_tap \x3d (function cljs$core$add_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.conj,f);\n\nreturn null;\n});\n/**\n * Remove f from the tap set.\n */\ncljs.core.remove_tap \x3d (function cljs$core$remove_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.disj,f);\n\nreturn null;\n});\n/**\n * Sends x to any taps. Returns the result of *exec-tap-fn*, a Boolean value.\n */\ncljs.core.tap_GT_ \x3d (function cljs$core$tap_GT_(x){\ncljs.core.maybe_init_tapset();\n\nreturn cljs.core._STAR_exec_tap_fn_STAR_.call(null,(function (){\nvar seq__28380 \x3d cljs.core.seq(cljs.core.deref(cljs.core.tapset));\nvar chunk__28381 \x3d null;\nvar count__28382 \x3d (0);\nvar i__28383 \x3d (0);\nwhile(true){\nif((i__28383 \x3c count__28382)){\nvar tap \x3d chunk__28381.cljs$core$IIndexed$_nth$arity$2(null,i__28383);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e28386){if((e28386 instanceof Error)){\nvar ex_34758 \x3d e28386;\n} else {\nthrow e28386;\n\n}\n}\n\nvar G__34759 \x3d seq__28380;\nvar G__34760 \x3d chunk__28381;\nvar G__34761 \x3d count__28382;\nvar G__34762 \x3d (i__28383 + (1));\nseq__28380 \x3d G__34759;\nchunk__28381 \x3d G__34760;\ncount__28382 \x3d G__34761;\ni__28383 \x3d G__34762;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28380);\nif(temp__5804__auto__){\nvar seq__28380__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28380__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__28380__$1);\nvar G__34764 \x3d cljs.core.chunk_rest(seq__28380__$1);\nvar G__34765 \x3d c__5548__auto__;\nvar G__34766 \x3d cljs.core.count(c__5548__auto__);\nvar G__34767 \x3d (0);\nseq__28380 \x3d G__34764;\nchunk__28381 \x3d G__34765;\ncount__28382 \x3d G__34766;\ni__28383 \x3d G__34767;\ncontinue;\n} else {\nvar tap \x3d cljs.core.first(seq__28380__$1);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e28387){if((e28387 instanceof Error)){\nvar ex_34770 \x3d e28387;\n} else {\nthrow e28387;\n\n}\n}\n\nvar G__34772 \x3d cljs.core.next(seq__28380__$1);\nvar G__34773 \x3d null;\nvar G__34774 \x3d (0);\nvar G__34775 \x3d (0);\nseq__28380 \x3d G__34772;\nchunk__28381 \x3d G__34773;\ncount__28382 \x3d G__34774;\ni__28383 \x3d G__34775;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n});\n/**\n * m f \x3d\x3e {k (f v) ...}\n *   Given a map m and a function f of 1-argument, returns a new map where the keys of m\n *   are mapped to result of applying f to the corresponding values of m.\n */\ncljs.core.update_vals \x3d (function cljs$core$update_vals(m,f){\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,k,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(v) : f.call(null,v)));\n}),(((((!((m \x3d\x3d null))))?(((((m.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d m.cljs$core$IEditableCollection$))))?true:false):false))?cljs.core.transient$(m):cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY)),m)),cljs.core.meta(m));\n});\n/**\n * m f \x3d\x3e {(f k) v ...}\n *   Given a map m and a function f of 1-argument, returns a new map whose\n *   keys are the result of applying f to the keys of m, mapped to the\n *   corresponding values of m.\n *   f must return a unique key for each key of m, else the behavior is undefined.\n */\ncljs.core.update_keys \x3d (function cljs$core$update_keys(m,f){\nvar ret \x3d cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(k) : f.call(null,k)),v);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\nreturn cljs.core.with_meta(ret,cljs.core.meta(m));\n});\n/**\n * Bootstrap only.\n */\ncljs.core.ns_lookup \x3d (function cljs$core$ns_lookup(ns_obj,k){\nreturn (function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n});\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n*/\ncljs.core.Namespace \x3d (function (obj,name){\nthis.obj \x3d obj;\nthis.name \x3d name;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6291456;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Namespace.prototype.findInternedVar \x3d (function (sym){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar k \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nif(cljs.core.goog$module$goog$object.containsKey(self__.obj,k)){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nvar var_meta \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),this$], null);\nreturn (new cljs.core.Var(cljs.core.ns_lookup(self__.obj,k),var_sym,var_meta));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Namespace.prototype.getName \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Namespace.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name);\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Namespace)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.name,other.name);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash(self__.name);\n}));\n\n(cljs.core.Namespace.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null)], null);\n}));\n\n(cljs.core.Namespace.cljs$lang$type \x3d true);\n\n(cljs.core.Namespace.cljs$lang$ctorStr \x3d \x22cljs.core/Namespace\x22);\n\n(cljs.core.Namespace.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Namespace\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Namespace.\n */\ncljs.core.__GT_Namespace \x3d (function cljs$core$__GT_Namespace(obj,name){\nreturn (new cljs.core.Namespace(obj,name));\n});\n\n/**\n * Bootstrap only.\n * @type {*}\n */\ncljs.core.NS_CACHE \x3d null;\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj_STAR_ \x3d (function cljs$core$find_ns_obj_STAR_(ctxt,xs){\nwhile(true){\nif((ctxt \x3d\x3d null)){\nreturn null;\n} else {\nif((xs \x3d\x3d null)){\nreturn ctxt;\n} else {\nvar G__34794 \x3d cljs.core.goog$module$goog$object.get(ctxt,cljs.core.first(xs));\nvar G__34795 \x3d cljs.core.next(xs);\nctxt \x3d G__34794;\nxs \x3d G__34795;\ncontinue;\n\n}\n}\nbreak;\n}\n});\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj \x3d (function cljs$core$find_ns_obj(ns){\nvar munged_ns \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns));\nvar segs \x3d munged_ns.split(\x22.\x22);\nvar G__28389 \x3d cljs.core._STAR_target_STAR_;\nswitch (G__28389) {\ncase \x22nodejs\x22:\nif(COMPILED){\nreturn cljs.core.find_ns_obj_STAR_((function (){try{var ctxt \x3d eval(cljs.core.first(segs));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d ctxt;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.object_QMARK_(ctxt);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn ctxt;\n} else {\nreturn null;\n}\n}catch (e28390){if((e28390 instanceof ReferenceError)){\nvar e \x3d e28390;\nreturn null;\n} else {\nthrow e28390;\n\n}\n}})(),cljs.core.next(segs));\n} else {\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n}\n\nbreak;\ncase \x22default\x22:\ncase \x22webworker\x22:\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n\nbreak;\ndefault:\nthrow (new Error([\x22find-ns-obj not supported for target \x22,cljs.core._STAR_target_STAR_].join(\x27\x27)));\n\n}\n});\n/**\n * Returns a map of the intern mappings for the namespace.\n *   Bootstrap only.\n */\ncljs.core.ns_interns_STAR_ \x3d (function cljs$core$ns_interns_STAR_(sym){\nvar ns_obj \x3d cljs.core.find_ns_obj(sym);\nvar ns \x3d (new cljs.core.Namespace(ns_obj,sym));\nvar step \x3d (function cljs$core$ns_interns_STAR__$_step(ret,k){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.demunge(k));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,var_sym,(new cljs.core.Var((function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n}),cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym)),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns], null))));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(step,cljs.core.PersistentArrayMap.EMPTY,cljs.core.js_keys(ns_obj));\n});\n/**\n * Create a new namespace named by the symbol. Bootstrap only.\n */\ncljs.core.create_ns \x3d (function cljs$core$create_ns(var_args){\nvar G__28392 \x3d arguments.length;\nswitch (G__28392) {\ncase 1:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1 \x3d (function (sym){\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(sym,cljs.core.find_ns_obj(sym));\n}));\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,ns_obj){\nreturn (new cljs.core.Namespace(ns_obj,sym));\n}));\n\n(cljs.core.create_ns.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the namespace named by the symbol or nil if it doesn\x27t exist.\n *   Bootstrap only.\n */\ncljs.core.find_ns \x3d (function cljs$core$find_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the macros namespace named by the symbol or nil if it doesn\x27t exist.\n *   Bootstrap only.\n */\ncljs.core.find_macros_ns \x3d (function cljs$core$find_macros_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar ns_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns);\nvar ns__$1 \x3d (((!(goog.string.contains(ns_str,\x22$macros\x22))))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([ns_str,\x22$macros\x22].join(\x27\x27)):ns);\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns__$1);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns__$1);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns__$1,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns__$1,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the name of the namespace, a Namespace object.\n *   Bootstrap only.\n */\ncljs.core.ns_name \x3d (function cljs$core$ns_name(ns_obj){\nreturn ns_obj.name;\n});\n/**\n * Returns true x is a goog.Uri instance.\n */\ncljs.core.uri_QMARK_ \x3d (function cljs$core$uri_QMARK_(x){\nreturn (x instanceof goog.Uri);\n});\n/**\n * Returns true if num is NaN, else false\n */\ncljs.core.NaN_QMARK_ \x3d (function cljs$core$NaN_QMARK_(val){\nreturn isNaN(val);\n});\n/**\n * Construct message for parsing for non-string parsing error\n */\ncljs.core.parsing_err \x3d (function cljs$core$parsing_err(val){\nreturn [\x22Expected string, got: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((val \x3d\x3d null))?\x22nil\x22:goog.typeOf(val)))].join(\x27\x27);\n});\n/**\n * Parse string of decimal digits with optional leading -/+ and return an\n *   integer value, or nil if parse fails\n */\ncljs.core.parse_long \x3d (function cljs$core$parse_long(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar and__5023__auto__ \x3d cljs.core.re_matches(/[+-]?\\d+/,s);\nif(cljs.core.truth_(and__5023__auto__)){\nvar i \x3d parseInt(s);\nif((((i \x3c\x3d Number.MAX_SAFE_INTEGER)) \x26\x26 ((i \x3e\x3d Number.MIN_SAFE_INTEGER)))){\nreturn i;\n} else {\nreturn null;\n}\n} else {\nreturn and__5023__auto__;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse string with floating point components and return a floating point value,\n *   or nil if parse fails.\n *   Grammar: https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String-\n */\ncljs.core.parse_double \x3d (function cljs$core$parse_double(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?NaN[\\x00-\\x20]*/,s)){\nreturn NaN;\n} else {\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?(Infinity|((\\d+\\.?\\d*|\\.\\d+)([eE][+-]?\\d+)?)[dDfF]?)[\\x00-\\x20]*/,s)){\nreturn parseFloat(s);\n} else {\nreturn null;\n\n}\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.uuid_regex \x3d /^[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]$/;\n/**\n * Parse a string representing a UUID and return a UUID instance,\n *   or nil if parse fails.\n *   Grammar: https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#toString--\n */\ncljs.core.parse_uuid \x3d (function cljs$core$parse_uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(cljs.core.uuid_regex,s)){\nreturn cljs.core.uuid(s);\n} else {\nreturn null;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse strings \x22true\x22 or \x22false\x22 and return a boolean, or nil if invalid. Note that this explicitly\n *   excludes strings with different cases, or space characters.\n */\ncljs.core.parse_boolean \x3d (function cljs$core$parse_boolean(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar G__28393 \x3d s;\nswitch (G__28393) {\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ndefault:\nreturn null;\n\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.maybe_enable_print_BANG_ \x3d (function cljs$core$maybe_enable_print_BANG_(){\nif((typeof console !\x3d\x3d \x27undefined\x27)){\nreturn cljs.core.enable_console_print_BANG_();\n} else {\nif((((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nashorn\x22)) || ((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22graaljs\x22)))){\nvar system \x3d Java.type(\x22java.lang.System\x22);\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.out.println(s);\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.error.println(s);\n}));\n} else {\nreturn null;\n}\n}\n});\ncljs.core.maybe_enable_print_BANG_();\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_eval_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Runtime environments may provide a way to evaluate ClojureScript\n *   forms. Whatever function *eval* is bound to will be passed any forms which\n *   should be evaluated.\n */\ncljs.core._STAR_eval_STAR_ \x3d (function cljs$core$_STAR_eval_STAR_(_){\nthrow (new Error(\x22cljs.core/*eval* not bound\x22));\n});\n}\n/**\n * Evaluates the form data structure (not text!) and returns the result.\n *   Delegates to cljs.core/*eval*. Intended for use in self-hosted ClojureScript,\n *   which sets up an implementation of cljs.core/*eval* for that environment.\n */\ncljs.core.eval \x3d (function cljs$core$eval(form){\nreturn cljs.core._STAR_eval_STAR_.call(null,form);\n});\nif(COMPILED){\nif((\x22nodejs\x22 \x3d\x3d\x3d cljs.core._STAR_target_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n\nif((\x22window\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d window);\n} else {\nif((\x22self\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d self);\n} else {\nif((\x22global\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n}\n}\n} else {\n}\n\ncljs.core.enable_console_print_BANG_();\n");
SHADOW_ENV.evalLoad("devtools.defaults.js", true, "goog.provide(\x27devtools.defaults\x27);\ndevtools.defaults.known_features \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118),new cljs.core.Keyword(null,\x22hints\x22,\x22hints\x22,-991113151),new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601)], null);\n}),null));\ndevtools.defaults.default_features \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118)], null);\n}),null));\ndevtools.defaults.feature_groups \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),cljs.core.deref(devtools.defaults.known_features),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(devtools.defaults.default_features)], null);\n}),null));\ndevtools.defaults.config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22standalone-type-style\x22,\x22standalone-type-style\x22,601522528),new cljs.core.Keyword(null,\x22bypass-availability-checks\x22,\x22bypass-availability-checks\x22,1934691680),new cljs.core.Keyword(null,\x22max-number-body-items\x22,\x22max-number-body-items\x22,299914624),new cljs.core.Keyword(null,\x22symbol-style\x22,\x22symbol-style\x22,1022654848),new cljs.core.Keyword(null,\x22meta-reference-tag\x22,\x22meta-reference-tag\x22,914791936),new cljs.core.Keyword(null,\x22nil-style\x22,\x22nil-style\x22,-1505044832),new cljs.core.Keyword(null,\x22instance-custom-printing-tag\x22,\x22instance-custom-printing-tag\x22,-67034432),new cljs.core.Keyword(null,\x22type-header-background\x22,\x22type-header-background\x22,-810861696),new cljs.core.Keyword(null,\x22instance-value-separator\x22,\x22instance-value-separator\x22,658858944),new cljs.core.Keyword(null,\x22body-pre-handler\x22,\x22body-pre-handler\x22,1211926529),new cljs.core.Keyword(null,\x22initial-hierarchy-depth-budget\x22,\x22initial-hierarchy-depth-budget\x22,-482715807),new cljs.core.Keyword(null,\x22body-items-more-tag\x22,\x22body-items-more-tag\x22,867141569),new cljs.core.Keyword(null,\x22line-index-separator\x22,\x22line-index-separator\x22,-1735989246),new cljs.core.Keyword(null,\x22suppress-preload-install\x22,\x22suppress-preload-install\x22,1724845090),new cljs.core.Keyword(null,\x22new-line-string-replacer\x22,\x22new-line-string-replacer\x22,-753206206),new cljs.core.Keyword(null,\x22body-field-td3-style\x22,\x22body-field-td3-style\x22,53039394),new cljs.core.Keyword(null,\x22more-fields-symbol\x22,\x22more-fields-symbol\x22,720022882),new cljs.core.Keyword(null,\x22body-field-value-spacer\x22,\x22body-field-value-spacer\x22,1279911362),new cljs.core.Keyword(null,\x22meta-reference-style\x22,\x22meta-reference-style\x22,-1930118462),new cljs.core.Keyword(null,\x22protocol-background\x22,\x22protocol-background\x22,1111513794),new cljs.core.Keyword(null,\x22protocols-icon\x22,\x22protocols-icon\x22,-517302494),new cljs.core.Keyword(null,\x22standard-ol-no-margin-tag\x22,\x22standard-ol-no-margin-tag\x22,583023747),new cljs.core.Keyword(null,\x22symbol-tag\x22,\x22symbol-tag\x22,-100807517),new cljs.core.Keyword(null,\x22render-keywords\x22,\x22render-keywords\x22,1200455875),new cljs.core.Keyword(null,\x22fn-header-tag\x22,\x22fn-header-tag\x22,-1262068349),new cljs.core.Keyword(null,\x22keyword-tag\x22,\x22keyword-tag\x22,1587228387),new cljs.core.Keyword(null,\x22header-style\x22,\x22header-style\x22,-2122121341),new cljs.core.Keyword(null,\x22render-metas\x22,\x22render-metas\x22,1141294116),new cljs.core.Keyword(null,\x22fields-header-tag\x22,\x22fields-header-tag\x22,1339134308),new cljs.core.Keyword(null,\x22fn-args-style\x22,\x22fn-args-style\x22,-2141623900),new cljs.core.Keyword(null,\x22max-instance-custom-printing-level\x22,\x22max-instance-custom-printing-level\x22,1876300228),new cljs.core.Keyword(null,\x22expandable-inner-style\x22,\x22expandable-inner-style\x22,-1596774780),new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.Keyword(null,\x22fn-header-style\x22,\x22fn-header-style\x22,985447749),new cljs.core.Keyword(null,\x22body-items-more-label\x22,\x22body-items-more-label\x22,-1561152123),new cljs.core.Keyword(null,\x22fn-name-style\x22,\x22fn-name-style\x22,-573451611),new cljs.core.Keyword(null,\x22nil-tag\x22,\x22nil-tag\x22,-1587449115),new cljs.core.Keyword(null,\x22instance-header-style\x22,\x22instance-header-style\x22,-373071866),new cljs.core.Keyword(null,\x22float-tag\x22,\x22float-tag\x22,-390834106),new cljs.core.Keyword(null,\x22protocol-ns-name-tag\x22,\x22protocol-ns-name-tag\x22,1832081510),new cljs.core.Keyword(null,\x22fast-protocol-style\x22,\x22fast-protocol-style\x22,-1668076410),new cljs.core.Keyword(null,\x22protocol-method-arities-more-symbol\x22,\x22protocol-method-arities-more-symbol\x22,-477018522),new cljs.core.Keyword(null,\x22has-body-pre-handler\x22,\x22has-body-pre-handler\x22,1787020038),new cljs.core.Keyword(null,\x22index-tag\x22,\x22index-tag\x22,693492486),new cljs.core.Keyword(null,\x22rest-symbol\x22,\x22rest-symbol\x22,1021371174),new cljs.core.Keyword(null,\x22protocol-name-tag\x22,\x22protocol-name-tag\x22,1508238310),new cljs.core.Keyword(null,\x22float-infinity-tag\x22,\x22float-infinity-tag\x22,-289254297),new cljs.core.Keyword(null,\x22instance-header-background\x22,\x22instance-header-background\x22,1510357287),new cljs.core.Keyword(null,\x22body-tag\x22,\x22body-tag\x22,433527431),new cljs.core.Keyword(null,\x22cljs-land-tag\x22,\x22cljs-land-tag\x22,-7524377),new cljs.core.Keyword(null,\x22max-list-protocols\x22,\x22max-list-protocols\x22,-537135129),new cljs.core.Keyword(null,\x22string-abbreviation-marker\x22,\x22string-abbreviation-marker\x22,-347785112),new cljs.core.Keyword(null,\x22max-header-elements\x22,\x22max-header-elements\x22,713629864),new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),new cljs.core.Keyword(null,\x22instance-body-fields-table-tag\x22,\x22instance-body-fields-table-tag\x22,1306340776),new cljs.core.Keyword(null,\x22render-symbols\x22,\x22render-symbols\x22,-887705016),new cljs.core.Keyword(null,\x22protocol-method-name-style\x22,\x22protocol-method-name-style\x22,-718367832),new cljs.core.Keyword(null,\x22type-name-tag\x22,\x22type-name-tag\x22,-1317275511),new cljs.core.Keyword(null,\x22list-separator\x22,\x22list-separator\x22,900562185),new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22header-field-value-spacer\x22,\x22header-field-value-spacer\x22,-1210630679),new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22fast-protocol-tag\x22,\x22fast-protocol-tag\x22,2066025065),new cljs.core.Keyword(null,\x22render-strings\x22,\x22render-strings\x22,-1497177335),new cljs.core.Keyword(null,\x22standalone-type-tag\x22,\x22standalone-type-tag\x22,-1677164791),new cljs.core.Keyword(null,\x22protocol-ns-name-style\x22,\x22protocol-ns-name-style\x22,2075298601),new cljs.core.Keyword(null,\x22type-header-tag\x22,\x22type-header-tag\x22,1645372265),new cljs.core.Keyword(null,\x22cljs-land-style\x22,\x22cljs-land-style\x22,278325097),new cljs.core.Keyword(null,\x22lambda-icon\x22,\x22lambda-icon\x22,980753546),new cljs.core.Keyword(null,\x22list-style\x22,\x22list-style\x22,-809622358),new cljs.core.Keyword(null,\x22sanity-hint-min-length\x22,\x22sanity-hint-min-length\x22,104958154),new cljs.core.Keyword(null,\x22render-functions\x22,\x22render-functions\x22,1273333002),new cljs.core.Keyword(null,\x22fields-header-open-symbol\x22,\x22fields-header-open-symbol\x22,-26243798),new cljs.core.Keyword(null,\x22body-field-value-style\x22,\x22body-field-value-style\x22,752084266),new cljs.core.Keyword(null,\x22header-post-handler\x22,\x22header-post-handler\x22,514828618),new cljs.core.Keyword(null,\x22header-pre-handler\x22,\x22header-pre-handler\x22,-1997722262),new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.Keyword(null,\x22body-items-more-style\x22,\x22body-items-more-style\x22,1518949066),new cljs.core.Keyword(null,\x22plus-symbol\x22,\x22plus-symbol\x22,-1984915189),new cljs.core.Keyword(null,\x22fn-prefix-style\x22,\x22fn-prefix-style\x22,991677739),new cljs.core.Keyword(null,\x22args-open-symbol\x22,\x22args-open-symbol\x22,-1336957557),new cljs.core.Keyword(null,\x22expanded-string-style\x22,\x22expanded-string-style\x22,-543781397),new cljs.core.Keyword(null,\x22fn-name-tag\x22,\x22fn-name-tag\x22,555823755),new cljs.core.Keyword(null,\x22header-field-value-tag\x22,\x22header-field-value-tag\x22,-1708691701),new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955),new cljs.core.Keyword(null,\x22fields-icon\x22,\x22fields-icon\x22,-436030420),new cljs.core.Keyword(null,\x22body-style\x22,\x22body-style\x22,1462943820),new cljs.core.Keyword(null,\x22type-wrapper-tag\x22,\x22type-wrapper-tag\x22,-1732366004),new cljs.core.Keyword(null,\x22standard-li-tag\x22,\x22standard-li-tag\x22,-932749876),new cljs.core.Keyword(null,\x22type-wrapper-style\x22,\x22type-wrapper-style\x22,-922880468),new cljs.core.Keyword(null,\x22render-bools\x22,\x22render-bools\x22,1793659724),new cljs.core.Keyword(null,\x22dq\x22,\x22dq\x22,-1690275860),new cljs.core.Keyword(null,\x22fields-header-no-fields-symbol\x22,\x22fields-header-no-fields-symbol\x22,-1749204979),new cljs.core.Keyword(null,\x22nil-label\x22,\x22nil-label\x22,-587789203),new cljs.core.Keyword(null,\x22list-open-symbol\x22,\x22list-open-symbol\x22,-1162287443),new cljs.core.Keyword(null,\x22body-field-td2-style\x22,\x22body-field-td2-style\x22,-278192403),new cljs.core.Keyword(null,\x22type-header-style\x22,\x22type-header-style\x22,1821477837),new cljs.core.Keyword(null,\x22header-field-separator\x22,\x22header-field-separator\x22,-774444018),new cljs.core.Keyword(null,\x22body-field-td3-tag\x22,\x22body-field-td3-tag\x22,-803119922),new cljs.core.Keyword(null,\x22standard-ol-no-margin-style\x22,\x22standard-ol-no-margin-style\x22,-1701969586),new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-style\x22,\x22instance-custom-printing-wrapper-style\x22,374945134),new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242),new cljs.core.Keyword(null,\x22string-tag\x22,\x22string-tag\x22,1639024494),new cljs.core.Keyword(null,\x22meta-wrapper-tag\x22,\x22meta-wrapper-tag\x22,1927429038),new cljs.core.Keyword(null,\x22method-icon\x22,\x22method-icon\x22,-1678775281),new cljs.core.Keyword(null,\x22max-protocol-method-arities-list\x22,\x22max-protocol-method-arities-list\x22,-45936465),new cljs.core.Keyword(null,\x22min-expandable-sequable-count-for-well-known-types\x22,\x22min-expandable-sequable-count-for-well-known-types\x22,-1879576081),new cljs.core.Keyword(null,\x22basis-icon\x22,\x22basis-icon\x22,1917779567),new cljs.core.Keyword(null,\x22fn-args-tag\x22,\x22fn-args-tag\x22,549126831),new cljs.core.Keyword(null,\x22standard-ol-style\x22,\x22standard-ol-style\x22,2143825615),new cljs.core.Keyword(null,\x22file-reader\x22,\x22file-reader\x22,-450847664),new cljs.core.Keyword(null,\x22bool-tag\x22,\x22bool-tag\x22,-10409808),new cljs.core.Keyword(null,\x22expandable-inner-tag\x22,\x22expandable-inner-tag\x22,-799648560),new cljs.core.Keyword(null,\x22fn-prefix-tag\x22,\x22fn-prefix-tag\x22,1947411856),new cljs.core.Keyword(null,\x22float-style\x22,\x22float-style\x22,705926672),new cljs.core.Keyword(null,\x22type-basis-item-tag\x22,\x22type-basis-item-tag\x22,50612816),new cljs.core.Keyword(null,\x22type-basis-item-style\x22,\x22type-basis-item-style\x22,-1744400688),new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.Keyword(null,\x22fn-ns-name-tag\x22,\x22fn-ns-name-tag\x22,-900073712),new cljs.core.Keyword(null,\x22body-post-handler\x22,\x22body-post-handler\x22,-1040905424),new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935),new cljs.core.Keyword(null,\x22header-tag\x22,\x22header-tag\x22,1594852433),new cljs.core.Keyword(null,\x22body-field-name-tag\x22,\x22body-field-name-tag\x22,917867601),new cljs.core.Keyword(null,\x22expanded-string-tag\x22,\x22expanded-string-tag\x22,-2125162127),new cljs.core.Keyword(null,\x22bool-style\x22,\x22bool-style\x22,-1275737743),new cljs.core.Keyword(null,\x22default-envelope-style\x22,\x22default-envelope-style\x22,-1676750479),new cljs.core.Keyword(null,\x22protocol-more-tag\x22,\x22protocol-more-tag\x22,2098702865),new cljs.core.Keyword(null,\x22string-style\x22,\x22string-style\x22,744195825),new cljs.core.Keyword(null,\x22body-field-name-style\x22,\x22body-field-name-style\x22,1518272241),new cljs.core.Keyword(null,\x22meta-body-tag\x22,\x22meta-body-tag\x22,1689183121),new cljs.core.Keyword(null,\x22instance-custom-printing-background\x22,\x22instance-custom-printing-background\x22,-248433646),new cljs.core.Keyword(null,\x22integer-style\x22,\x22integer-style\x22,1568434578),new cljs.core.Keyword(null,\x22native-reference-background\x22,\x22native-reference-background\x22,-286129550),new cljs.core.Keyword(null,\x22header-field-name-style\x22,\x22header-field-name-style\x22,-804007278),new cljs.core.Keyword(null,\x22default-envelope-header\x22,\x22default-envelope-header\x22,-90723598),new cljs.core.Keyword(null,\x22instance-type-header-style\x22,\x22instance-type-header-style\x22,1601743858),new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.Keyword(null,\x22instance-custom-printing-style\x22,\x22instance-custom-printing-style\x22,-716263405),new cljs.core.Keyword(null,\x22float-nan-style\x22,\x22float-nan-style\x22,967384179),new cljs.core.Keyword(null,\x22float-nan-tag\x22,\x22float-nan-tag\x22,557403379),new cljs.core.Keyword(null,\x22min-expandable-sequable-count\x22,\x22min-expandable-sequable-count\x22,63566227),new cljs.core.Keyword(null,\x22fields-header-style\x22,\x22fields-header-style\x22,-25300493),new cljs.core.Keyword(null,\x22instance-type-header-tag\x22,\x22instance-type-header-tag\x22,-1015702989),new cljs.core.Keyword(null,\x22spacer\x22,\x22spacer\x22,2067425139),new cljs.core.Keyword(null,\x22body-field-td1-style\x22,\x22body-field-td1-style\x22,988760979),new cljs.core.Keyword(null,\x22body-field-tr-tag\x22,\x22body-field-tr-tag\x22,37280691),new cljs.core.Keyword(null,\x22dont-detect-custom-formatters\x22,\x22dont-detect-custom-formatters\x22,-29005804),new cljs.core.Keyword(null,\x22header-field-name-tag\x22,\x22header-field-name-tag\x22,82291956),new cljs.core.Keyword(null,\x22type-name-style\x22,\x22type-name-style\x22,652886356),new cljs.core.Keyword(null,\x22float-infinity-style\x22,\x22float-infinity-style\x22,-476570060),new cljs.core.Keyword(null,\x22standard-li-no-margin-tag\x22,\x22standard-li-no-margin-tag\x22,-844555468),new cljs.core.Keyword(null,\x22list-tag\x22,\x22list-tag\x22,1555796884),new cljs.core.Keyword(null,\x22instance-body-fields-table-style\x22,\x22instance-body-fields-table-style\x22,-1457745996),new cljs.core.Keyword(null,\x22body-field-td1-tag\x22,\x22body-field-td1-tag\x22,256357429),new cljs.core.Keyword(null,\x22disable-advanced-mode-check\x22,\x22disable-advanced-mode-check\x22,-968346539),new cljs.core.Keyword(null,\x22standard-li-no-margin-style\x22,\x22standard-li-no-margin-style\x22,87138485),new cljs.core.Keyword(null,\x22slow-protocol-style\x22,\x22slow-protocol-style\x22,-714284811),new cljs.core.Keyword(null,\x22render-types\x22,\x22render-types\x22,-129927851),new cljs.core.Keyword(null,\x22args-close-symbol\x22,\x22args-close-symbol\x22,777697973),new cljs.core.Keyword(null,\x22string-postfix-limit\x22,\x22string-postfix-limit\x22,-1282205963),new cljs.core.Keyword(null,\x22disable-cljs-fn-formatting\x22,\x22disable-cljs-fn-formatting\x22,1903786837),new cljs.core.Keyword(null,\x22item-style\x22,\x22item-style\x22,-188747722),new cljs.core.Keyword(null,\x22protocol-method-arities-list-header-separator\x22,\x22protocol-method-arities-list-header-separator\x22,-115158954),new cljs.core.Keyword(null,\x22protocol-method-tag\x22,\x22protocol-method-tag\x22,2032279830),new cljs.core.Keyword(null,\x22index-style\x22,\x22index-style\x22,93813430),new cljs.core.Keyword(null,\x22list-close-symbol\x22,\x22list-close-symbol\x22,-1120016586),new cljs.core.Keyword(null,\x22render-numbers\x22,\x22render-numbers\x22,-1385392009),new cljs.core.Keyword(null,\x22body-field-value-tag\x22,\x22body-field-value-tag\x22,800789079),new cljs.core.Keyword(null,\x22empty-basis-symbol\x22,\x22empty-basis-symbol\x22,-1971559593),new cljs.core.Keyword(null,\x22fn-icon\x22,\x22fn-icon\x22,-1412665288),new cljs.core.Keyword(null,\x22integer-tag\x22,\x22integer-tag\x22,698000472),new cljs.core.Keyword(null,\x22protocols-header-tag\x22,\x22protocols-header-tag\x22,-734413384),new cljs.core.Keyword(null,\x22protocol-method-name-tag\x22,\x22protocol-method-name-tag\x22,-1030376744),new cljs.core.Keyword(null,\x22item-tag\x22,\x22item-tag\x22,-988763304),new cljs.core.Keyword(null,\x22instance-value-tag\x22,\x22instance-value-tag\x22,-1739593896),new cljs.core.Keyword(null,\x22expandable-wrapper-style\x22,\x22expandable-wrapper-style\x22,-491294888),new cljs.core.Keyword(null,\x22expandable-style\x22,\x22expandable-style\x22,-501370920),new cljs.core.Keyword(null,\x22well-known-types\x22,\x22well-known-types\x22,70638649),new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-style\x22,\x22fn-multi-arity-args-indent-style\x22,-1170401159),new cljs.core.Keyword(null,\x22type-ref-style\x22,\x22type-ref-style\x22,-1940011911),new cljs.core.Keyword(null,\x22circular-ref-icon\x22,\x22circular-ref-icon\x22,-2087682919),new cljs.core.Keyword(null,\x22type-basis-style\x22,\x22type-basis-style\x22,-1272137383),new cljs.core.Keyword(null,\x22standard-ol-tag\x22,\x22standard-ol-tag\x22,1120081433),new cljs.core.Keyword(null,\x22fn-ns-name-style\x22,\x22fn-ns-name-style\x22,-21387751),new cljs.core.Keyword(null,\x22circular-reference-body-tag\x22,\x22circular-reference-body-tag\x22,-1301830023),new cljs.core.Keyword(null,\x22has-body-post-handler\x22,\x22has-body-post-handler\x22,-863451271),new cljs.core.Keyword(null,\x22native-reference-tag\x22,\x22native-reference-tag\x22,-1516119079),new cljs.core.Keyword(null,\x22aligned-li-tag\x22,\x22aligned-li-tag\x22,1727029722),new cljs.core.Keyword(null,\x22native-reference-wrapper-style\x22,\x22native-reference-wrapper-style\x22,578741818),new cljs.core.Keyword(null,\x22render-instances\x22,\x22render-instances\x22,-1803579686),new cljs.core.Keyword(null,\x22expandable-symbol\x22,\x22expandable-symbol\x22,1644611290),new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-tag\x22,\x22fn-multi-arity-args-indent-tag\x22,-1931373734),new cljs.core.Keyword(null,\x22expandable-tag\x22,\x22expandable-tag\x22,151027578),new cljs.core.Keyword(null,\x22protocol-method-arities-header-tag\x22,\x22protocol-method-arities-header-tag\x22,734407707),new cljs.core.Keyword(null,\x22max-instance-header-fields\x22,\x22max-instance-header-fields\x22,-126007269),new cljs.core.Keyword(null,\x22type-ref-tag\x22,\x22type-ref-tag\x22,2126727355),new cljs.core.Keyword(null,\x22max-print-level\x22,\x22max-print-level\x22,-462237413),new cljs.core.Keyword(null,\x22meta-wrapper-style\x22,\x22meta-wrapper-style\x22,-1627075237),new cljs.core.Keyword(null,\x22multi-arity-symbol\x22,\x22multi-arity-symbol\x22,-420139653),new cljs.core.Keyword(null,\x22render-nils\x22,\x22render-nils\x22,1360008699),new cljs.core.Keyword(null,\x22meta-header-tag\x22,\x22meta-header-tag\x22,-1207812581),new cljs.core.Keyword(null,\x22print-config-overrides\x22,\x22print-config-overrides\x22,-274716965),new cljs.core.Keyword(null,\x22slow-protocol-tag\x22,\x22slow-protocol-tag\x22,2061129467),new cljs.core.Keyword(null,\x22header-field-tag\x22,\x22header-field-tag\x22,-1403476101),new cljs.core.Keyword(null,\x22meta-body-style\x22,\x22meta-body-style\x22,-1858094980),new cljs.core.Keyword(null,\x22native-reference-wrapper-tag\x22,\x22native-reference-wrapper-tag\x22,2047690940),new cljs.core.Keyword(null,\x22fields-header-close-symbol\x22,\x22fields-header-close-symbol\x22,1615181116),new cljs.core.Keyword(null,\x22string-prefix-limit\x22,\x22string-prefix-limit\x22,1256106332),new cljs.core.Keyword(null,\x22native-reference-style\x22,\x22native-reference-style\x22,-1773393444),new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-tag\x22,\x22instance-custom-printing-wrapper-tag\x22,1461890684),new cljs.core.Keyword(null,\x22body-field-td2-tag\x22,\x22body-field-td2-tag\x22,94501500),new cljs.core.Keyword(null,\x22type-basis-tag\x22,\x22type-basis-tag\x22,-2122159204),new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261),new cljs.core.Keyword(null,\x22aligned-li-style\x22,\x22aligned-li-style\x22,43721341),new cljs.core.Keyword(null,\x22default-envelope-tag\x22,\x22default-envelope-tag\x22,1882840861),new cljs.core.Keyword(null,\x22protocol-more-style\x22,\x22protocol-more-style\x22,-870041570),new cljs.core.Keyword(null,\x22instance-header-tag\x22,\x22instance-header-tag\x22,903623870),new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.Keyword(null,\x22protocol-name-style\x22,\x22protocol-name-style\x22,-1291847714),new cljs.core.Keyword(null,\x22body-line-max-print-level\x22,\x22body-line-max-print-level\x22,571158623),new cljs.core.Keyword(null,\x22circular-reference-tag\x22,\x22circular-reference-tag\x22,858973471),new cljs.core.Keyword(null,\x22keyword-style\x22,\x22keyword-style\x22,-780643937),new cljs.core.Keyword(null,\x22header-expander-symbol\x22,\x22header-expander-symbol\x22,907531743),new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-style\x22,\x22meta-style\x22,1528213407)],[\x22box-shadow:0px 0px 0px 1px rgba(0,160,220,0.5) inset;margin-top:1px;border-radius:2px;\x22,false,(100),\x22color:rgba(0,0,0,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-reference-style\x22,\x22meta-reference-style\x22,-1930118462)], null),\x22color:rgba(128,128,128,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-custom-printing-style\x22,\x22instance-custom-printing-style\x22,-716263405)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(0,160,220,0.5);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;\x22], null)], null),\x22\x22,null,((20) - (1)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-items-more-style\x22,\x22body-items-more-style\x22,1518949066)], null),\x22\x22,false,\x22\\u21B5\x22,\x22vertical-align:top;padding:0;\x22,\x22\\u2026\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22color:rgba(204,204,204,1);\x22], null),\x22\x3d\x22], null),\x22background-color:rgba(255,102,0,1);border-radius:0 2px 2px 0;\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(41,59,163,0.5);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(41,59,163,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u22A2\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.Keyword(null,\x22standard-ol-no-margin-style\x22,\x22standard-ol-no-margin-style\x22,-1701969586)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22symbol-style\x22,\x22symbol-style\x22,1022654848)], null),true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-header-style\x22,\x22fn-header-style\x22,985447749)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22keyword-style\x22,\x22keyword-style\x22,-780643937)], null),\x22white-space:nowrap;\x22,true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fields-header-style\x22,\x22fields-header-style\x22,-25300493)], null),\x22color:rgba(170,130,20,1);\x22,(2),\x22margin-left:-3px;\x22,\x22table\x22,null,\x22more\\u2026\x22,\x22color:rgba(30,130,30,1);margin-right:2px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22nil-style\x22,\x22nil-style\x22,-1505044832)], null),\x22box-shadow:0px 0px 0px 1px rgba(0,160,220,0.5) inset;margin-top:1px;border-radius:2px;position:relative;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22float-style\x22,\x22float-style\x22,705926672)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-ns-name-style\x22,\x22protocol-ns-name-style\x22,2075298601)], null),\x22position:relative;padding:0px 4px;border-radius:2px;user-select:none;color:rgba(255,255,170,1);\x22,\x22\\u2026\x22,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22index-style\x22,\x22index-style\x22,93813430)], null),\x22 \x26 \x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-name-style\x22,\x22protocol-name-style\x22,-1291847714)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22float-infinity-style\x22,\x22float-infinity-style\x22,-476570060)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-style\x22,\x22body-style\x22,1462943820)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22cljs-land-style\x22,\x22cljs-land-style\x22,278325097)], null),(5),\x22 \\u2026 \x22,(5),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,0,255,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22js\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.Keyword(null,\x22instance-body-fields-table-style\x22,\x22instance-body-fields-table-style\x22,-1457745996)], null),true,\x22margin-right:6px;color:rgba(41,59,163,1) ;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-name-style\x22,\x22type-name-style\x22,652886356)], null),\x22 \x22,\x22td\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22color:rgba(204,204,204,1);\x22], null),\x22\x3d\x22], null),\x22li\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fast-protocol-style\x22,\x22fast-protocol-style\x22,-1668076410)], null),true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22standalone-type-style\x22,\x22standalone-type-style\x22,601522528)], null),\x22color:rgba(150,150,150,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-header-style\x22,\x22type-header-style\x22,1821477837)], null),\x22background-color:rgba(100,255,100,0.08);color:rgba(0,0,0,1);border-radius:2px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(30,130,30,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u03BB\x22], null),null,(128),true,\x22\x22,\x22margin-left:6px;\x22,null,null,\x22tr\x22,\x22background-color:rgba(153,153,153,1);min-width:50px;display:inline-block;color:rgba(255,255,255,1);cursor:pointer;line-height:14px;font-size:10px;border-radius:2px;padding:0px 4px 0px 4px;margin:1px 0px 0px 0px;user-select:none;\x22,\x22+\x22,null,\x22[\x22,\x22padding:0px 12px 0px 12px;color:rgba(196,26,22,1);white-space:pre;border-top:1px solid rgba(255,100,100,0.4);border-radius:1px;margin:0px 0px 2px 0px;background-color:rgba(255,100,100,0.08);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-name-style\x22,\x22fn-name-style\x22,-573451611)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-value-style\x22,\x22header-field-value-style\x22,-980761419)], null),\x22margin-left:0px;min-height:14px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(0,160,220,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u220B\x22], null),\x22display:inline-block;padding:3px 12px;border-top:2px solid rgba(60,90,60,0.1);margin:1px;margin-top:0px;background-color:rgba(100,255,100,0.08);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-wrapper-style\x22,\x22type-wrapper-style\x22,-922880468)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955)], null),\x22position:relative;padding-left:1px;border-radius:2px;\x22,true,\x22\\\x22\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-name-style\x22,\x22header-field-name-style\x22,-804007278)], null),\x22\\u2205\x22], null),\x22nil\x22,\x22\x22,\x22vertical-align:top;padding:0;\x22,\x22color:rgba(238,238,355,1);padding:0px 2px 0px 2px;user-select:none;border-radius:2px;\x22,\x22 \x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22body-field-td3-style\x22,\x22body-field-td3-style\x22,53039394)], null),\x22list-style-type:none;padding-left:0px;margin-top:0px;margin-bottom:0px;margin-left:0px;\x22,\x22position:relative;border-radius:2px;\x22,\x22\\u2026\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22string-style\x22,\x22string-style\x22,744195825)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-wrapper-style\x22,\x22meta-wrapper-style\x22,-1627075237)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(41,59,163,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22m\x22], null),(3),(4),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(0,160,220,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u03B2\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-args-style\x22,\x22fn-args-style\x22,-2141623900)], null),\x22list-style-type:none;padding-left:0px;margin-top:0px;margin-bottom:0px;margin-left:0px;\x22,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22bool-style\x22,\x22bool-style\x22,-1275737743)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22expandable-inner-style\x22,\x22expandable-inner-style\x22,-1596774780)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-prefix-style\x22,\x22fn-prefix-style\x22,991677739)], null),\x22color:rgba(28,136,207,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-basis-item-style\x22,\x22type-basis-item-style\x22,-1744400688)], null),\x22color:rgba(0,160,220,1);margin-right:6px;\x22,\x22div\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-ns-name-style\x22,\x22fn-ns-name-style\x22,-21387751)], null),null,\x22\\u2026\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-style\x22,\x22header-style\x22,-2122121341)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-field-name-style\x22,\x22body-field-name-style\x22,1518272241)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22expanded-string-style\x22,\x22expanded-string-style\x22,-543781397)], null),\x22color:rgba(0,153,153,1);\x22,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-more-style\x22,\x22protocol-more-style\x22,-870041570)], null),\x22color:rgba(196,26,22,1);\x22,\x22color:rgba(0,160,220,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-body-style\x22,\x22meta-body-style\x22,-1858094980)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,255,200,1);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;border-radius:0 1px 1px 0;\x22], null)], null),\x22color:rgba(28,0,207,1);\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,255,255,1);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;\x22], null)], null),\x22color:rgba(0,160,220,1);\x22,\x22\\uD83D\\uDCE8\x22,\x22color:rgba(238,238,355,1);padding:0px 2px 0px 2px;user-select:none;border-radius:2px 0 0 2px;\x22,\x22ol\x22,\x22position:relative;padding:0 2px 0 4px;\x22,\x22color:rgba(213,60,27,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22float-nan-style\x22,\x22float-nan-style\x22,967384179)], null),(0),\x22padding:0px 3px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-type-header-style\x22,\x22instance-type-header-style\x22,1601743858)], null),\x22 \x22,\x22vertical-align:top;padding:0;padding-right:4px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.Keyword(null,\x22body-field-tr-style\x22,\x22body-field-tr-style\x22,1067836596)], null),true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-name-style\x22,\x22header-field-name-style\x22,-804007278)], null),\x22padding-right:4px;\x22,\x22color:rgba(28,80,207,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22standard-li-no-margin-style\x22,\x22standard-li-no-margin-style\x22,87138485)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22list-style\x22,\x22list-style\x22,-809622358)], null),\x22border-spacing:0;border-collapse:collapse;margin-bottom:-2px;display:inline-block;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22body-field-td1-style\x22,\x22body-field-td1-style\x22,988760979)], null),false,\x22margin-left:0px;min-height:14px;\x22,\x22position:relative;padding:0px 4px;border-radius:2px;user-select:none;color:rgba(238,238,238,1);\x22,true,\x22]\x22,(20),false,\x22display:inline-block;white-space:nowrap;border-left:2px solid rgba(100,100,100,0.2);padding:0px 4px 0px 4px;margin:1px 0px 0px 0px;\x22,\x22 \x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-method-style\x22,\x22protocol-method-style\x22,-1740943941)], null),\x22min-width:50px;display:inline-block;text-align:right;vertical-align:top;background-color:rgba(221,221,221,1);color:rgba(0,0,0,1);opacity:0.5;margin-right:3px;padding:0px 4px 0px 4px;margin:1px 0px 0px 0px;user-select:none;\x22,\x22\x22,true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-field-value-style\x22,\x22body-field-value-style\x22,752084266)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),null], null),new cljs.core.Keyword(null,\x22basis-icon\x22,\x22basis-icon\x22,1917779567),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-basis-item-style\x22,\x22type-basis-item-style\x22,-1744400688)], null),\x22\\u2205\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(30,130,30,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22fn\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22integer-style\x22,\x22integer-style\x22,1568434578)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocols-header-style\x22,\x22protocols-header-style\x22,22379790)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-method-name-style\x22,\x22protocol-method-name-style\x22,-718367832)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22item-style\x22,\x22item-style\x22,-188747722)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-value-style\x22,\x22instance-value-style\x22,1340189507)], null),null,\x22white-space:nowrap;padding-left:3px;\x22,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 36, [\x22cljs.core/ValSeq\x22,null,\x22cljs.core/ArrayNodeSeq\x22,null,\x22cljs.core/Cons\x22,null,\x22cljs.core/ES6IteratorSeq\x22,null,\x22cljs.core/IntegerRange\x22,null,\x22cljs.core/List\x22,null,\x22cljs.core/PersistentArrayMapSeq\x22,null,\x22cljs.core/Symbol\x22,null,\x22cljs.core/PersistentHashMap\x22,null,\x22cljs.core/Subvec\x22,null,\x22cljs.core/EmptyList\x22,null,\x22cljs.core/BlackNode\x22,null,\x22cljs.core/PersistentArrayMap\x22,null,\x22cljs.core/LazyTransformer\x22,null,\x22cljs.core/PersistentTreeMapSeq\x22,null,\x22cljs.core/MapEntry\x22,null,\x22cljs.core/PersistentQueueSeq\x22,null,\x22cljs.core/Keyword\x22,null,\x22cljs.core/Range\x22,null,\x22cljs.core/UUID\x22,null,\x22cljs.core/IndexedSeq\x22,null,\x22cljs.core/KeySeq\x22,null,\x22cljs.core/RSeq\x22,null,\x22cljs.core/ObjMap\x22,null,\x22cljs.core/PersistentVector\x22,null,\x22cljs.core/PersistentTreeSet\x22,null,\x22cljs.core/Eduction\x22,null,\x22cljs.core/NodeSeq\x22,null,\x22cljs.core/RedNode\x22,null,\x22cljs.core/ExceptionInfo\x22,null,\x22cljs.core/PersistentHashSet\x22,null,\x22cljs.core/PersistentTreeMap\x22,null,\x22cljs.core/LazySeq\x22,null,\x22cljs.core/ChunkedSeq\x22,null,\x22cljs.core/ChunkedCons\x22,null,\x22cljs.core/TaggedLiteral\x22,null], null), null),\x22visibility:hidden;\x22,\x22position:relative;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,0,0,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:0px 4px;top:2px;\x22], null),\x22\\u221E\x22], null),\x22margin-right:3px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.Keyword(null,\x22standard-ol-style\x22,\x22standard-ol-style\x22,2143825615)], null),\x22color:rgba(150,150,150,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22circular-reference-body-style\x22,\x22circular-reference-body-style\x22,314341165)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22native-reference-style\x22,\x22native-reference-style\x22,-1773393444)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22aligned-li-style\x22,\x22aligned-li-style\x22,43721341)], null),\x22position:relative;display:inline-flex;\x22,true,\x22\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-style\x22,\x22fn-multi-arity-args-indent-style\x22,-1170401159)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22expandable-style\x22,\x22expandable-style\x22,-501370920)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-method-arities-header-style\x22,\x22protocol-method-arities-header-style\x22,-2088352156)], null),(3),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-ref-style\x22,\x22type-ref-style\x22,-1940011911)], null),(2),\x22box-shadow:0px 0px 0px 1px rgba(255,102,0,1) inset;margin-top:1px;border-radius:2px;\x22,\x22\\u2026\x22,true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-style\x22,\x22meta-style\x22,1528213407)], null),false,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22slow-protocol-style\x22,\x22slow-protocol-style\x22,-714284811)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-style\x22,\x22header-field-style\x22,-1193742102)], null),\x22background-color:rgba(255,102,0,0.1);box-shadow:0px 0px 0px 1px rgba(255,102,0,1) inset;position:relative;top:-1px;padding:3px 12px;border-bottom-right-radius:2px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22native-reference-wrapper-style\x22,\x22native-reference-wrapper-style\x22,578741818)], null),\x22\x22,(20),\x22padding:0px 3px;margin:-4px 0px -2px;position:relative;top:1px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-style\x22,\x22instance-custom-printing-wrapper-style\x22,374945134)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22body-field-td2-style\x22,\x22body-field-td2-style\x22,-278192403)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-basis-style\x22,\x22type-basis-style\x22,-1272137383)], null),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),\x22margin-left:0px;min-height:14px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22default-envelope-style\x22,\x22default-envelope-style\x22,-1676750479)], null),\x22font-size:8px;position:relative;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-header-style\x22,\x22instance-header-style\x22,-373071866)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(150,150,150,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22in\x22], null),\x22position:relative;\x22,(3),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22circular-reference-wrapper-style\x22,\x22circular-reference-wrapper-style\x22,-329208502)], null),\x22color:rgba(136,19,145,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),null], null),\x22~\x22], null),\x22span\x22,\x22color:rgba(238,238,238,1);padding:0px 3px;user-select:none;\x22]);\n}),null));\ndevtools.defaults.firefox_overrides_config \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22native-reference-wrapper-style\x22,\x22native-reference-wrapper-style\x22,578741818),\x22line-height:0;margin-top:-1px;\x22,new cljs.core.Keyword(null,\x22symbol-style\x22,\x22symbol-style\x22,1022654848),\x22overflow:initial;\x22,new cljs.core.Keyword(null,\x22fn-header-style\x22,\x22fn-header-style\x22,985447749),\x22display:inline-flex;align-items:center;\x22,new cljs.core.Keyword(null,\x22type-ref-style\x22,\x22type-ref-style\x22,-1940011911),\x22background-color:rgba(0,160,220,1);border-radius:0 2px 2px 0;\x22,new cljs.core.Keyword(null,\x22native-reference-style\x22,\x22native-reference-style\x22,-1773393444),\x22padding:0px 3px;position:relative;top:1px;\x22,new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955),\x22margin-left:0px;display:flex;align-items:start;\x22,new cljs.core.Keyword(null,\x22standard-li-no-margin-style\x22,\x22standard-li-no-margin-style\x22,87138485),\x22margin-left:0px;display:flex;align-items:start;\x22,new cljs.core.Keyword(null,\x22aligned-li-style\x22,\x22aligned-li-style\x22,43721341),\x22margin-left:0px;display:flex;align-items:start;\x22], null);\n}),null));\n");
SHADOW_ENV.evalLoad("devtools.prefs.js", true, "goog.provide(\x27devtools.prefs\x27);\ngoog.scope(function(){\n  devtools.prefs.goog$module$goog$labs$userAgent$browser \x3d goog.module.get(\x27goog.labs.userAgent.browser\x27);\n});\ndevtools.prefs.default_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.deref(devtools.defaults.config);\n}),null));\ndevtools.prefs.firefox_overrides_config \x3d (new cljs.core.Delay((function (){\nif(cljs.core.truth_(devtools.prefs.goog$module$goog$labs$userAgent$browser.isFirefox())){\nreturn cljs.core.deref(devtools.defaults.firefox_overrides_config);\n} else {\nreturn null;\n}\n}),null));\ndevtools.prefs.external_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}),null));\ndevtools.prefs.initial_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.deref(devtools.prefs.default_config),cljs.core.deref(devtools.prefs.firefox_overrides_config),cljs.core.deref(devtools.prefs.external_config)], 0));\n}),null));\ndevtools.prefs._STAR_current_config_STAR_ \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.deref(devtools.prefs.initial_config);\n}),null));\ndevtools.prefs.set_prefs_BANG_ \x3d (function devtools$prefs$set_prefs_BANG_(new_prefs){\nreturn (devtools.prefs._STAR_current_config_STAR_ \x3d new_prefs);\n});\ndevtools.prefs.get_prefs \x3d (function devtools$prefs$get_prefs(){\nif(cljs.core.delay_QMARK_(devtools.prefs._STAR_current_config_STAR_)){\ndevtools.prefs.set_prefs_BANG_(cljs.core.deref(devtools.prefs._STAR_current_config_STAR_));\n} else {\n}\n\nreturn devtools.prefs._STAR_current_config_STAR_;\n});\ndevtools.prefs.pref \x3d (function devtools$prefs$pref(key){\nvar G__29629 \x3d devtools.prefs.get_prefs();\nreturn (key.cljs$core$IFn$_invoke$arity$1 ? key.cljs$core$IFn$_invoke$arity$1(G__29629) : key.call(null,G__29629));\n});\ndevtools.prefs.set_pref_BANG_ \x3d (function devtools$prefs$set_pref_BANG_(key,val){\nreturn devtools.prefs.set_prefs_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(devtools.prefs.get_prefs(),key,val));\n});\ndevtools.prefs.merge_prefs_BANG_ \x3d (function devtools$prefs$merge_prefs_BANG_(m){\nreturn devtools.prefs.set_prefs_BANG_(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.prefs.get_prefs(),m], 0)));\n});\ndevtools.prefs.update_pref_BANG_ \x3d (function devtools$prefs$update_pref_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29687 \x3d arguments.length;\nvar i__5750__auto___29688 \x3d (0);\nwhile(true){\nif((i__5750__auto___29688 \x3c len__5749__auto___29687)){\nargs__5755__auto__.push((arguments[i__5750__auto___29688]));\n\nvar G__29689 \x3d (i__5750__auto___29688 + (1));\ni__5750__auto___29688 \x3d G__29689;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.prefs.update_pref_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.prefs.update_pref_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (key,f,args){\nvar new_val \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,devtools.prefs.pref(key),args);\nreturn devtools.prefs.set_pref_BANG_(key,new_val);\n}));\n\n(devtools.prefs.update_pref_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.prefs.update_pref_BANG_.cljs$lang$applyTo \x3d (function (seq29646){\nvar G__29647 \x3d cljs.core.first(seq29646);\nvar seq29646__$1 \x3d cljs.core.next(seq29646);\nvar G__29648 \x3d cljs.core.first(seq29646__$1);\nvar seq29646__$2 \x3d cljs.core.next(seq29646__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29647,G__29648,seq29646__$2);\n}));\n\n");
SHADOW_ENV.evalLoad("devtools.context.js", true, "goog.provide(\x27devtools.context\x27);\ndevtools.context.get_root \x3d (function devtools$context$get_root(){\nreturn goog.global;\n});\ndevtools.context.get_console \x3d (function devtools$context$get_console(){\nreturn devtools.context.get_root.call(null).console;\n});\n");
SHADOW_ENV.evalLoad("clojure.string.js", true, "goog.provide(\x27clojure.string\x27);\nclojure.string.seq_reverse \x3d (function clojure$string$seq_reverse(coll){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n});\nclojure.string.re_surrogate_pair \x3d (new RegExp(\x22([\\\\uD800-\\\\uDBFF])([\\\\uDC00-\\\\uDFFF])\x22,\x22g\x22));\n/**\n * Returns s with its characters reversed.\n */\nclojure.string.reverse \x3d (function clojure$string$reverse(s){\nreturn s.replace(clojure.string.re_surrogate_pair,\x22$2$1\x22).split(\x22\x22).reverse().join(\x22\x22);\n});\nclojure.string.replace_all \x3d (function clojure$string$replace_all(s,re,replacement){\nvar r \x3d (new RegExp(re.source,(function (){var G__28406 \x3d \x22g\x22;\nvar G__28406__$1 \x3d (cljs.core.truth_(re.ignoreCase)?[G__28406,\x22i\x22].join(\x27\x27):G__28406);\nvar G__28406__$2 \x3d (cljs.core.truth_(re.multiline)?[G__28406__$1,\x22m\x22].join(\x27\x27):G__28406__$1);\nif(cljs.core.truth_(re.unicode)){\nreturn [G__28406__$2,\x22u\x22].join(\x27\x27);\n} else {\nreturn G__28406__$2;\n}\n})()));\nreturn s.replace(r,replacement);\n});\nclojure.string.replace_with \x3d (function clojure$string$replace_with(f){\nreturn (function() { \nvar G__28590__delegate \x3d function (args){\nvar matches \x3d cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((2),args);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(matches),(1))){\nvar G__28416 \x3d cljs.core.first(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__28416) : f.call(null,G__28416));\n} else {\nvar G__28417 \x3d cljs.core.vec(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__28417) : f.call(null,G__28417));\n}\n};\nvar G__28590 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28598__i \x3d 0, G__28598__a \x3d new Array(arguments.length -  0);\nwhile (G__28598__i \x3c G__28598__a.length) {G__28598__a[G__28598__i] \x3d arguments[G__28598__i + 0]; ++G__28598__i;}\n  args \x3d new cljs.core.IndexedSeq(G__28598__a,0,null);\n} \nreturn G__28590__delegate.call(this,args);};\nG__28590.cljs$lang$maxFixedArity \x3d 0;\nG__28590.cljs$lang$applyTo \x3d (function (arglist__28601){\nvar args \x3d cljs.core.seq(arglist__28601);\nreturn G__28590__delegate(args);\n});\nG__28590.cljs$core$IFn$_invoke$arity$variadic \x3d G__28590__delegate;\nreturn G__28590;\n})()\n;\n});\n/**\n * Replaces all instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace-first.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace \x22Almost Pig Latin\x22 #\x22\\b(\\w)(\\w+)\\b\x22 \x22$2$1ay\x22)\n * -\x3e \x22lmostAay igPay atinLay\x22\n */\nclojure.string.replace \x3d (function clojure$string$replace(s,match,replacement){\nif(typeof match \x3d\x3d\x3d \x27string\x27){\nreturn s.replace((new RegExp(goog.string.regExpEscape(match),\x22g\x22)),replacement);\n} else {\nif((match instanceof RegExp)){\nif(typeof replacement \x3d\x3d\x3d \x27string\x27){\nreturn clojure.string.replace_all(s,match,replacement);\n} else {\nreturn clojure.string.replace_all(s,match,clojure.string.replace_with(replacement));\n}\n} else {\nthrow [\x22Invalid match arg: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(match)].join(\x27\x27);\n\n}\n}\n});\n/**\n * Replaces the first instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace-first \x22swap first two words\x22\n *                               #\x22(\\w+)(\\s+)(\\w+)\x22 \x22$3$2$1\x22)\n * -\x3e \x22first swap two words\x22\n */\nclojure.string.replace_first \x3d (function clojure$string$replace_first(s,match,replacement){\nreturn s.replace(match,replacement);\n});\n/**\n * Returns a string of all elements in coll, as returned by (seq coll),\n *   separated by an optional separator.\n */\nclojure.string.join \x3d (function clojure$string$join(var_args){\nvar G__28434 \x3d arguments.length;\nswitch (G__28434) {\ncase 1:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__28624 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\nvar G__28625 \x3d cljs.core.next(coll__$1);\nsb \x3d G__28624;\ncoll__$1 \x3d G__28625;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (separator,coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nsb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\n\nvar coll__$2 \x3d cljs.core.next(coll__$1);\nif((coll__$2 \x3d\x3d null)){\n} else {\nsb.append(separator);\n}\n\nvar G__28633 \x3d sb;\nvar G__28634 \x3d coll__$2;\nsb \x3d G__28633;\ncoll__$1 \x3d G__28634;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Converts string to all upper-case.\n */\nclojure.string.upper_case \x3d (function clojure$string$upper_case(s){\nreturn s.toUpperCase();\n});\n/**\n * Converts string to all lower-case.\n */\nclojure.string.lower_case \x3d (function clojure$string$lower_case(s){\nreturn s.toLowerCase();\n});\n/**\n * Converts first character of the string to upper-case, all other\n *   characters to lower-case.\n */\nclojure.string.capitalize \x3d (function clojure$string$capitalize(s){\nreturn goog.string.capitalize(s);\n});\nclojure.string.pop_last_while_empty \x3d (function clojure$string$pop_last_while_empty(v){\nvar v__$1 \x3d v;\nwhile(true){\nif((\x22\x22 \x3d\x3d\x3d cljs.core.peek(v__$1))){\nvar G__28643 \x3d cljs.core.pop(v__$1);\nv__$1 \x3d G__28643;\ncontinue;\n} else {\nreturn v__$1;\n}\nbreak;\n}\n});\nclojure.string.discard_trailing_if_needed \x3d (function clojure$string$discard_trailing_if_needed(limit,v){\nif(((((0) \x3d\x3d\x3d limit)) \x26\x26 (((1) \x3c cljs.core.count(v))))){\nreturn clojure.string.pop_last_while_empty(v);\n} else {\nreturn v;\n}\n});\nclojure.string.split_with_empty_regex \x3d (function clojure$string$split_with_empty_regex(s,limit){\nif((((limit \x3c\x3d (0))) || ((limit \x3e\x3d ((2) + cljs.core.count(s)))))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s)))),\x22\x22);\n} else {\nvar pred__28481 \x3d cljs.core._EQ__EQ_;\nvar expr__28482 \x3d limit;\nif(cljs.core.truth_((pred__28481.cljs$core$IFn$_invoke$arity$2 ? pred__28481.cljs$core$IFn$_invoke$arity$2((1),expr__28482) : pred__28481.call(null,(1),expr__28482)))){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[s],null));\n} else {\nif(cljs.core.truth_((pred__28481.cljs$core$IFn$_invoke$arity$2 ? pred__28481.cljs$core$IFn$_invoke$arity$2((2),expr__28482) : pred__28481.call(null,(2),expr__28482)))){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[\x22\x22,s],null));\n} else {\nvar c \x3d (limit - (2));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s))),(0),c))),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,c));\n}\n}\n}\n});\n/**\n * Splits string on a regular expression. Optional argument limit is\n *   the maximum number of parts. Not lazy. Returns vector of the parts.\n *   Trailing empty strings are not returned - pass limit of -1 to return all.\n */\nclojure.string.split \x3d (function clojure$string$split(var_args){\nvar G__28496 \x3d arguments.length;\nswitch (G__28496) {\ncase 2:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,re){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,re,(0));\n}));\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,re,limit){\nreturn clojure.string.discard_trailing_if_needed(limit,(((\x22/(?:)/\x22 \x3d\x3d\x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(re)))?clojure.string.split_with_empty_regex(s,limit):(((limit \x3c (1)))?cljs.core.vec(cljs.core.str.cljs$core$IFn$_invoke$arity$1(s).split(re)):(function (){var s__$1 \x3d s;\nvar limit__$1 \x3d limit;\nvar parts \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(((1) \x3d\x3d\x3d limit__$1)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n} else {\nvar m \x3d cljs.core.re_find(re,s__$1);\nif((!((m \x3d\x3d null)))){\nvar index \x3d s__$1.indexOf(m);\nvar G__28670 \x3d s__$1.substring((index + cljs.core.count(m)));\nvar G__28671 \x3d (limit__$1 - (1));\nvar G__28672 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1.substring((0),index));\ns__$1 \x3d G__28670;\nlimit__$1 \x3d G__28671;\nparts \x3d G__28672;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n}\n}\nbreak;\n}\n})())));\n}));\n\n(clojure.string.split.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Splits s on \\n or \\r\\n. Trailing empty lines are not returned.\n */\nclojure.string.split_lines \x3d (function clojure$string$split_lines(s){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2(s,/\\n|\\r\\n/);\n});\n/**\n * Removes whitespace from both ends of string.\n */\nclojure.string.trim \x3d (function clojure$string$trim(s){\nreturn goog.string.trim(s);\n});\n/**\n * Removes whitespace from the left side of string.\n */\nclojure.string.triml \x3d (function clojure$string$triml(s){\nreturn goog.string.trimLeft(s);\n});\n/**\n * Removes whitespace from the right side of string.\n */\nclojure.string.trimr \x3d (function clojure$string$trimr(s){\nreturn goog.string.trimRight(s);\n});\n/**\n * Removes all trailing newline \\n or return \\r characters from\n *   string.  Similar to Perl\x27s chomp.\n */\nclojure.string.trim_newline \x3d (function clojure$string$trim_newline(s){\nvar index \x3d s.length;\nwhile(true){\nif((index \x3d\x3d\x3d (0))){\nreturn \x22\x22;\n} else {\nvar ch \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(s,(index - (1)));\nif((((\x22\\n\x22 \x3d\x3d\x3d ch)) || ((\x22\\r\x22 \x3d\x3d\x3d ch)))){\nvar G__28683 \x3d (index - (1));\nindex \x3d G__28683;\ncontinue;\n} else {\nreturn s.substring((0),index);\n}\n}\nbreak;\n}\n});\n/**\n * True if s is nil, empty, or contains only whitespace.\n */\nclojure.string.blank_QMARK_ \x3d (function clojure$string$blank_QMARK_(s){\nreturn goog.string.isEmptyOrWhitespace(goog.string.makeSafe(s));\n});\n/**\n * Return a new string, using cmap to escape each character ch\n * from s as follows:\n * \n * If (cmap ch) is nil, append ch to the new string.\n * If (cmap ch) is non-nil, append (str (cmap ch)) instead.\n */\nclojure.string.escape \x3d (function clojure$string$escape(s,cmap){\nvar buffer \x3d (new goog.string.StringBuffer());\nvar length \x3d s.length;\nvar index \x3d (0);\nwhile(true){\nif((length \x3d\x3d\x3d index)){\nreturn buffer.toString();\n} else {\nvar ch \x3d s.charAt(index);\nvar replacement \x3d (cmap.cljs$core$IFn$_invoke$arity$1 ? cmap.cljs$core$IFn$_invoke$arity$1(ch) : cmap.call(null,ch));\nif((!((replacement \x3d\x3d null)))){\nbuffer.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(replacement));\n} else {\nbuffer.append(ch);\n}\n\nvar G__28694 \x3d (index + (1));\nindex \x3d G__28694;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Return index of value (string or char) in s, optionally searching\n *   forward from from-index or nil if not found.\n */\nclojure.string.index_of \x3d (function clojure$string$index_of(var_args){\nvar G__28540 \x3d arguments.length;\nswitch (G__28540) {\ncase 2:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.indexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.indexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return last index of value (string or char) in s, optionally\n *   searching backward from from-index or nil if not found.\n */\nclojure.string.last_index_of \x3d (function clojure$string$last_index_of(var_args){\nvar G__28551 \x3d arguments.length;\nswitch (G__28551) {\ncase 2:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.lastIndexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.lastIndexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * True if s starts with substr.\n */\nclojure.string.starts_with_QMARK_ \x3d (function clojure$string$starts_with_QMARK_(s,substr){\nreturn goog.string.startsWith(s,substr);\n});\n/**\n * True if s ends with substr.\n */\nclojure.string.ends_with_QMARK_ \x3d (function clojure$string$ends_with_QMARK_(s,substr){\nreturn goog.string.endsWith(s,substr);\n});\n/**\n * True if s includes substr.\n */\nclojure.string.includes_QMARK_ \x3d (function clojure$string$includes_QMARK_(s,substr){\nreturn goog.string.contains(s,substr);\n});\n");
SHADOW_ENV.evalLoad("cljs.stacktrace.js", true, "goog.provide(\x27cljs.stacktrace\x27);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.stacktrace !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.stacktrace.parse_stacktrace !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Parse a JavaScript stacktrace string into a canonical data form. The\n *   arguments:\n * \n *   repl-env - the repl environment, an optional map with :host and :port keys\n *           if the stacktrace includes url, not file references\n *   st       - the original stacktrace string to parse\n *   err      - an error map. :ua-product key defines the type of stacktrace parser\n *           to use, for example :chrome\n *   opts     - additional options. :output-dir maybe given in this argument if\n *           :host and :port do not apply, for example, a file path\n * \n *   The canonical stacktrace representation can easily be mapped to a\n *   ClojureScript one see mapped-stacktrace and mapped-stacktrace-str\n */\ncljs.stacktrace.parse_stacktrace \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__28864 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__28864.cljs$core$IFn$_invoke$arity$0 ? fexpr__28864.cljs$core$IFn$_invoke$arity$0() : fexpr__28864.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.stacktrace\x22,\x22parse-stacktrace\x22),(function (repl_env,st,err,opts){\nreturn new cljs.core.Keyword(null,\x22ua-product\x22,\x22ua-product\x22,938384227).cljs$core$IFn$_invoke$arity$1(err);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.stacktrace.parse_int \x3d (function cljs$stacktrace$parse_int(s){\nreturn parseInt(s,(10));\n});\ncljs.stacktrace.starts_with_QMARK_ \x3d (function cljs$stacktrace$starts_with_QMARK_(s0,s1){\nreturn goog.string.startsWith(s0,s1);\n});\ncljs.stacktrace.ends_with_QMARK_ \x3d (function cljs$stacktrace$ends_with_QMARK_(s0,s1){\nreturn goog.string.endsWith(s0,s1);\n});\ncljs.stacktrace.string__GT_regex \x3d (function cljs$stacktrace$string__GT_regex(s){\nreturn (new RegExp(s));\n});\ncljs.stacktrace.output_directory \x3d (function cljs$stacktrace$output_directory(opts){\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22output-dir\x22,\x22output-dir\x22,-290956991).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22out\x22;\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (repl_env,st,err,opts){\nreturn st;\n}));\ncljs.stacktrace.parse_file_line_column \x3d (function cljs$stacktrace$parse_file_line_column(flc){\nif(cljs.core.not(cljs.core.re_find(/:/,flc))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [flc,null,null], null);\n} else {\nvar xs \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(flc,/:/);\nvar vec__28894 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__28900,p__28901){\nvar vec__28902 \x3d p__28900;\nvar pre \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28902,(0),null);\nvar post \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28902,(1),null);\nvar vec__28905 \x3d p__28901;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28905,(0),null);\nvar i \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28905,(1),null);\nif((i \x3c\x3d (2))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(post,x)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.cljs$core$IFn$_invoke$arity$2(pre,x),post], null);\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY], null),cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,xs,cljs.core.range.cljs$core$IFn$_invoke$arity$3(cljs.core.count(xs),(0),(-1))));\nvar pre \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28894,(0),null);\nvar vec__28897 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28894,(1),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28897,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28897,(1),null);\nvar file \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22:\x22,pre);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__28922 \x3d file;\nif(cljs.stacktrace.starts_with_QMARK_(file,\x22(\x22)){\nreturn clojure.string.replace(G__28922,\x22(\x22,\x22\x22);\n} else {\nreturn G__28922;\n}\n})(),cljs.stacktrace.parse_int((function (){var G__28929 \x3d line;\nif(cljs.stacktrace.ends_with_QMARK_(line,\x22)\x22)){\nreturn clojure.string.replace(G__28929,\x22)\x22,\x22\x22);\n} else {\nreturn G__28929;\n}\n})()),cljs.stacktrace.parse_int((function (){var G__28932 \x3d column;\nif(cljs.stacktrace.ends_with_QMARK_(column,\x22)\x22)){\nreturn clojure.string.replace(G__28932,\x22)\x22,\x22\x22);\n} else {\nreturn G__28932;\n}\n})())], null);\n}\n});\n/**\n * Given a browser file url convert it into a relative path that can be used\n * to locate the original source.\n */\ncljs.stacktrace.parse_file \x3d (function cljs$stacktrace$parse_file(p__28951,file,p__28952){\nvar map__28953 \x3d p__28951;\nvar map__28953__$1 \x3d cljs.core.__destructure_map(map__28953);\nvar repl_env \x3d map__28953__$1;\nvar host \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28953__$1,new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167));\nvar host_port \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28953__$1,new cljs.core.Keyword(null,\x22host-port\x22,\x22host-port\x22,1956551772));\nvar port \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28953__$1,new cljs.core.Keyword(null,\x22port\x22,\x22port\x22,1534937262));\nvar map__28954 \x3d p__28952;\nvar map__28954__$1 \x3d cljs.core.__destructure_map(map__28954);\nvar opts \x3d map__28954__$1;\nvar asset_path \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28954__$1,new cljs.core.Keyword(null,\x22asset-path\x22,\x22asset-path\x22,1500889617));\nvar urlpat \x3d (cljs.core.truth_(host)?cljs.stacktrace.string__GT_regex([\x22http://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(host),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d host_port;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn port;\n}\n})()),\x22/\x22].join(\x27\x27)):\x22\x22);\nvar match \x3d (cljs.core.truth_(host)?cljs.core.re_find(urlpat,file):cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22output-dir\x22,\x22output-dir\x22,-290956991)));\nif(cljs.core.truth_(match)){\nreturn clojure.string.replace(clojure.string.replace(file,urlpat,\x22\x22),cljs.stacktrace.string__GT_regex([\x22^\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d (function (){var and__5023__auto__ \x3d asset_path;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn clojure.string.replace(asset_path,/^\\//,\x22\x22);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.stacktrace.output_directory(opts);\n}\n})()),\x22/\x22].join(\x27\x27)),\x22\x22);\n} else {\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22asset-root\x22,\x22asset-root\x22,1771735072).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar asset_root \x3d temp__5802__auto__;\nreturn clojure.string.replace(file,asset_root,\x22\x22);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Could not relativize URL \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22parse-stacktrace\x22,\x22parse-stacktrace\x22,-38208461),new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),new cljs.core.Keyword(null,\x22relativize-url\x22,\x22relativize-url\x22,621482324)], null));\n}\n}\n});\ncljs.stacktrace.chrome_st_el__GT_frame \x3d (function cljs$stacktrace$chrome_st_el__GT_frame(repl_env,st_el,opts){\nvar xs \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(clojure.string.replace(st_el,/\\s+at\\s+/,\x22\x22),/\\s+/);\nvar vec__28969 \x3d ((((1) \x3d\x3d\x3d cljs.core.count(xs)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first(xs)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(xs),cljs.core.last(xs)], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28969,(0),null);\nvar flc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28969,(1),null);\nvar vec__28973 \x3d cljs.stacktrace.parse_file_line_column(flc);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28973,(0),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28973,(1),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28973,(2),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d file;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d function$;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d line;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn column;\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.stacktrace.parse_file(repl_env,file,opts),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.replace(function$,/Object\\./,\x22\x22),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null);\n} else {\nif(clojure.string.blank_QMARK_(function$)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),null,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.replace(function$,/Object\\./,\x22\x22),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),null], null);\n}\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22chrome\x22,\x22chrome\x22,1718738387),(function (repl_env,st,err,opts){\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28994_SHARP_){\nreturn cljs.stacktrace.chrome_st_el__GT_frame(repl_env,p1__28994_SHARP_,opts);\n}),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__28993_SHARP_){\nreturn (!(cljs.stacktrace.starts_with_QMARK_(p1__28993_SHARP_,\x22    at eval\x22)));\n}),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((function (p1__28992_SHARP_){\nreturn cljs.stacktrace.starts_with_QMARK_(p1__28992_SHARP_,\x22Error\x22);\n}),clojure.string.split_lines(st))))));\n}));\ncljs.stacktrace.safari_st_el__GT_frame \x3d (function cljs$stacktrace$safari_st_el__GT_frame(repl_env,st_el,opts){\nvar vec__29023 \x3d (cljs.core.truth_(cljs.core.re_find(/@/,st_el))?clojure.string.split.cljs$core$IFn$_invoke$arity$2(st_el,/@/):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,st_el], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29023,(0),null);\nvar flc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29023,(1),null);\nvar vec__29026 \x3d cljs.stacktrace.parse_file_line_column(flc);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29026,(0),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29026,(1),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29026,(2),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d file;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d function$;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d line;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn column;\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.stacktrace.parse_file(repl_env,file,opts),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.trim(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null);\n} else {\nif(clojure.string.blank_QMARK_(function$)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),null,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.trim(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),null], null);\n}\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22safari\x22,\x22safari\x22,497115653),(function (repl_env,st,err,opts){\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29047_SHARP_){\nreturn cljs.stacktrace.safari_st_el__GT_frame(repl_env,p1__29047_SHARP_,opts);\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(clojure.string.blank_QMARK_,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__29046_SHARP_){\nreturn (!(cljs.stacktrace.starts_with_QMARK_(p1__29046_SHARP_,\x22eval code\x22)));\n}),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((function (p1__29045_SHARP_){\nreturn cljs.stacktrace.starts_with_QMARK_(p1__29045_SHARP_,\x22Error\x22);\n}),clojure.string.split_lines(st)))))));\n}));\ncljs.stacktrace.firefox_clean_function \x3d (function cljs$stacktrace$firefox_clean_function(f){\nvar f__$1 \x3d f;\nvar f__$2 \x3d ((clojure.string.blank_QMARK_(f__$1))?null:((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(f__$1.indexOf(\x22\x3c/\x22),(-1)))?(function (){var idx \x3d f__$1.indexOf(\x22\x3c/\x22);\nreturn f__$1.substring((idx + (2)));\n})():f__$1\n));\nreturn clojure.string.replace(clojure.string.replace(f__$2,/\x3c/,\x22\x22),(new RegExp(\x22\\\\/\x22)),\x22\x22);\n});\ncljs.stacktrace.firefox_st_el__GT_frame \x3d (function cljs$stacktrace$firefox_st_el__GT_frame(repl_env,st_el,opts){\nvar vec__29078 \x3d (cljs.core.truth_(cljs.core.re_find(/@/,st_el))?clojure.string.split.cljs$core$IFn$_invoke$arity$2(st_el,/@/):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,st_el], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29078,(0),null);\nvar flc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29078,(1),null);\nvar vec__29081 \x3d cljs.stacktrace.parse_file_line_column(flc);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29081,(0),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29081,(1),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29081,(2),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d file;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d function$;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d line;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn column;\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.stacktrace.parse_file(repl_env,file,opts),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),cljs.stacktrace.firefox_clean_function(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null);\n} else {\nif(clojure.string.blank_QMARK_(function$)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),null,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),cljs.stacktrace.firefox_clean_function(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),null], null);\n}\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22firefox\x22,\x22firefox\x22,1283768880),(function (repl_env,st,err,opts){\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29101_SHARP_){\nreturn cljs.stacktrace.firefox_st_el__GT_frame(repl_env,p1__29101_SHARP_,opts);\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(clojure.string.blank_QMARK_,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__29098_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p1__29098_SHARP_.indexOf(\x22\x3e eval\x22),(-1));\n}),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((function (p1__29097_SHARP_){\nreturn cljs.stacktrace.starts_with_QMARK_(p1__29097_SHARP_,\x22Error\x22);\n}),clojure.string.split_lines(st)))))));\n}));\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nodejs\x22,\x22nodejs\x22,321212524),(function (repl_env,st,err,p__29123){\nvar map__29125 \x3d p__29123;\nvar map__29125__$1 \x3d cljs.core.__destructure_map(map__29125);\nvar opts \x3d map__29125__$1;\nvar output_dir \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29125__$1,new cljs.core.Keyword(null,\x22output-dir\x22,\x22output-dir\x22,-290956991));\nvar parse_source_loc_info \x3d (function cljs$stacktrace$parse_source_loc_info(x){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d x;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(clojure.string.blank_QMARK_(x)));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.stacktrace.parse_int(x);\n} else {\nreturn null;\n}\n});\nvar process_frame \x3d (function cljs$stacktrace$process_frame(frame_str){\nif(((clojure.string.blank_QMARK_(frame_str)) || ((cljs.core.re_find(/^\\s+at/,frame_str) \x3d\x3d null)))){\nreturn null;\n} else {\nvar frame_str__$1 \x3d clojure.string.replace(frame_str,/\\s+at\\s+/,\x22\x22);\nif(clojure.string.starts_with_QMARK_(frame_str__$1,\x22repl:\x22)){\nreturn null;\n} else {\nvar parts \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(frame_str__$1,/\\s+/);\nvar vec__29183 \x3d ((((2) \x3d\x3d\x3d cljs.core.count(parts)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(parts),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.second(parts),(1),(cljs.core.count(cljs.core.second(parts)) - (1)))], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first(parts)], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29183,(0),null);\nvar file_AMPERSAND_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29183,(1),null);\nvar vec__29186 \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(file_AMPERSAND_line,/:/);\nvar file_part \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29186,(0),null);\nvar line_part \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29186,(1),null);\nvar col_part \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29186,(2),null);\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),(cljs.core.truth_(function$)?(function (){var G__29206 \x3d file_part;\nif(cljs.core.truth_(output_dir)){\nreturn clojure.string.replace(G__29206,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),\x22/\x22].join(\x27\x27),\x22\x22);\n} else {\nreturn G__29206;\n}\n})():file_part),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),function$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),parse_source_loc_info(line_part),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),parse_source_loc_info(col_part)], null);\n}\n}\n});\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(process_frame,clojure.string.split.cljs$core$IFn$_invoke$arity$2(st,/\\n/))));\n}));\ncljs.stacktrace.remove_ext \x3d (function cljs$stacktrace$remove_ext(file){\nreturn clojure.string.replace(clojure.string.replace(clojure.string.replace(clojure.string.replace(file,/\\.js$/,\x22\x22),/\\.cljs$/,\x22\x22),/\\.cljc$/,\x22\x22),/\\.clj$/,\x22\x22);\n});\n/**\n * Given a cljs.source-map source map data structure map a generated line\n * and column back to the original line, column, and function called.\n */\ncljs.stacktrace.mapped_line_column_call \x3d (function cljs$stacktrace$mapped_line_column_call(sms,file,line,column){\nvar source_map \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(sms,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(clojure.string.replace(cljs.stacktrace.remove_ext(file),\x22/\x22,\x22.\x22)));\nvar get_best_column \x3d (function cljs$stacktrace$mapped_line_column_call_$_get_best_column(columns,column__$1){\nreturn cljs.core.last((function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(columns,cljs.core.last(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__29230_SHARP_){\nreturn (p1__29230_SHARP_ \x3c\x3d (column__$1 - (1)));\n}),cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.keys(columns)))));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.second(cljs.core.first(columns));\n}\n})());\n});\nvar adjust \x3d (function cljs$stacktrace$mapped_line_column_call_$_adjust(mapped){\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__29234_SHARP_,p2__29235_SHARP_){\nreturn (p1__29234_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__29234_SHARP_.cljs$core$IFn$_invoke$arity$1(p2__29235_SHARP_) : p1__29234_SHARP_.call(null,p2__29235_SHARP_));\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.inc,cljs.core.inc,cljs.core.identity], null),mapped));\n});\nvar default$ \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null);\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(source_map,(line - (1)));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar columns \x3d temp__5802__auto__;\nreturn adjust(cljs.core.map.cljs$core$IFn$_invoke$arity$2(get_best_column(columns,column),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177)], null)));\n} else {\nreturn default$;\n}\n});\n/**\n * Given opts and a canonicalized JavaScript stacktrace frame, return the\n *   ClojureScript frame.\n */\ncljs.stacktrace.mapped_frame \x3d (function cljs$stacktrace$mapped_frame(p__29277,sms,opts){\nvar map__29278 \x3d p__29277;\nvar map__29278__$1 \x3d cljs.core.__destructure_map(map__29278);\nvar function$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29278__$1,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29278__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29278__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29278__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar no_source_file_QMARK_ \x3d ((cljs.core.not(file))?true:cljs.stacktrace.starts_with_QMARK_(file,\x22\x3c\x22));\nvar vec__29283 \x3d ((no_source_file_QMARK_)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null):cljs.stacktrace.mapped_line_column_call(sms,file,line,column));\nvar line_SINGLEQUOTE_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29283,(0),null);\nvar column_SINGLEQUOTE_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29283,(1),null);\nvar call \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29283,(2),null);\nvar file_SINGLEQUOTE_ \x3d ((no_source_file_QMARK_)?null:((cljs.stacktrace.ends_with_QMARK_(file,\x22.js\x22))?[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(file,(0),(cljs.core.count(file) - (3))),\x22.cljs\x22].join(\x27\x27):file));\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),function$,new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866),call,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),((no_source_file_QMARK_)?[\x22NO_SOURCE_FILE\x22,(cljs.core.truth_(file)?[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(\x27\x27):null)].join(\x27\x27):file_SINGLEQUOTE_),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line_SINGLEQUOTE_,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column_SINGLEQUOTE_], null);\n});\n/**\n * Given a vector representing the canonicalized JavaScript stacktrace\n * return the ClojureScript stacktrace. The canonical stacktrace must be\n * in the form:\n * \n *  [{:file \x3cstring\x3e\n *    :function \x3cstring\x3e\n *    :line \x3cinteger\x3e\n *    :column \x3cinteger\x3e}*]\n * \n * :file must be a URL path (without protocol) relative to :output-dir or a\n * identifier delimited by angle brackets. The returned mapped stacktrace will\n * also contain :url entries to the original sources if it can be determined\n * from the classpath.\n */\ncljs.stacktrace.mapped_stacktrace \x3d (function cljs$stacktrace$mapped_stacktrace(var_args){\nvar G__29317 \x3d arguments.length;\nswitch (G__29317) {\ncase 2:\nreturn cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2 \x3d (function (stacktrace,sms){\nreturn cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3(stacktrace,sms,null);\n}));\n\n(cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3 \x3d (function (stacktrace,sms,opts){\nvar call__GT_function \x3d (function cljs$stacktrace$call__GT_function(x){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866).cljs$core$IFn$_invoke$arity$1(x))){\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473)],[new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866).cljs$core$IFn$_invoke$arity$1(x)]);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n});\nvar call_merge \x3d (function cljs$stacktrace$call_merge(function$,call){\nreturn cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic((function (munged_fn_name,unmunged_call_name){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(munged_fn_name,clojure.string.replace(cljs.core.munge(unmunged_call_name),\x22.\x22,\x22$\x22))){\nreturn unmunged_call_name;\n} else {\nreturn munged_fn_name;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([function$,call], 0));\n});\nvar mapped_frames \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.memoize((function (p1__29308_SHARP_){\nreturn cljs.stacktrace.mapped_frame(p1__29308_SHARP_,sms,opts);\n})),stacktrace);\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$3(call_merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29309_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__29309_SHARP_,new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866));\n}),mapped_frames),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(cljs.core.map.cljs$core$IFn$_invoke$arity$2(call__GT_function,mapped_frames)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentArrayMap.EMPTY], null))));\n}));\n\n(cljs.stacktrace.mapped_stacktrace.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Given a vector representing the canonicalized JavaScript stacktrace and a map\n *   of library names to decoded source maps, print the ClojureScript stacktrace .\n *   See mapped-stacktrace.\n */\ncljs.stacktrace.mapped_stacktrace_str \x3d (function cljs$stacktrace$mapped_stacktrace_str(var_args){\nvar G__29351 \x3d arguments.length;\nswitch (G__29351) {\ncase 2:\nreturn cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2 \x3d (function (stacktrace,sms){\nreturn cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3(stacktrace,sms,null);\n}));\n\n(cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3 \x3d (function (stacktrace,sms,opts){\nvar sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__29361_29625 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__29362_29626 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__29363_29627 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__29364_29628 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__29363_29627);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__29364_29628);\n\ntry{var seq__29368_29631 \x3d cljs.core.seq(cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3(stacktrace,sms,opts));\nvar chunk__29369_29632 \x3d null;\nvar count__29370_29633 \x3d (0);\nvar i__29371_29634 \x3d (0);\nwhile(true){\nif((i__29371_29634 \x3c count__29370_29633)){\nvar map__29388_29635 \x3d chunk__29369_29632.cljs$core$IIndexed$_nth$arity$2(null,i__29371_29634);\nvar map__29388_29636__$1 \x3d cljs.core.__destructure_map(map__29388_29635);\nvar function_29637 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29388_29636__$1,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473));\nvar file_29638 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29388_29636__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line_29639 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29388_29636__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_29640 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29388_29636__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\t\x22,[(cljs.core.truth_(function_29637)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_29637),\x22 \x22].join(\x27\x27):null),\x22(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_29638),(cljs.core.truth_(line_29639)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_29639)].join(\x27\x27):null),(cljs.core.truth_(column_29640)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_29640)].join(\x27\x27):null),\x22)\x22].join(\x27\x27)], 0));\n\n\nvar G__29649 \x3d seq__29368_29631;\nvar G__29650 \x3d chunk__29369_29632;\nvar G__29651 \x3d count__29370_29633;\nvar G__29652 \x3d (i__29371_29634 + (1));\nseq__29368_29631 \x3d G__29649;\nchunk__29369_29632 \x3d G__29650;\ncount__29370_29633 \x3d G__29651;\ni__29371_29634 \x3d G__29652;\ncontinue;\n} else {\nvar temp__5804__auto___29655 \x3d cljs.core.seq(seq__29368_29631);\nif(temp__5804__auto___29655){\nvar seq__29368_29657__$1 \x3d temp__5804__auto___29655;\nif(cljs.core.chunked_seq_QMARK_(seq__29368_29657__$1)){\nvar c__5548__auto___29658 \x3d cljs.core.chunk_first(seq__29368_29657__$1);\nvar G__29659 \x3d cljs.core.chunk_rest(seq__29368_29657__$1);\nvar G__29660 \x3d c__5548__auto___29658;\nvar G__29661 \x3d cljs.core.count(c__5548__auto___29658);\nvar G__29662 \x3d (0);\nseq__29368_29631 \x3d G__29659;\nchunk__29369_29632 \x3d G__29660;\ncount__29370_29633 \x3d G__29661;\ni__29371_29634 \x3d G__29662;\ncontinue;\n} else {\nvar map__29408_29663 \x3d cljs.core.first(seq__29368_29657__$1);\nvar map__29408_29664__$1 \x3d cljs.core.__destructure_map(map__29408_29663);\nvar function_29665 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29408_29664__$1,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473));\nvar file_29666 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29408_29664__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line_29667 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29408_29664__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_29668 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29408_29664__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\t\x22,[(cljs.core.truth_(function_29665)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_29665),\x22 \x22].join(\x27\x27):null),\x22(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_29666),(cljs.core.truth_(line_29667)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_29667)].join(\x27\x27):null),(cljs.core.truth_(column_29668)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_29668)].join(\x27\x27):null),\x22)\x22].join(\x27\x27)], 0));\n\n\nvar G__29674 \x3d cljs.core.next(seq__29368_29657__$1);\nvar G__29675 \x3d null;\nvar G__29676 \x3d (0);\nvar G__29677 \x3d (0);\nseq__29368_29631 \x3d G__29674;\nchunk__29369_29632 \x3d G__29675;\ncount__29370_29633 \x3d G__29676;\ni__29371_29634 \x3d G__29677;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__29362_29626);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__29361_29625);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n}));\n\n(cljs.stacktrace.mapped_stacktrace_str.cljs$lang$maxFixedArity \x3d 3);\n\n");
SHADOW_ENV.evalLoad("devtools.hints.js", true, "goog.provide(\x27devtools.hints\x27);\ndevtools.hints.available_QMARK_ \x3d (function devtools$hints$available_QMARK_(){\nreturn true;\n});\ndevtools.hints._STAR_installed_STAR_ \x3d false;\ndevtools.hints._STAR_original_global_error_handler_STAR_ \x3d null;\ndevtools.hints._STAR_original_type_error_prototype_to_string_STAR_ \x3d null;\ndevtools.hints.processed_errors \x3d cljs.core.volatile_BANG_(null);\ndevtools.hints.set_processed_errors_BANG_ \x3d (function devtools$hints$set_processed_errors_BANG_(val){\nreturn cljs.core.vreset_BANG_(devtools.hints.processed_errors,val);\n});\ndevtools.hints.get_processed_errors_BANG_ \x3d (function devtools$hints$get_processed_errors_BANG_(){\nvar temp__5802__auto__ \x3d cljs.core.deref(devtools.hints.processed_errors);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar val \x3d temp__5802__auto__;\nreturn val;\n} else {\nif((typeof WeakSet !\x3d\x3d \x27undefined\x27)){\nreturn devtools.hints.set_processed_errors_BANG_((new WeakSet()));\n} else {\nreturn null;\n}\n}\n});\ndevtools.hints.empty_as_nil \x3d (function devtools$hints$empty_as_nil(str){\nif(cljs.core.empty_QMARK_(str)){\nreturn null;\n} else {\nreturn str;\n}\n});\ndevtools.hints.ajax_reader \x3d (function devtools$hints$ajax_reader(url){\nvar xhr \x3d (new XMLHttpRequest());\nxhr.open(\x22GET\x22,url,false);\n\nxhr.send();\n\nreturn devtools.hints.empty_as_nil(xhr.responseText);\n});\ndevtools.hints.retrieve_javascript_source \x3d (function devtools$hints$retrieve_javascript_source(where){\nvar reader \x3d (function (){var or__5025__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22file-reader\x22,\x22file-reader\x22,-450847664));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.hints.ajax_reader;\n}\n})();\nreturn (reader.cljs$core$IFn$_invoke$arity$1 ? reader.cljs$core$IFn$_invoke$arity$1(where) : reader.call(null,where));\n});\ndevtools.hints.get_line \x3d (function devtools$hints$get_line(lines,line_number){\nreturn (lines[(line_number - (1))]);\n});\ndevtools.hints.extend_content \x3d (function devtools$hints$extend_content(content,lines,line_number,min_length){\nif((((cljs.core.count(content) \x3e min_length)) || ((!((line_number \x3e (0))))))){\nreturn content;\n} else {\nvar prev_line_number \x3d (line_number - (1));\nvar prev_line \x3d devtools.hints.get_line(lines,prev_line_number);\nvar new_content \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(prev_line),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(content)].join(\x27\x27);\nreturn (devtools.hints.extend_content.cljs$core$IFn$_invoke$arity$4 ? devtools.hints.extend_content.cljs$core$IFn$_invoke$arity$4(new_content,lines,prev_line_number,min_length) : devtools.hints.extend_content.call(null,new_content,lines,prev_line_number,min_length));\n}\n});\ndevtools.hints.mark_call_closed_at_column \x3d (function devtools$hints$mark_call_closed_at_column(line,column){\nvar n \x3d (column - (1));\nvar prefix \x3d line.substring((0),n);\nvar postfix \x3d line.substring(n);\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22 \x3c\x3c\x3c \\u2622 NULL \\u2622 \x3c\x3c\x3c \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(postfix)].join(\x27\x27);\n});\ndevtools.hints.mark_null_call_site_location \x3d (function devtools$hints$mark_null_call_site_location(file,line_number,column){\nvar content \x3d devtools.hints.retrieve_javascript_source(file);\nvar lines \x3d content.split(\x22\\n\x22);\nvar line \x3d devtools.hints.get_line(lines,line_number);\nvar marked_line \x3d devtools.hints.mark_call_closed_at_column(line,column);\nvar min_length \x3d (function (){var or__5025__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22sanity-hint-min-length\x22,\x22sanity-hint-min-length\x22,104958154));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (128);\n}\n})();\nreturn devtools.hints.extend_content(marked_line,lines,line_number,min_length);\n});\ndevtools.hints.make_sense_of_the_error \x3d (function devtools$hints$make_sense_of_the_error(message,file,line_number,column){\nif(cljs.core.truth_(cljs.core.re_matches(/Cannot read property \x27call\x27 of.*/,message))){\nreturn devtools.hints.mark_null_call_site_location(file,line_number,column);\n} else {\nreturn null;\n\n}\n});\ndevtools.hints.parse_stacktrace \x3d (function devtools$hints$parse_stacktrace(native_stack_trace){\nreturn cljs.stacktrace.parse_stacktrace.cljs$core$IFn$_invoke$arity$4(cljs.core.PersistentArrayMap.EMPTY,native_stack_trace,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ua-product\x22,\x22ua-product\x22,938384227),new cljs.core.Keyword(null,\x22chrome\x22,\x22chrome\x22,1718738387)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22asset-root\x22,\x22asset-root\x22,1771735072),\x22\x22], null));\n});\ndevtools.hints.error_object_sense \x3d (function devtools$hints$error_object_sense(error){\ntry{var native_stack_trace \x3d error.stack;\nvar stack_trace \x3d devtools.hints.parse_stacktrace(native_stack_trace);\nvar top_item \x3d cljs.core.second(stack_trace);\nvar map__29780 \x3d top_item;\nvar map__29780__$1 \x3d cljs.core.__destructure_map(map__29780);\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29780__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29780__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29780__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nreturn devtools.hints.make_sense_of_the_error(error.message,file,line,column);\n}catch (e29779){var _e \x3d e29779;\nreturn false;\n}});\ndevtools.hints.type_error_to_string \x3d (function devtools$hints$type_error_to_string(self){\nvar temp__5802__auto___29803 \x3d devtools.hints.get_processed_errors_BANG_();\nif(cljs.core.truth_(temp__5802__auto___29803)){\nvar seen_errors_29805 \x3d temp__5802__auto___29803;\nif(cljs.core.truth_(seen_errors_29805.has(self))){\n} else {\nseen_errors_29805.add(self);\n\nvar temp__5804__auto___29810 \x3d devtools.hints.error_object_sense(self);\nif(cljs.core.truth_(temp__5804__auto___29810)){\nvar sense_29811 \x3d temp__5804__auto___29810;\n(self.message \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(self.message),\x22, a sanity hint:\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sense_29811)].join(\x27\x27));\n} else {\n}\n}\n} else {\n}\n\nreturn devtools.hints._STAR_original_type_error_prototype_to_string_STAR_.call(self);\n});\ndevtools.hints.global_error_handler \x3d (function devtools$hints$global_error_handler(message,url,line,column,error){\nvar res \x3d (cljs.core.truth_(devtools.hints._STAR_original_global_error_handler_STAR_)?devtools.hints._STAR_original_global_error_handler_STAR_.call(null,message,url,line,column,error):null);\nif(cljs.core.not(res)){\nvar temp__5804__auto__ \x3d devtools.hints.error_object_sense(error);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar sense \x3d temp__5804__auto__;\ndevtools.context.get_console.call(null).info(\x22A sanity hint for incoming uncaught error:\\n\x22,sense);\n\nreturn false;\n} else {\nreturn null;\n}\n} else {\nreturn true;\n}\n});\ndevtools.hints.install_type_error_enhancer \x3d (function devtools$hints$install_type_error_enhancer(){\n(devtools.hints._STAR_original_global_error_handler_STAR_ \x3d devtools.context.get_root.call(null).onerror);\n\n(devtools.context.get_root.call(null).onerror \x3d devtools.hints.global_error_handler);\n\nvar prototype \x3d TypeError.prototype;\n(devtools.hints._STAR_original_type_error_prototype_to_string_STAR_ \x3d prototype.toString);\n\nreturn (prototype.toString \x3d (function (){\nvar self \x3d this;\nreturn devtools.hints.type_error_to_string(self);\n}));\n});\ndevtools.hints.installed_QMARK_ \x3d (function devtools$hints$installed_QMARK_(){\nreturn devtools.hints._STAR_installed_STAR_;\n});\ndevtools.hints.install_BANG_ \x3d (function devtools$hints$install_BANG_(){\nif(cljs.core.truth_(devtools.hints._STAR_installed_STAR_)){\nreturn null;\n} else {\n(devtools.hints._STAR_installed_STAR_ \x3d true);\n\ndevtools.hints.install_type_error_enhancer();\n\nreturn true;\n}\n});\ndevtools.hints.uninstall_BANG_ \x3d (function devtools$hints$uninstall_BANG_(){\nif(cljs.core.truth_(devtools.hints._STAR_installed_STAR_)){\n(devtools.hints._STAR_installed_STAR_ \x3d false);\n\nif(cljs.core.truth_(devtools.hints._STAR_original_type_error_prototype_to_string_STAR_)){\n} else {\nthrow (new Error(\x22Assert failed: *original-type-error-prototype-to-string*\x22));\n}\n\n(devtools.context.get_root.call(null).onerror \x3d devtools.hints._STAR_original_global_error_handler_STAR_);\n\nvar prototype \x3d TypeError.prototype;\nreturn (prototype.toString \x3d devtools.hints._STAR_original_type_error_prototype_to_string_STAR_);\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.engine.js", true, "goog.loadModule(function(exports) {\n  function isPresto() {\n    return util.matchUserAgent(\x22Presto\x22);\n  }\n  function isTrident() {\n    return util.matchUserAgent(\x22Trident\x22) || util.matchUserAgent(\x22MSIE\x22);\n  }\n  function isEdge() {\n    return util.matchUserAgent(\x22Edge\x22);\n  }\n  function isWebKit() {\n    return util.matchUserAgentIgnoreCase(\x22WebKit\x22) \x26\x26 !isEdge();\n  }\n  function isGecko() {\n    return util.matchUserAgent(\x22Gecko\x22) \x26\x26 !isWebKit() \x26\x26 !isTrident() \x26\x26 !isEdge();\n  }\n  function getVersion() {\n    const userAgentString \x3d util.getUserAgent();\n    if (userAgentString) {\n      const tuples \x3d util.extractVersionTuples(userAgentString);\n      const engineTuple \x3d getEngineTuple(tuples);\n      if (engineTuple) {\n        if (engineTuple[0] \x3d\x3d \x22Gecko\x22) {\n          return getVersionForKey(tuples, \x22Firefox\x22);\n        }\n        return engineTuple[1];\n      }\n      const browserTuple \x3d tuples[0];\n      let info;\n      if (browserTuple \x26\x26 (info \x3d browserTuple[2])) {\n        const match \x3d /Trident\\/([^\\s;]+)/.exec(info);\n        if (match) {\n          return match[1];\n        }\n      }\n    }\n    return \x22\x22;\n  }\n  function getEngineTuple(tuples) {\n    if (!isEdge()) {\n      return tuples[1];\n    }\n    for (let i \x3d 0; i \x3c tuples.length; i++) {\n      const tuple \x3d tuples[i];\n      if (tuple[0] \x3d\x3d \x22Edge\x22) {\n        return tuple;\n      }\n    }\n  }\n  function isVersionOrHigher(version) {\n    return googString.compareVersions(getVersion(), version) \x3e\x3d 0;\n  }\n  function getVersionForKey(tuples, key) {\n    const pair \x3d googArray.find(tuples, function(pair) {\n      return key \x3d\x3d pair[0];\n    });\n    return pair \x26\x26 pair[1] || \x22\x22;\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.labs.userAgent.engine\x22);\n  goog.module.declareLegacyNamespace();\n  const googArray \x3d goog.require(\x22goog.array\x22);\n  const googString \x3d goog.require(\x22goog.string.internal\x22);\n  const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n  exports \x3d {getVersion, isEdge, isGecko, isPresto, isTrident, isVersionOrHigher, isWebKit};\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.platform.js", true, "goog.loadModule(function(exports) {\n  function useUserAgentDataPlatform(ignoreClientHintsFlag \x3d false) {\n    if (util.ASSUME_CLIENT_HINTS_SUPPORT) {\n      return true;\n    }\n    if (!ignoreClientHintsFlag \x26\x26 !useClientHints()) {\n      return false;\n    }\n    const userAgentData \x3d util.getUserAgentData();\n    return !!userAgentData \x26\x26 !!userAgentData.platform;\n  }\n  function isAndroid() {\n    if (useUserAgentDataPlatform()) {\n      return util.getUserAgentData().platform \x3d\x3d\x3d \x22Android\x22;\n    }\n    return util.matchUserAgent(\x22Android\x22);\n  }\n  function isIpod() {\n    return util.matchUserAgent(\x22iPod\x22);\n  }\n  function isIphone() {\n    return util.matchUserAgent(\x22iPhone\x22) \x26\x26 !util.matchUserAgent(\x22iPod\x22) \x26\x26 !util.matchUserAgent(\x22iPad\x22);\n  }\n  function isIpad() {\n    return util.matchUserAgent(\x22iPad\x22);\n  }\n  function isIos() {\n    return isIphone() || isIpad() || isIpod();\n  }\n  function isMacintosh() {\n    if (useUserAgentDataPlatform()) {\n      return util.getUserAgentData().platform \x3d\x3d\x3d \x22macOS\x22;\n    }\n    return util.matchUserAgent(\x22Macintosh\x22);\n  }\n  function isLinux() {\n    if (useUserAgentDataPlatform()) {\n      return util.getUserAgentData().platform \x3d\x3d\x3d \x22Linux\x22;\n    }\n    return util.matchUserAgent(\x22Linux\x22);\n  }\n  function isWindows() {\n    if (useUserAgentDataPlatform()) {\n      return util.getUserAgentData().platform \x3d\x3d\x3d \x22Windows\x22;\n    }\n    return util.matchUserAgent(\x22Windows\x22);\n  }\n  function isChromeOS() {\n    if (useUserAgentDataPlatform()) {\n      return util.getUserAgentData().platform \x3d\x3d\x3d \x22Chrome OS\x22;\n    }\n    return util.matchUserAgent(\x22CrOS\x22);\n  }\n  function isChromecast() {\n    return util.matchUserAgent(\x22CrKey\x22);\n  }\n  function isKaiOS() {\n    return util.matchUserAgentIgnoreCase(\x22KaiOS\x22);\n  }\n  function getVersion() {\n    const userAgentString \x3d util.getUserAgent();\n    let version \x3d \x22\x22;\n    let re;\n    if (isWindows()) {\n      re \x3d /Windows (?:NT|Phone) ([0-9.]+)/;\n      const match \x3d re.exec(userAgentString);\n      if (match) {\n        version \x3d match[1];\n      } else {\n        version \x3d \x220.0\x22;\n      }\n    } else if (isIos()) {\n      re \x3d /(?:iPhone|iPod|iPad|CPU)\\s+OS\\s+(\\S+)/;\n      const match \x3d re.exec(userAgentString);\n      version \x3d match \x26\x26 match[1].replace(/_/g, \x22.\x22);\n    } else if (isMacintosh()) {\n      re \x3d /Mac OS X ([0-9_.]+)/;\n      const match \x3d re.exec(userAgentString);\n      version \x3d match ? match[1].replace(/_/g, \x22.\x22) : \x2210\x22;\n    } else if (isKaiOS()) {\n      re \x3d /(?:KaiOS)\\/(\\S+)/i;\n      const match \x3d re.exec(userAgentString);\n      version \x3d match \x26\x26 match[1];\n    } else if (isAndroid()) {\n      re \x3d /Android\\s+([^\\);]+)(\\)|;)/;\n      const match \x3d re.exec(userAgentString);\n      version \x3d match \x26\x26 match[1];\n    } else if (isChromeOS()) {\n      re \x3d /(?:CrOS\\s+(?:i686|x86_64)\\s+([0-9.]+))/;\n      const match \x3d re.exec(userAgentString);\n      version \x3d match \x26\x26 match[1];\n    }\n    return version || \x22\x22;\n  }\n  function isVersionOrHigher(version) {\n    return googString.compareVersions(getVersion(), version) \x3e\x3d 0;\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.labs.userAgent.platform\x22);\n  goog.module.declareLegacyNamespace();\n  const googString \x3d goog.require(\x22goog.string.internal\x22);\n  const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n  const {AsyncValue, Version} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyValue\x22);\n  const {platformVersion} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyData\x22);\n  const {useClientHints} \x3d goog.require(\x22goog.labs.userAgent\x22);\n  class PlatformVersion {\n    constructor() {\n      this.preUachHasLoaded_ \x3d false;\n    }\n    getIfLoaded() {\n      if (useUserAgentDataPlatform(true)) {\n        const loadedPlatformVersion \x3d platformVersion.getIfLoaded();\n        if (loadedPlatformVersion \x3d\x3d\x3d undefined) {\n          return undefined;\n        }\n        return new Version(loadedPlatformVersion);\n      } else if (!this.preUachHasLoaded_) {\n        return undefined;\n      } else {\n        return new Version(getVersion());\n      }\n    }\n    async load() {\n      if (useUserAgentDataPlatform(true)) {\n        return new Version(await platformVersion.load());\n      } else {\n        this.preUachHasLoaded_ \x3d true;\n        return new Version(getVersion());\n      }\n    }\n    resetForTesting() {\n      platformVersion.resetForTesting();\n      this.preUachHasLoaded_ \x3d false;\n    }\n  }\n  const version \x3d new PlatformVersion();\n  exports \x3d {getVersion, isAndroid, isChromeOS, isChromecast, isIos, isIpad, isIphone, isIpod, isKaiOS, isLinux, isMacintosh, isVersionOrHigher, isWindows, version};\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.useragent.useragent.js", true, "goog.provide(\x22goog.userAgent\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.engine\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.labs.userAgent.util\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.userAgent.ASSUME_IE \x3d goog.define(\x22goog.userAgent.ASSUME_IE\x22, false);\ngoog.userAgent.ASSUME_EDGE \x3d goog.define(\x22goog.userAgent.ASSUME_EDGE\x22, false);\ngoog.userAgent.ASSUME_GECKO \x3d goog.define(\x22goog.userAgent.ASSUME_GECKO\x22, false);\ngoog.userAgent.ASSUME_WEBKIT \x3d goog.define(\x22goog.userAgent.ASSUME_WEBKIT\x22, false);\ngoog.userAgent.ASSUME_MOBILE_WEBKIT \x3d goog.define(\x22goog.userAgent.ASSUME_MOBILE_WEBKIT\x22, false);\ngoog.userAgent.ASSUME_OPERA \x3d goog.define(\x22goog.userAgent.ASSUME_OPERA\x22, false);\ngoog.userAgent.ASSUME_ANY_VERSION \x3d goog.define(\x22goog.userAgent.ASSUME_ANY_VERSION\x22, false);\ngoog.userAgent.BROWSER_KNOWN_ \x3d goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA;\ngoog.userAgent.getUserAgentString \x3d function() {\n  return goog.labs.userAgent.util.getUserAgent();\n};\ngoog.userAgent.getNavigatorTyped \x3d function() {\n  return goog.global[\x22navigator\x22] || null;\n};\ngoog.userAgent.getNavigator \x3d function() {\n  return goog.userAgent.getNavigatorTyped();\n};\ngoog.userAgent.OPERA \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : goog.labs.userAgent.browser.isOpera();\ngoog.userAgent.IE \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.labs.userAgent.browser.isIE();\ngoog.userAgent.EDGE \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_EDGE : goog.labs.userAgent.engine.isEdge();\ngoog.userAgent.EDGE_OR_IE \x3d goog.userAgent.EDGE || goog.userAgent.IE;\ngoog.userAgent.GECKO \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.labs.userAgent.engine.isGecko();\ngoog.userAgent.WEBKIT \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : goog.labs.userAgent.engine.isWebKit();\ngoog.userAgent.isMobile_ \x3d function() {\n  return goog.userAgent.WEBKIT \x26\x26 goog.labs.userAgent.util.matchUserAgent(\x22Mobile\x22);\n};\ngoog.userAgent.MOBILE \x3d goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\ngoog.userAgent.SAFARI \x3d goog.userAgent.WEBKIT;\ngoog.userAgent.determinePlatform_ \x3d function() {\n  var navigator \x3d goog.userAgent.getNavigatorTyped();\n  return navigator \x26\x26 navigator.platform || \x22\x22;\n};\ngoog.userAgent.PLATFORM \x3d goog.userAgent.determinePlatform_();\ngoog.userAgent.ASSUME_MAC \x3d goog.define(\x22goog.userAgent.ASSUME_MAC\x22, false);\ngoog.userAgent.ASSUME_WINDOWS \x3d goog.define(\x22goog.userAgent.ASSUME_WINDOWS\x22, false);\ngoog.userAgent.ASSUME_LINUX \x3d goog.define(\x22goog.userAgent.ASSUME_LINUX\x22, false);\ngoog.userAgent.ASSUME_ANDROID \x3d goog.define(\x22goog.userAgent.ASSUME_ANDROID\x22, false);\ngoog.userAgent.ASSUME_IPHONE \x3d goog.define(\x22goog.userAgent.ASSUME_IPHONE\x22, false);\ngoog.userAgent.ASSUME_IPAD \x3d goog.define(\x22goog.userAgent.ASSUME_IPAD\x22, false);\ngoog.userAgent.ASSUME_IPOD \x3d goog.define(\x22goog.userAgent.ASSUME_IPOD\x22, false);\ngoog.userAgent.ASSUME_KAIOS \x3d goog.define(\x22goog.userAgent.ASSUME_KAIOS\x22, false);\ngoog.userAgent.PLATFORM_KNOWN_ \x3d goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_ANDROID || goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD;\ngoog.userAgent.MAC \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : goog.labs.userAgent.platform.isMacintosh();\ngoog.userAgent.WINDOWS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : goog.labs.userAgent.platform.isWindows();\ngoog.userAgent.isLegacyLinux_ \x3d function() {\n  return goog.labs.userAgent.platform.isLinux() || goog.labs.userAgent.platform.isChromeOS();\n};\ngoog.userAgent.LINUX \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.isLegacyLinux_();\ngoog.userAgent.ANDROID \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : goog.labs.userAgent.platform.isAndroid();\ngoog.userAgent.IPHONE \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE : goog.labs.userAgent.platform.isIphone();\ngoog.userAgent.IPAD \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.IPOD \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIpod();\ngoog.userAgent.IOS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIos();\ngoog.userAgent.KAIOS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_KAIOS : goog.labs.userAgent.platform.isKaiOS();\ngoog.userAgent.determineVersion_ \x3d function() {\n  var version \x3d \x22\x22;\n  var arr \x3d goog.userAgent.getVersionRegexResult_();\n  if (arr) {\n    version \x3d arr ? arr[1] : \x22\x22;\n  }\n  if (goog.userAgent.IE) {\n    var docMode \x3d goog.userAgent.getDocumentMode_();\n    if (docMode !\x3d null \x26\x26 docMode \x3e parseFloat(version)) {\n      return String(docMode);\n    }\n  }\n  return version;\n};\ngoog.userAgent.getVersionRegexResult_ \x3d function() {\n  var userAgent \x3d goog.userAgent.getUserAgentString();\n  if (goog.userAgent.GECKO) {\n    return /rv:([^\\);]+)(\\)|;)/.exec(userAgent);\n  }\n  if (goog.userAgent.EDGE) {\n    return /Edge\\/([\\d\\.]+)/.exec(userAgent);\n  }\n  if (goog.userAgent.IE) {\n    return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(userAgent);\n  }\n  if (goog.userAgent.WEBKIT) {\n    return /WebKit\\/(\\S+)/.exec(userAgent);\n  }\n  if (goog.userAgent.OPERA) {\n    return /(?:Version)[ \\/]?(\\S+)/.exec(userAgent);\n  }\n  return undefined;\n};\ngoog.userAgent.getDocumentMode_ \x3d function() {\n  var doc \x3d goog.global[\x22document\x22];\n  return doc ? doc[\x22documentMode\x22] : undefined;\n};\ngoog.userAgent.VERSION \x3d goog.userAgent.determineVersion_();\ngoog.userAgent.compare \x3d function(v1, v2) {\n  return goog.string.internal.compareVersions(v1, v2);\n};\ngoog.userAgent.isVersionOrHigherCache_ \x3d {};\ngoog.userAgent.isVersionOrHigher \x3d function(version) {\n  return goog.userAgent.ASSUME_ANY_VERSION || goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_, version, function() {\n    return goog.string.internal.compareVersions(goog.userAgent.VERSION, version) \x3e\x3d 0;\n  });\n};\ngoog.userAgent.isDocumentModeOrHigher \x3d function(documentMode) {\n  return Number(goog.userAgent.DOCUMENT_MODE) \x3e\x3d documentMode;\n};\ngoog.userAgent.isDocumentMode \x3d goog.userAgent.isDocumentModeOrHigher;\ngoog.userAgent.DOCUMENT_MODE \x3d function() {\n  var doc \x3d goog.global[\x22document\x22];\n  if (!doc || !goog.userAgent.IE) {\n    return undefined;\n  }\n  var documentMode \x3d goog.userAgent.getDocumentMode_();\n  if (documentMode) {\n    return documentMode;\n  }\n  var ieVersion \x3d parseInt(goog.userAgent.VERSION, 10);\n  return ieVersion || undefined;\n}();\n");
SHADOW_ENV.evalLoad("clojure.set.js", true, "goog.provide(\x27clojure.set\x27);\nclojure.set.bubble_max_key \x3d (function clojure$set$bubble_max_key(k,coll){\n\nvar max \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max_key,k,coll);\nreturn cljs.core.cons(max,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__28394_SHARP_){\nreturn (max \x3d\x3d\x3d p1__28394_SHARP_);\n}),coll));\n});\n/**\n * Return a set that is the union of the input sets\n */\nclojure.set.union \x3d (function clojure$set$union(var_args){\nvar G__28405 \x3d arguments.length;\nswitch (G__28405) {\ncase 0:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28559 \x3d arguments.length;\nvar i__5750__auto___28560 \x3d (0);\nwhile(true){\nif((i__5750__auto___28560 \x3c len__5749__auto___28559)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28560]));\n\nvar G__28565 \x3d (i__5750__auto___28560 + (1));\ni__5750__auto___28560 \x3d G__28565;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s2,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s1,s2);\n}\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key(cljs.core.count,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.into,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.union.cljs$lang$applyTo \x3d (function (seq28402){\nvar G__28403 \x3d cljs.core.first(seq28402);\nvar seq28402__$1 \x3d cljs.core.next(seq28402);\nvar G__28404 \x3d cljs.core.first(seq28402__$1);\nvar seq28402__$2 \x3d cljs.core.next(seq28402__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28403,G__28404,seq28402__$2);\n}));\n\n(clojure.set.union.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the intersection of the input sets\n */\nclojure.set.intersection \x3d (function clojure$set$intersection(var_args){\nvar G__28427 \x3d arguments.length;\nswitch (G__28427) {\ncase 1:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28582 \x3d arguments.length;\nvar i__5750__auto___28584 \x3d (0);\nwhile(true){\nif((i__5750__auto___28584 \x3c len__5749__auto___28582)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28584]));\n\nvar G__28587 \x3d (i__5750__auto___28584 + (1));\ni__5750__auto___28584 \x3d G__28587;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nwhile(true){\nif((cljs.core.count(s2) \x3c cljs.core.count(s1))){\nvar G__28595 \x3d s2;\nvar G__28596 \x3d s1;\ns1 \x3d G__28595;\ns2 \x3d G__28596;\ncontinue;\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (s1,s2){\nreturn (function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn result;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n}\n});})(s1,s2))\n,s1,s1);\n}\nbreak;\n}\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key((function (p1__28418_SHARP_){\nreturn (- cljs.core.count(p1__28418_SHARP_));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.intersection,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.intersection.cljs$lang$applyTo \x3d (function (seq28422){\nvar G__28423 \x3d cljs.core.first(seq28422);\nvar seq28422__$1 \x3d cljs.core.next(seq28422);\nvar G__28424 \x3d cljs.core.first(seq28422__$1);\nvar seq28422__$2 \x3d cljs.core.next(seq28422__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28423,G__28424,seq28422__$2);\n}));\n\n(clojure.set.intersection.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the first set without elements of the remaining sets\n */\nclojure.set.difference \x3d (function clojure$set$difference(var_args){\nvar G__28454 \x3d arguments.length;\nswitch (G__28454) {\ncase 1:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28616 \x3d arguments.length;\nvar i__5750__auto___28617 \x3d (0);\nwhile(true){\nif((i__5750__auto___28617 \x3c len__5749__auto___28616)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28617]));\n\nvar G__28620 \x3d (i__5750__auto___28617 + (1));\ni__5750__auto___28617 \x3d G__28620;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n} else {\nreturn result;\n}\n}),s1,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,s1,s2);\n}\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.difference,s1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sets,s2));\n}));\n\n/** @this {Function} */\n(clojure.set.difference.cljs$lang$applyTo \x3d (function (seq28449){\nvar G__28450 \x3d cljs.core.first(seq28449);\nvar seq28449__$1 \x3d cljs.core.next(seq28449);\nvar G__28451 \x3d cljs.core.first(seq28449__$1);\nvar seq28449__$2 \x3d cljs.core.next(seq28449__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28450,G__28451,seq28449__$2);\n}));\n\n(clojure.set.difference.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a set of the elements for which pred is true\n */\nclojure.set.select \x3d (function clojure$set$select(pred,xset){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s,k){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(k) : pred.call(null,k)))){\nreturn s;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(s,k);\n}\n}),xset,xset);\n});\n/**\n * Returns a rel of the elements of xrel with only the keys in ks\n */\nclojure.set.project \x3d (function clojure$set$project(xrel,ks){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28467_SHARP_){\nreturn cljs.core.select_keys(p1__28467_SHARP_,ks);\n}),xrel));\n});\n/**\n * Returns the map with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename_keys \x3d (function clojure$set$rename_keys(map,kmap){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,p__28476){\nvar vec__28478 \x3d p__28476;\nvar old \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28478,(0),null);\nvar new$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28478,(1),null);\nif(cljs.core.contains_QMARK_(map,old)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new$,cljs.core.get.cljs$core$IFn$_invoke$arity$2(map,old));\n} else {\nreturn m;\n}\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,map,cljs.core.keys(kmap)),kmap);\n});\n/**\n * Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename \x3d (function clojure$set$rename(xrel,kmap){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28484_SHARP_){\nreturn clojure.set.rename_keys(p1__28484_SHARP_,kmap);\n}),xrel));\n});\n/**\n * Returns a map of the distinct values of ks in the xrel mapped to a\n *   set of the maps in xrel with the corresponding values of ks.\n */\nclojure.set.index \x3d (function clojure$set$index(xrel,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,x){\nvar ik \x3d cljs.core.select_keys(x,ks);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.PersistentHashSet.EMPTY),x));\n}),cljs.core.PersistentArrayMap.EMPTY,xrel);\n});\n/**\n * Returns the map with the vals mapped to the keys.\n */\nclojure.set.map_invert \x3d (function clojure$set$map_invert(m){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (m__$1,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m__$1,v,k);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\n});\n/**\n * When passed 2 rels, returns the rel corresponding to the natural\n *   join. When passed an additional keymap, joins on the corresponding\n *   keys.\n */\nclojure.set.join \x3d (function clojure$set$join(var_args){\nvar G__28506 \x3d arguments.length;\nswitch (G__28506) {\ncase 2:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (xrel,yrel){\nif(((cljs.core.seq(xrel)) \x26\x26 (cljs.core.seq(yrel)))){\nvar ks \x3d clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.keys(cljs.core.first(xrel))),cljs.core.set(cljs.core.keys(cljs.core.first(yrel))));\nvar vec__28515 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28515,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28515,(1),null);\nvar idx \x3d clojure.set.index(r,ks);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__28518 \x3d cljs.core.select_keys(x,ks);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__28518) : idx.call(null,G__28518));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28498_SHARP_,p2__28499_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28498_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__28499_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n} else {\nreturn cljs.core.PersistentHashSet.EMPTY;\n}\n}));\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$3 \x3d (function (xrel,yrel,km){\nvar vec__28519 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel,clojure.set.map_invert(km)], null):new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel,km], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28519,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28519,(1),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28519,(2),null);\nvar idx \x3d clojure.set.index(r,cljs.core.vals(k));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__28526 \x3d clojure.set.rename_keys(cljs.core.select_keys(x,cljs.core.keys(k)),k);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__28526) : idx.call(null,G__28526));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28500_SHARP_,p2__28501_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28500_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__28501_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n}));\n\n(clojure.set.join.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Is set1 a subset of set2?\n */\nclojure.set.subset_QMARK_ \x3d (function clojure$set$subset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3c\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__28527_SHARP_){\nreturn cljs.core.contains_QMARK_(set2,p1__28527_SHARP_);\n}),set1)));\n});\n/**\n * Is set1 a superset of set2?\n */\nclojure.set.superset_QMARK_ \x3d (function clojure$set$superset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3e\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__28532_SHARP_){\nreturn cljs.core.contains_QMARK_(set1,p1__28532_SHARP_);\n}),set2)));\n});\n");
SHADOW_ENV.evalLoad("clojure.data.js", true, "goog.provide(\x27clojure.data\x27);\n/**\n * Internal helper for diff.\n */\nclojure.data.atom_diff \x3d (function clojure$data$atom_diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [a,b,null], null);\n}\n});\n/**\n * Convert an associative-by-numeric-index collection into\n * an equivalent vector, with nil for any missing keys\n */\nclojure.data.vectorize \x3d (function clojure$data$vectorize(m){\nif(cljs.core.seq(m)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,p__28867){\nvar vec__28868 \x3d p__28867;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28868,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28868,(1),null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,k,v);\n}),cljs.core.vec(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.keys(m)),null)),m);\n} else {\nreturn null;\n}\n});\n/**\n * Diff associative things a and b, comparing only the key k.\n */\nclojure.data.diff_associative_key \x3d (function clojure$data$diff_associative_key(a,b,k){\nvar va \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,k);\nvar vb \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,k);\nvar vec__28876 \x3d clojure.data.diff(va,vb);\nvar a_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28876,(0),null);\nvar b_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28876,(1),null);\nvar ab \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28876,(2),null);\nvar in_a \x3d cljs.core.contains_QMARK_(a,k);\nvar in_b \x3d cljs.core.contains_QMARK_(b,k);\nvar same \x3d ((in_a) \x26\x26 (((in_b) \x26\x26 ((((!((ab \x3d\x3d null)))) || ((((va \x3d\x3d null)) \x26\x26 ((vb \x3d\x3d null)))))))));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((((in_a) \x26\x26 ((((!((a_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,a_STAR_]):null),((((in_b) \x26\x26 ((((!((b_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,b_STAR_]):null),((same)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ab]):null)], null);\n});\n/**\n * Diff associative things a and b, comparing only keys in ks (if supplied).\n */\nclojure.data.diff_associative \x3d (function clojure$data$diff_associative(var_args){\nvar G__28921 \x3d arguments.length;\nswitch (G__28921) {\ncase 2:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(a,b,clojure.set.union.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(a),cljs.core.keys(b)));\n}));\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (diff1,diff2){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.merge,diff1,diff2));\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,null], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$3(clojure.data.diff_associative_key,a,b),ks));\n}));\n\n(clojure.data.diff_associative.cljs$lang$maxFixedArity \x3d 3);\n\nclojure.data.diff_sequential \x3d (function clojure$data$diff_sequential(a,b){\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.data.vectorize,clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(((cljs.core.vector_QMARK_(a))?a:cljs.core.vec(a)),((cljs.core.vector_QMARK_(b))?b:cljs.core.vec(b)),cljs.core.range.cljs$core$IFn$_invoke$arity$1((function (){var x__5110__auto__ \x3d cljs.core.count(a);\nvar y__5111__auto__ \x3d cljs.core.count(b);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})()))));\n});\nclojure.data.diff_set \x3d (function clojure$data$diff_set(a,b){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(a,b)),cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(b,a)),cljs.core.not_empty(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(a,b))], null);\n});\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.EqualityPartition \x3d function(){};\n\nvar clojure$data$EqualityPartition$equality_partition$dyn_29175 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (clojure.data.equality_partition[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (clojure.data.equality_partition[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22EqualityPartition.equality-partition\x22,x);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.equality_partition \x3d (function clojure$data$equality_partition(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.clojure$data$EqualityPartition$equality_partition$arity$1 \x3d\x3d null)))))){\nreturn x.clojure$data$EqualityPartition$equality_partition$arity$1(x);\n} else {\nreturn clojure$data$EqualityPartition$equality_partition$dyn_29175(x);\n}\n});\n\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.Diff \x3d function(){};\n\nvar clojure$data$Diff$diff_similar$dyn_29213 \x3d (function (a,b){\nvar x__5373__auto__ \x3d (((a \x3d\x3d null))?null:a);\nvar m__5374__auto__ \x3d (clojure.data.diff_similar[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5374__auto__.call(null,a,b));\n} else {\nvar m__5372__auto__ \x3d (clojure.data.diff_similar[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5372__auto__.call(null,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Diff.diff-similar\x22,a);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.diff_similar \x3d (function clojure$data$diff_similar(a,b){\nif((((!((a \x3d\x3d null)))) \x26\x26 ((!((a.clojure$data$Diff$diff_similar$arity$2 \x3d\x3d null)))))){\nreturn a.clojure$data$Diff$diff_similar$arity$2(a,b);\n} else {\nreturn clojure$data$Diff$diff_similar$dyn_29213(a,b);\n}\n});\n\n(clojure.data.EqualityPartition[\x22null\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22null\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22string\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22string\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22number\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22number\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22array\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22array\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n}));\n\n(clojure.data.EqualityPartition[\x22function\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22function\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22boolean\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22boolean\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22_\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22_\x22] \x3d (function (x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x))){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x))){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x))){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n} else {\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n\n}\n}\n}\n}));\n(clojure.data.Diff[\x22null\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22null\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22string\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22string\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22number\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22number\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22array\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22array\x22] \x3d (function (a,b){\nreturn clojure.data.diff_sequential(a,b);\n}));\n\n(clojure.data.Diff[\x22function\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22function\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22boolean\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22boolean\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22_\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22_\x22] \x3d (function (a,b){\nvar fexpr__29065 \x3d (function (){var G__29066 \x3d clojure.data.equality_partition(a);\nvar G__29066__$1 \x3d (((G__29066 instanceof cljs.core.Keyword))?G__29066.fqn:null);\nswitch (G__29066__$1) {\ncase \x22atom\x22:\nreturn clojure.data.atom_diff;\n\nbreak;\ncase \x22set\x22:\nreturn clojure.data.diff_set;\n\nbreak;\ncase \x22sequential\x22:\nreturn clojure.data.diff_sequential;\n\nbreak;\ncase \x22map\x22:\nreturn clojure.data.diff_associative;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__29066__$1)].join(\x27\x27)));\n\n}\n})();\nreturn (fexpr__29065.cljs$core$IFn$_invoke$arity$2 ? fexpr__29065.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__29065.call(null,a,b));\n}));\n/**\n * Recursively compares a and b, returning a tuple of\n *   [things-only-in-a things-only-in-b things-in-both].\n *   Comparison rules:\n * \n *   * For equal a and b, return [nil nil a].\n *   * Maps are subdiffed where keys match and values differ.\n *   * Sets are never subdiffed.\n *   * All sequential things are treated as associative collections\n *  by their indexes, with results returned as vectors.\n *   * Everything else (including strings!) is treated as\n *  an atom and compared for equality.\n */\nclojure.data.diff \x3d (function clojure$data$diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clojure.data.equality_partition(a),clojure.data.equality_partition(b))){\nreturn clojure.data.diff_similar(a,b);\n} else {\nreturn clojure.data.atom_diff(a,b);\n}\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.version.js", true, "goog.provide(\x27devtools.version\x27);\ndevtools.version.current_version \x3d \x221.0.7\x22;\ndevtools.version.get_current_version \x3d (function devtools$version$get_current_version(){\nreturn devtools.version.current_version;\n});\n");
SHADOW_ENV.evalLoad("cljs.pprint.js", true, "goog.provide(\x27cljs.pprint\x27);\ncljs.pprint.print \x3d (function cljs$pprint$print(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31079 \x3d arguments.length;\nvar i__5750__auto___31080 \x3d (0);\nwhile(true){\nif((i__5750__auto___31080 \x3c len__5749__auto___31079)){\nargs__5755__auto__.push((arguments[i__5750__auto___31080]));\n\nvar G__31083 \x3d (i__5750__auto___31080 + (1));\ni__5750__auto___31080 \x3d G__31083;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.print_str,more));\n}));\n\n(cljs.pprint.print.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.print.cljs$lang$applyTo \x3d (function (seq28861){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28861));\n}));\n\ncljs.pprint.println \x3d (function cljs$pprint$println(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31086 \x3d arguments.length;\nvar i__5750__auto___31087 \x3d (0);\nwhile(true){\nif((i__5750__auto___31087 \x3c len__5749__auto___31086)){\nargs__5755__auto__.push((arguments[i__5750__auto___31087]));\n\nvar G__31088 \x3d (i__5750__auto___31087 + (1));\ni__5750__auto___31087 \x3d G__31088;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.print,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.println.cljs$lang$applyTo \x3d (function (seq28873){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28873));\n}));\n\ncljs.pprint.print_char \x3d (function cljs$pprint$print_char(c){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,(function (){var pred__28909 \x3d cljs.core._EQ_;\nvar expr__28910 \x3d c;\nif(cljs.core.truth_((function (){var G__28912 \x3d \x22\\b\x22;\nvar G__28913 \x3d expr__28910;\nreturn (pred__28909.cljs$core$IFn$_invoke$arity$2 ? pred__28909.cljs$core$IFn$_invoke$arity$2(G__28912,G__28913) : pred__28909.call(null,G__28912,G__28913));\n})())){\nreturn \x22\\\\backspace\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28915 \x3d \x22 \x22;\nvar G__28916 \x3d expr__28910;\nreturn (pred__28909.cljs$core$IFn$_invoke$arity$2 ? pred__28909.cljs$core$IFn$_invoke$arity$2(G__28915,G__28916) : pred__28909.call(null,G__28915,G__28916));\n})())){\nreturn \x22\\\\space\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28919 \x3d \x22\\t\x22;\nvar G__28920 \x3d expr__28910;\nreturn (pred__28909.cljs$core$IFn$_invoke$arity$2 ? pred__28909.cljs$core$IFn$_invoke$arity$2(G__28919,G__28920) : pred__28909.call(null,G__28919,G__28920));\n})())){\nreturn \x22\\\\tab\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28924 \x3d \x22\\n\x22;\nvar G__28925 \x3d expr__28910;\nreturn (pred__28909.cljs$core$IFn$_invoke$arity$2 ? pred__28909.cljs$core$IFn$_invoke$arity$2(G__28924,G__28925) : pred__28909.call(null,G__28924,G__28925));\n})())){\nreturn \x22\\\\newline\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28927 \x3d \x22\\f\x22;\nvar G__28928 \x3d expr__28910;\nreturn (pred__28909.cljs$core$IFn$_invoke$arity$2 ? pred__28909.cljs$core$IFn$_invoke$arity$2(G__28927,G__28928) : pred__28909.call(null,G__28927,G__28928));\n})())){\nreturn \x22\\\\formfeed\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28930 \x3d \x22\\r\x22;\nvar G__28931 \x3d expr__28910;\nreturn (pred__28909.cljs$core$IFn$_invoke$arity$2 ? pred__28909.cljs$core$IFn$_invoke$arity$2(G__28930,G__28931) : pred__28909.call(null,G__28930,G__28931));\n})())){\nreturn \x22\\\\return\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28933 \x3d \x22\\\x22\x22;\nvar G__28934 \x3d expr__28910;\nreturn (pred__28909.cljs$core$IFn$_invoke$arity$2 ? pred__28909.cljs$core$IFn$_invoke$arity$2(G__28933,G__28934) : pred__28909.call(null,G__28933,G__28934));\n})())){\nreturn \x22\\\\\\\x22\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28935 \x3d \x22\\\\\x22;\nvar G__28936 \x3d expr__28910;\nreturn (pred__28909.cljs$core$IFn$_invoke$arity$2 ? pred__28909.cljs$core$IFn$_invoke$arity$2(G__28935,G__28936) : pred__28909.call(null,G__28935,G__28936));\n})())){\nreturn \x22\\\\\\\\\x22;\n} else {\nreturn [\x22\\\\\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(\x27\x27);\n}\n}\n}\n}\n}\n}\n}\n}\n})());\n});\ncljs.pprint.pr \x3d (function cljs$pprint$pr(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31093 \x3d arguments.length;\nvar i__5750__auto___31094 \x3d (0);\nwhile(true){\nif((i__5750__auto___31094 \x3c len__5749__auto___31093)){\nargs__5755__auto__.push((arguments[i__5750__auto___31094]));\n\nvar G__31095 \x3d (i__5750__auto___31094 + (1));\ni__5750__auto___31094 \x3d G__31095;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.pr_str,more));\n}));\n\n(cljs.pprint.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.pr.cljs$lang$applyTo \x3d (function (seq28938){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28938));\n}));\n\ncljs.pprint.prn \x3d (function cljs$pprint$prn(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31098 \x3d arguments.length;\nvar i__5750__auto___31099 \x3d (0);\nwhile(true){\nif((i__5750__auto___31099 \x3c len__5749__auto___31098)){\nargs__5755__auto__.push((arguments[i__5750__auto___31099]));\n\nvar G__31100 \x3d (i__5750__auto___31099 + (1));\ni__5750__auto___31099 \x3d G__31100;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.pr,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.prn.cljs$lang$applyTo \x3d (function (seq28945){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28945));\n}));\n\n/**\n * Returns true if n is an float.\n */\ncljs.pprint.float_QMARK_ \x3d (function cljs$pprint$float_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((!((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))))));\n});\n/**\n * Convert char to int\n */\ncljs.pprint.char_code \x3d (function cljs$pprint$char_code(c){\nif(typeof c \x3d\x3d\x3d \x27number\x27){\nreturn c;\n} else {\nif(((typeof c \x3d\x3d\x3d \x27string\x27) \x26\x26 ((c.length \x3d\x3d\x3d (1))))){\nreturn c.charCodeAt((0));\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.pprint.map_passing_context \x3d (function cljs$pprint$map_passing_context(func,initial_context,lis){\nvar context \x3d initial_context;\nvar lis__$1 \x3d lis;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(lis__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar this$ \x3d cljs.core.first(lis__$1);\nvar remainder \x3d cljs.core.next(lis__$1);\nvar vec__28984 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28984,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28984,(1),null);\nvar G__31105 \x3d new_context;\nvar G__31106 \x3d remainder;\nvar G__31107 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__31105;\nlis__$1 \x3d G__31106;\nacc \x3d G__31107;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume \x3d (function cljs$pprint$consume(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__29005 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29005,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29005,(1),null);\nif(cljs.core.not(result)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,new_context], null);\n} else {\nvar G__31110 \x3d new_context;\nvar G__31111 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__31110;\nacc \x3d G__31111;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume_while \x3d (function cljs$pprint$consume_while(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__29032 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29032,(0),null);\nvar continue$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29032,(1),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29032,(2),null);\nif(cljs.core.not(continue$)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar G__31112 \x3d new_context;\nvar G__31113 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__31112;\nacc \x3d G__31113;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.unzip_map \x3d (function cljs$pprint$unzip_map(m){\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5503__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__29090(s__29091){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__29091__$1 \x3d s__29091;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__29091__$1);\nif(temp__5804__auto__){\nvar s__29091__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__29091__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__29091__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__29094 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__29093 \x3d (0);\nwhile(true){\nif((i__29093 \x3c size__5502__auto__)){\nvar vec__29106 \x3d cljs.core._nth(c__5501__auto__,i__29093);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29106,(0),null);\nvar vec__29109 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29106,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29109,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29109,(1),null);\ncljs.core.chunk_append(b__29094,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null));\n\nvar G__31114 \x3d (i__29093 + (1));\ni__29093 \x3d G__31114;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29094),cljs$pprint$unzip_map_$_iter__29090(cljs.core.chunk_rest(s__29091__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29094),null);\n}\n} else {\nvar vec__29117 \x3d cljs.core.first(s__29091__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29117,(0),null);\nvar vec__29120 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29117,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29120,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29120,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null),cljs$pprint$unzip_map_$_iter__29090(cljs.core.rest(s__29091__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(m);\n})()),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5503__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__29129(s__29130){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__29130__$1 \x3d s__29130;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__29130__$1);\nif(temp__5804__auto__){\nvar s__29130__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__29130__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__29130__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__29132 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__29131 \x3d (0);\nwhile(true){\nif((i__29131 \x3c size__5502__auto__)){\nvar vec__29148 \x3d cljs.core._nth(c__5501__auto__,i__29131);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29148,(0),null);\nvar vec__29151 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29148,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29151,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29151,(1),null);\ncljs.core.chunk_append(b__29132,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null));\n\nvar G__31116 \x3d (i__29131 + (1));\ni__29131 \x3d G__31116;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29132),cljs$pprint$unzip_map_$_iter__29129(cljs.core.chunk_rest(s__29130__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29132),null);\n}\n} else {\nvar vec__29159 \x3d cljs.core.first(s__29130__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29159,(0),null);\nvar vec__29162 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29159,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29162,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29162,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null),cljs$pprint$unzip_map_$_iter__29129(cljs.core.rest(s__29130__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(m);\n})())], null);\n});\ncljs.pprint.tuple_map \x3d (function cljs$pprint$tuple_map(m,v1){\n\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5503__auto__ \x3d (function cljs$pprint$tuple_map_$_iter__29176(s__29177){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__29177__$1 \x3d s__29177;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__29177__$1);\nif(temp__5804__auto__){\nvar s__29177__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__29177__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__29177__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__29179 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__29178 \x3d (0);\nwhile(true){\nif((i__29178 \x3c size__5502__auto__)){\nvar vec__29203 \x3d cljs.core._nth(c__5501__auto__,i__29178);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29203,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29203,(1),null);\ncljs.core.chunk_append(b__29179,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null));\n\nvar G__31118 \x3d (i__29178 + (1));\ni__29178 \x3d G__31118;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29179),cljs$pprint$tuple_map_$_iter__29176(cljs.core.chunk_rest(s__29177__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29179),null);\n}\n} else {\nvar vec__29214 \x3d cljs.core.first(s__29177__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29214,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29214,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null),cljs$pprint$tuple_map_$_iter__29176(cljs.core.rest(s__29177__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(m);\n})());\n});\ncljs.pprint.rtrim \x3d (function cljs$pprint$rtrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1))),c)))){\nvar n \x3d (len - (1));\nwhile(true){\nif((n \x3c (0))){\nreturn \x22\x22;\n} else {\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(n + (1)));\n} else {\nvar G__31120 \x3d (n - (1));\nn \x3d G__31120;\ncontinue;\n\n}\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.ltrim \x3d (function cljs$pprint$ltrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(0)),c)))){\nvar n \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,len)) || ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,n);\n} else {\nvar G__31124 \x3d (n + (1));\nn \x3d G__31124;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.prefix_count \x3d (function cljs$pprint$prefix_count(aseq,val){\n\nvar test \x3d ((cljs.core.coll_QMARK_(val))?cljs.core.set(val):cljs.core.PersistentHashSet.createAsIfByAssoc([val]));\nvar pos \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pos,cljs.core.count(aseq))) || (cljs.core.not((function (){var G__29269 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(aseq,pos);\nreturn (test.cljs$core$IFn$_invoke$arity$1 ? test.cljs$core$IFn$_invoke$arity$1(G__29269) : test.call(null,G__29269));\n})())))){\nreturn pos;\n} else {\nvar G__31127 \x3d (pos + (1));\npos \x3d G__31127;\ncontinue;\n}\nbreak;\n}\n});\n\n/**\n * @interface\n */\ncljs.pprint.IPrettyFlush \x3d function(){};\n\nvar cljs$pprint$IPrettyFlush$_ppflush$dyn_31128 \x3d (function (pp){\nvar x__5373__auto__ \x3d (((pp \x3d\x3d null))?null:pp);\nvar m__5374__auto__ \x3d (cljs.pprint._ppflush[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5374__auto__.call(null,pp));\n} else {\nvar m__5372__auto__ \x3d (cljs.pprint._ppflush[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5372__auto__.call(null,pp));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrettyFlush.-ppflush\x22,pp);\n}\n}\n});\ncljs.pprint._ppflush \x3d (function cljs$pprint$_ppflush(pp){\nif((((!((pp \x3d\x3d null)))) \x26\x26 ((!((pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d\x3d null)))))){\nreturn pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1(pp);\n} else {\nreturn cljs$pprint$IPrettyFlush$_ppflush$dyn_31128(pp);\n}\n});\n\ncljs.pprint._STAR_default_page_width_STAR_ \x3d (72);\ncljs.pprint.get_field \x3d (function cljs$pprint$get_field(this$,sym){\nvar G__29310 \x3d cljs.core.deref(cljs.core.deref(this$));\nreturn (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(G__29310) : sym.call(null,G__29310));\n});\ncljs.pprint.set_field \x3d (function cljs$pprint$set_field(this$,sym,new_val){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,sym,new_val);\n});\ncljs.pprint.get_column \x3d (function cljs$pprint$get_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599));\n});\ncljs.pprint.get_line \x3d (function cljs$pprint$get_line(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\n});\ncljs.pprint.get_max_column \x3d (function cljs$pprint$get_max_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548));\n});\ncljs.pprint.set_max_column \x3d (function cljs$pprint$set_max_column(this$,new_max){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),new_max);\n\nreturn null;\n});\ncljs.pprint.get_writer \x3d (function cljs$pprint$get_writer(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322));\n});\ncljs.pprint.c_write_char \x3d (function cljs$pprint$c_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0));\n\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + (1)));\n} else {\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + (1)));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),c);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint29356 \x3d (function (writer,max_columns,fields,meta29357){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.fields \x3d fields;\nthis.meta29357 \x3d meta29357;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint29356.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_29358,meta29357__$1){\nvar self__ \x3d this;\nvar _29358__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint29356(self__.writer,self__.max_columns,self__.fields,meta29357__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint29356.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_29358){\nvar self__ \x3d this;\nvar _29358__$1 \x3d this;\nreturn self__.meta29357;\n}));\n\n(cljs.pprint.t_cljs$pprint29356.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint29356.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint29356.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__29374 \x3d cljs.core._EQ_;\nvar expr__29375 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__29374.cljs$core$IFn$_invoke$arity$2 ? pred__29374.cljs$core$IFn$_invoke$arity$2(String,expr__29375) : pred__29374.call(null,String,expr__29375)))){\nvar s \x3d x;\nvar nl \x3d s.lastIndexOf(\x22\\n\x22);\nif((nl \x3c (0))){\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + cljs.core.count(s)));\n} else {\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),((cljs.core.count(s) - nl) - (1)));\n\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + cljs.core.count(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__29344_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p1__29344_SHARP_,\x22\\n\x22);\n}),s))));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),s);\n} else {\nif(cljs.core.truth_((pred__29374.cljs$core$IFn$_invoke$arity$2 ? pred__29374.cljs$core$IFn$_invoke$arity$2(Number,expr__29375) : pred__29374.call(null,Number,expr__29375)))){\nreturn cljs.pprint.c_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__29375)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint29356.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta29357\x22,\x22meta29357\x22,-1712039108,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint29356.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint29356.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint29356\x22);\n\n(cljs.pprint.t_cljs$pprint29356.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint29356\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint29356.\n */\ncljs.pprint.__GT_t_cljs$pprint29356 \x3d (function cljs$pprint$__GT_t_cljs$pprint29356(writer,max_columns,fields,meta29357){\nreturn (new cljs.pprint.t_cljs$pprint29356(writer,max_columns,fields,meta29357));\n});\n\n\ncljs.pprint.column_writer \x3d (function cljs$pprint$column_writer(var_args){\nvar G__29346 \x3d arguments.length;\nswitch (G__29346) {\ncase 1:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (writer){\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,cljs.pprint._STAR_default_page_width_STAR_);\n}));\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (writer,max_columns){\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),max_columns,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(0),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),writer], null));\nreturn (new cljs.pprint.t_cljs$pprint29356(writer,max_columns,fields,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.pprint.column_writer.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.logical_block \x3d (function (parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,__meta,__extmap,__hash){\nthis.parent \x3d parent;\nthis.section \x3d section;\nthis.start_col \x3d start_col;\nthis.indent \x3d indent;\nthis.done_nl \x3d done_nl;\nthis.intra_block_nl \x3d intra_block_nl;\nthis.prefix \x3d prefix;\nthis.per_line_prefix \x3d per_line_prefix;\nthis.suffix \x3d suffix;\nthis.logical_block_callback \x3d logical_block_callback;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29403,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29426 \x3d k29403;\nvar G__29426__$1 \x3d (((G__29426 instanceof cljs.core.Keyword))?G__29426.fqn:null);\nswitch (G__29426__$1) {\ncase \x22parent\x22:\nreturn self__.parent;\n\nbreak;\ncase \x22section\x22:\nreturn self__.section;\n\nbreak;\ncase \x22start-col\x22:\nreturn self__.start_col;\n\nbreak;\ncase \x22indent\x22:\nreturn self__.indent;\n\nbreak;\ncase \x22done-nl\x22:\nreturn self__.done_nl;\n\nbreak;\ncase \x22intra-block-nl\x22:\nreturn self__.intra_block_nl;\n\nbreak;\ncase \x22prefix\x22:\nreturn self__.prefix;\n\nbreak;\ncase \x22per-line-prefix\x22:\nreturn self__.per_line_prefix;\n\nbreak;\ncase \x22suffix\x22:\nreturn self__.suffix;\n\nbreak;\ncase \x22logical-block-callback\x22:\nreturn self__.logical_block_callback;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29403,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29432){\nvar vec__29434 \x3d p__29432;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29434,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29434,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.logical-block{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29402){\nvar self__ \x3d this;\nvar G__29402__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29402__$1,10,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (10 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1977012399 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29404,other29405){\nvar self__ \x3d this;\nvar this29404__$1 \x3d this;\nreturn (((!((other29405 \x3d\x3d null)))) \x26\x26 ((((this29404__$1.constructor \x3d\x3d\x3d other29405.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.parent,other29405.parent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.section,other29405.section)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.start_col,other29405.start_col)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.indent,other29405.indent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.done_nl,other29405.done_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.intra_block_nl,other29405.intra_block_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.prefix,other29405.prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.per_line_prefix,other29405.per_line_prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.suffix,other29405.suffix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.logical_block_callback,other29405.logical_block_callback)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29404__$1.__extmap,other29405.__extmap)))))))))))))))))))))))));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 10, [new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29403){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29501 \x3d k29403;\nvar G__29501__$1 \x3d (((G__29501 instanceof cljs.core.Keyword))?G__29501.fqn:null);\nswitch (G__29501__$1) {\ncase \x22parent\x22:\ncase \x22section\x22:\ncase \x22start-col\x22:\ncase \x22indent\x22:\ncase \x22done-nl\x22:\ncase \x22intra-block-nl\x22:\ncase \x22prefix\x22:\ncase \x22per-line-prefix\x22:\ncase \x22suffix\x22:\ncase \x22logical-block-callback\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29403);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29402){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29511 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29512 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__29512)))){\nreturn (new cljs.pprint.logical_block(G__29402,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__29512)))){\nreturn (new cljs.pprint.logical_block(self__.parent,G__29402,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__29512)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,G__29402,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__29512)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,G__29402,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__29512)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,G__29402,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__29512)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,G__29402,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__29512)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,G__29402,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__29512)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,G__29402,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__29512)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,G__29402,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29511.cljs$core$IFn$_invoke$arity$2 ? pred__29511.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__29512) : pred__29511.call(null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__29512)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,G__29402,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29402),null));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29402){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,G__29402,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.logical_block.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22parent\x22,\x22parent\x22,761652748,null),new cljs.core.Symbol(null,\x22section\x22,\x22section\x22,1340390001,null),new cljs.core.Symbol(null,\x22start-col\x22,\x22start-col\x22,-1986355626,null),new cljs.core.Symbol(null,\x22indent\x22,\x22indent\x22,1492331402,null),new cljs.core.Symbol(null,\x22done-nl\x22,\x22done-nl\x22,1259507187,null),new cljs.core.Symbol(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,-845608894,null),new cljs.core.Symbol(null,\x22prefix\x22,\x22prefix\x22,1374623062,null),new cljs.core.Symbol(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,-1807493956,null),new cljs.core.Symbol(null,\x22suffix\x22,\x22suffix\x22,2007904584,null),new cljs.core.Symbol(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,-1041744575,null)], null);\n}));\n\n(cljs.pprint.logical_block.cljs$lang$type \x3d true);\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/logical-block\x22,null,(1),null));\n}));\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/logical-block\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/logical-block.\n */\ncljs.pprint.__GT_logical_block \x3d (function cljs$pprint$__GT_logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback){\nreturn (new cljs.pprint.logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/logical-block, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_logical_block \x3d (function cljs$pprint$map__GT_logical_block(G__29418){\nvar extmap__5365__auto__ \x3d (function (){var G__29556 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29418,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], 0));\nif(cljs.core.record_QMARK_(G__29418)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29556);\n} else {\nreturn G__29556;\n}\n})();\nreturn (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(G__29418),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526).cljs$core$IFn$_invoke$arity$1(G__29418),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(G__29418),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(G__29418),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(G__29418),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(G__29418),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(G__29418),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(G__29418),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(G__29418),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(G__29418),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\ncljs.pprint.ancestor_QMARK_ \x3d (function cljs$pprint$ancestor_QMARK_(parent,child){\nvar child__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child);\nwhile(true){\nif((child__$1 \x3d\x3d null)){\nreturn false;\n} else {\nif((parent \x3d\x3d\x3d child__$1)){\nreturn true;\n} else {\nvar G__31170 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child__$1);\nchild__$1 \x3d G__31170;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.buffer_length \x3d (function cljs$pprint$buffer_length(l){\nvar l__$1 \x3d cljs.core.seq(l);\nif(l__$1){\nreturn (new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(cljs.core.last(l__$1)) - new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(cljs.core.first(l__$1)));\n} else {\nreturn (0);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.buffer_blob \x3d (function (type_tag,data,trailing_white_space,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.data \x3d data;\nthis.trailing_white_space \x3d trailing_white_space;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29577,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29592 \x3d k29577;\nvar G__29592__$1 \x3d (((G__29592 instanceof cljs.core.Keyword))?G__29592.fqn:null);\nswitch (G__29592__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22data\x22:\nreturn self__.data;\n\nbreak;\ncase \x22trailing-white-space\x22:\nreturn self__.trailing_white_space;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29577,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29598){\nvar vec__29599 \x3d p__29598;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29599,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29599,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.buffer-blob{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29576){\nvar self__ \x3d this;\nvar G__29576__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29576__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1809113693 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29579,other29580){\nvar self__ \x3d this;\nvar this29579__$1 \x3d this;\nreturn (((!((other29580 \x3d\x3d null)))) \x26\x26 ((((this29579__$1.constructor \x3d\x3d\x3d other29580.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29579__$1.type_tag,other29580.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29579__$1.data,other29580.data)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29579__$1.trailing_white_space,other29580.trailing_white_space)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29579__$1.start_pos,other29580.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29579__$1.end_pos,other29580.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29579__$1.__extmap,other29580.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29577){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29641 \x3d k29577;\nvar G__29641__$1 \x3d (((G__29641 instanceof cljs.core.Keyword))?G__29641.fqn:null);\nswitch (G__29641__$1) {\ncase \x22type-tag\x22:\ncase \x22data\x22:\ncase \x22trailing-white-space\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29577);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29576){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29653 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29654 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29653.cljs$core$IFn$_invoke$arity$2 ? pred__29653.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29654) : pred__29653.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29654)))){\nreturn (new cljs.pprint.buffer_blob(G__29576,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29653.cljs$core$IFn$_invoke$arity$2 ? pred__29653.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__29654) : pred__29653.call(null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__29654)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,G__29576,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29653.cljs$core$IFn$_invoke$arity$2 ? pred__29653.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__29654) : pred__29653.call(null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__29654)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,G__29576,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29653.cljs$core$IFn$_invoke$arity$2 ? pred__29653.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29654) : pred__29653.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29654)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,G__29576,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29653.cljs$core$IFn$_invoke$arity$2 ? pred__29653.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29654) : pred__29653.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29654)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,G__29576,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29576),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29576){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,G__29576,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.buffer_blob.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.Symbol(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,-1158428773,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$type \x3d true);\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/buffer-blob\x22,null,(1),null));\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/buffer-blob\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/buffer-blob.\n */\ncljs.pprint.__GT_buffer_blob \x3d (function cljs$pprint$__GT_buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/buffer-blob, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_buffer_blob \x3d (function cljs$pprint$map__GT_buffer_blob(G__29583){\nvar extmap__5365__auto__ \x3d (function (){var G__29683 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29583,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29583)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29683);\n} else {\nreturn G__29683;\n}\n})();\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29583),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(G__29583),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(G__29583),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29583),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29583),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_buffer_blob \x3d (function cljs$pprint$make_buffer_blob(data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.buffer_blob_QMARK_ \x3d (function cljs$pprint$buffer_blob_QMARK_(x__28708__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28708__auto__),new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.nl_t \x3d (function (type_tag,type,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.type \x3d type;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29694,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29706 \x3d k29694;\nvar G__29706__$1 \x3d (((G__29706 instanceof cljs.core.Keyword))?G__29706.fqn:null);\nswitch (G__29706__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22type\x22:\nreturn self__.type;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29694,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29709){\nvar vec__29710 \x3d p__29709;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29710,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29710,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.nl-t{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29693){\nvar self__ \x3d this;\nvar G__29693__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29693__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-1640656800 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29695,other29696){\nvar self__ \x3d this;\nvar this29695__$1 \x3d this;\nreturn (((!((other29696 \x3d\x3d null)))) \x26\x26 ((((this29695__$1.constructor \x3d\x3d\x3d other29696.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29695__$1.type_tag,other29696.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29695__$1.type,other29696.type)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29695__$1.logical_block,other29696.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29695__$1.start_pos,other29696.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29695__$1.end_pos,other29696.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29695__$1.__extmap,other29696.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29694){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29739 \x3d k29694;\nvar G__29739__$1 \x3d (((G__29739 instanceof cljs.core.Keyword))?G__29739.fqn:null);\nswitch (G__29739__$1) {\ncase \x22type-tag\x22:\ncase \x22type\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29694);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29693){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29742 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29743 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29742.cljs$core$IFn$_invoke$arity$2 ? pred__29742.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29743) : pred__29742.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29743)))){\nreturn (new cljs.pprint.nl_t(G__29693,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29742.cljs$core$IFn$_invoke$arity$2 ? pred__29742.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__29743) : pred__29742.call(null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__29743)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,G__29693,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29742.cljs$core$IFn$_invoke$arity$2 ? pred__29742.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29743) : pred__29742.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29743)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,G__29693,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29742.cljs$core$IFn$_invoke$arity$2 ? pred__29742.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29743) : pred__29742.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29743)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,G__29693,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29742.cljs$core$IFn$_invoke$arity$2 ? pred__29742.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29743) : pred__29742.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29743)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,G__29693,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29693),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29693){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,G__29693,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.nl_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.nl_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/nl-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/nl-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/nl-t.\n */\ncljs.pprint.__GT_nl_t \x3d (function cljs$pprint$__GT_nl_t(type_tag,type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(type_tag,type,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/nl-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_nl_t \x3d (function cljs$pprint$map__GT_nl_t(G__29700){\nvar extmap__5365__auto__ \x3d (function (){var G__29755 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29700,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29700)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29755);\n} else {\nreturn G__29755;\n}\n})();\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29700),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(G__29700),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__29700),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29700),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29700),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_nl_t \x3d (function cljs$pprint$make_nl_t(type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),type,logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.nl_t_QMARK_ \x3d (function cljs$pprint$nl_t_QMARK_(x__28708__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28708__auto__),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.start_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29760,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29767 \x3d k29760;\nvar G__29767__$1 \x3d (((G__29767 instanceof cljs.core.Keyword))?G__29767.fqn:null);\nswitch (G__29767__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29760,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29769){\nvar vec__29770 \x3d p__29769;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29770,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29770,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.start-block-t{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29759){\nvar self__ \x3d this;\nvar G__29759__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29759__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-414877272 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29761,other29762){\nvar self__ \x3d this;\nvar this29761__$1 \x3d this;\nreturn (((!((other29762 \x3d\x3d null)))) \x26\x26 ((((this29761__$1.constructor \x3d\x3d\x3d other29762.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29761__$1.type_tag,other29762.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29761__$1.logical_block,other29762.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29761__$1.start_pos,other29762.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29761__$1.end_pos,other29762.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29761__$1.__extmap,other29762.__extmap)))))))))))));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29760){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29791 \x3d k29760;\nvar G__29791__$1 \x3d (((G__29791 instanceof cljs.core.Keyword))?G__29791.fqn:null);\nswitch (G__29791__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29760);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29759){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29792 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29793 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29792.cljs$core$IFn$_invoke$arity$2 ? pred__29792.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29793) : pred__29792.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29793)))){\nreturn (new cljs.pprint.start_block_t(G__29759,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29792.cljs$core$IFn$_invoke$arity$2 ? pred__29792.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29793) : pred__29792.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29793)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,G__29759,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29792.cljs$core$IFn$_invoke$arity$2 ? pred__29792.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29793) : pred__29792.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29793)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,G__29759,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29792.cljs$core$IFn$_invoke$arity$2 ? pred__29792.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29793) : pred__29792.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29793)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__29759,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29759),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29759){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__29759,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.start_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/start-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/start-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/start-block-t.\n */\ncljs.pprint.__GT_start_block_t \x3d (function cljs$pprint$__GT_start_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/start-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_start_block_t \x3d (function cljs$pprint$map__GT_start_block_t(G__29763){\nvar extmap__5365__auto__ \x3d (function (){var G__29802 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29763,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29763)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29802);\n} else {\nreturn G__29802;\n}\n})();\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29763),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__29763),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29763),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29763),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_start_block_t \x3d (function cljs$pprint$make_start_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.start_block_t_QMARK_ \x3d (function cljs$pprint$start_block_t_QMARK_(x__28708__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28708__auto__),new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.end_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29807,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29814 \x3d k29807;\nvar G__29814__$1 \x3d (((G__29814 instanceof cljs.core.Keyword))?G__29814.fqn:null);\nswitch (G__29814__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29807,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29815){\nvar vec__29816 \x3d p__29815;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29816,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29816,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.end-block-t{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29806){\nvar self__ \x3d this;\nvar G__29806__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29806__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1365867980 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29808,other29809){\nvar self__ \x3d this;\nvar this29808__$1 \x3d this;\nreturn (((!((other29809 \x3d\x3d null)))) \x26\x26 ((((this29808__$1.constructor \x3d\x3d\x3d other29809.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29808__$1.type_tag,other29809.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29808__$1.logical_block,other29809.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29808__$1.start_pos,other29809.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29808__$1.end_pos,other29809.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29808__$1.__extmap,other29809.__extmap)))))))))))));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29807){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29830 \x3d k29807;\nvar G__29830__$1 \x3d (((G__29830 instanceof cljs.core.Keyword))?G__29830.fqn:null);\nswitch (G__29830__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29807);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29806){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29833 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29834 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29833.cljs$core$IFn$_invoke$arity$2 ? pred__29833.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29834) : pred__29833.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29834)))){\nreturn (new cljs.pprint.end_block_t(G__29806,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29833.cljs$core$IFn$_invoke$arity$2 ? pred__29833.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29834) : pred__29833.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29834)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,G__29806,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29833.cljs$core$IFn$_invoke$arity$2 ? pred__29833.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29834) : pred__29833.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29834)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,G__29806,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29833.cljs$core$IFn$_invoke$arity$2 ? pred__29833.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29834) : pred__29833.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29834)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__29806,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29806),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29806){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__29806,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.end_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/end-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/end-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/end-block-t.\n */\ncljs.pprint.__GT_end_block_t \x3d (function cljs$pprint$__GT_end_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/end-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_end_block_t \x3d (function cljs$pprint$map__GT_end_block_t(G__29812){\nvar extmap__5365__auto__ \x3d (function (){var G__29839 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29812,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29812)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29839);\n} else {\nreturn G__29839;\n}\n})();\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29812),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__29812),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29812),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29812),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_end_block_t \x3d (function cljs$pprint$make_end_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.end_block_t_QMARK_ \x3d (function cljs$pprint$end_block_t_QMARK_(x__28708__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28708__auto__),new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.indent_t \x3d (function (type_tag,logical_block,relative_to,offset,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.relative_to \x3d relative_to;\nthis.offset \x3d offset;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29845,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29857 \x3d k29845;\nvar G__29857__$1 \x3d (((G__29857 instanceof cljs.core.Keyword))?G__29857.fqn:null);\nswitch (G__29857__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22relative-to\x22:\nreturn self__.relative_to;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29845,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29860){\nvar vec__29861 \x3d p__29860;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29861,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29861,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.indent-t{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29844){\nvar self__ \x3d this;\nvar G__29844__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29844__$1,6,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (6 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-1602780238 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29846,other29847){\nvar self__ \x3d this;\nvar this29846__$1 \x3d this;\nreturn (((!((other29847 \x3d\x3d null)))) \x26\x26 ((((this29846__$1.constructor \x3d\x3d\x3d other29847.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29846__$1.type_tag,other29847.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29846__$1.logical_block,other29847.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29846__$1.relative_to,other29847.relative_to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29846__$1.offset,other29847.offset)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29846__$1.start_pos,other29847.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29846__$1.end_pos,other29847.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29846__$1.__extmap,other29847.__extmap)))))))))))))))));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29845){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29869 \x3d k29845;\nvar G__29869__$1 \x3d (((G__29869 instanceof cljs.core.Keyword))?G__29869.fqn:null);\nswitch (G__29869__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22relative-to\x22:\ncase \x22offset\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29845);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29844){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29872 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29873 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29872.cljs$core$IFn$_invoke$arity$2 ? pred__29872.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29873) : pred__29872.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29873)))){\nreturn (new cljs.pprint.indent_t(G__29844,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29872.cljs$core$IFn$_invoke$arity$2 ? pred__29872.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29873) : pred__29872.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29873)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,G__29844,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29872.cljs$core$IFn$_invoke$arity$2 ? pred__29872.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__29873) : pred__29872.call(null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__29873)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,G__29844,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29872.cljs$core$IFn$_invoke$arity$2 ? pred__29872.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__29873) : pred__29872.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__29873)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,G__29844,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29872.cljs$core$IFn$_invoke$arity$2 ? pred__29872.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29873) : pred__29872.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29873)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,G__29844,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29872.cljs$core$IFn$_invoke$arity$2 ? pred__29872.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29873) : pred__29872.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29873)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,G__29844,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29844),null));\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29844){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,G__29844,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.indent_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22relative-to\x22,\x22relative-to\x22,1170431476,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.indent_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/indent-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/indent-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/indent-t.\n */\ncljs.pprint.__GT_indent_t \x3d (function cljs$pprint$__GT_indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/indent-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_indent_t \x3d (function cljs$pprint$map__GT_indent_t(G__29850){\nvar extmap__5365__auto__ \x3d (function (){var G__29877 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29850,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29850)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29877);\n} else {\nreturn G__29877;\n}\n})();\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29850),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__29850),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(G__29850),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__29850),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29850),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29850),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_indent_t \x3d (function cljs$pprint$make_indent_t(logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.indent_t_QMARK_ \x3d (function cljs$pprint$indent_t_QMARK_(x__28708__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28708__auto__),new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969));\n});\ncljs.pprint.pp_newline \x3d (function cljs$pprint$pp_newline(){\nreturn \x22\\n\x22;\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.write_token !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.write_token \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__29882 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__29882.cljs$core$IFn$_invoke$arity$0 ? fexpr__29882.cljs$core$IFn$_invoke$arity$0() : fexpr__29882.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22write-token\x22),(function (p1__29881_SHARP_,p2__29880_SHARP_){\nreturn new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(p2__29880_SHARP_);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),(function (this$,token){\nvar temp__5804__auto___31334 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___31334)){\nvar cb_31338 \x3d temp__5804__auto___31334;\n(cb_31338.cljs$core$IFn$_invoke$arity$1 ? cb_31338.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_31338.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nvar temp__5804__auto___31339 \x3d new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(temp__5804__auto___31339)){\nvar prefix_31341 \x3d temp__5804__auto___31339;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix_31341);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb),col);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),col);\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),(function (this$,token){\nvar temp__5804__auto___31342 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___31342)){\nvar cb_31346 \x3d temp__5804__auto___31342;\n(cb_31346.cljs$core$IFn$_invoke$arity$1 ? cb_31346.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_31346.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar suffix \x3d temp__5804__auto__;\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\nreturn null;\n}\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),(function (this$,token){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(token) + (function (){var pred__29892 \x3d cljs.core._EQ_;\nvar expr__29893 \x3d new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(token);\nif(cljs.core.truth_((pred__29892.cljs$core$IFn$_invoke$arity$2 ? pred__29892.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__29893) : pred__29892.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__29893)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__29892.cljs$core$IFn$_invoke$arity$2 ? pred__29892.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__29893) : pred__29892.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__29893)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__29893)].join(\x27\x27)));\n}\n}\n})()));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),(function (this$,token){\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(token));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),(function (this$,token){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889))));\nif(and__5023__auto__){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token)));\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\n(cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2(this$,token) : cljs.pprint.emit_nl.call(null,this$,token));\n} else {\nvar temp__5802__auto___31356 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___31356)){\nvar tws_31363 \x3d temp__5802__auto___31356;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31363);\n} else {\n}\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n}));\ncljs.pprint.write_tokens \x3d (function cljs$pprint$write_tokens(this$,tokens,force_trailing_whitespace){\nvar seq__29898 \x3d cljs.core.seq(tokens);\nvar chunk__29899 \x3d null;\nvar count__29900 \x3d (0);\nvar i__29901 \x3d (0);\nwhile(true){\nif((i__29901 \x3c count__29900)){\nvar token \x3d chunk__29899.cljs$core$IIndexed$_nth$arity$2(null,i__29901);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5802__auto___31365 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___31365)){\nvar tws_31366 \x3d temp__5802__auto___31365;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31366);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_31367 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn tws_31367;\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31367);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__31371 \x3d seq__29898;\nvar G__31372 \x3d chunk__29899;\nvar G__31373 \x3d count__29900;\nvar G__31374 \x3d (i__29901 + (1));\nseq__29898 \x3d G__31371;\nchunk__29899 \x3d G__31372;\ncount__29900 \x3d G__31373;\ni__29901 \x3d G__31374;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__29898);\nif(temp__5804__auto__){\nvar seq__29898__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__29898__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__29898__$1);\nvar G__31375 \x3d cljs.core.chunk_rest(seq__29898__$1);\nvar G__31376 \x3d c__5548__auto__;\nvar G__31377 \x3d cljs.core.count(c__5548__auto__);\nvar G__31378 \x3d (0);\nseq__29898 \x3d G__31375;\nchunk__29899 \x3d G__31376;\ncount__29900 \x3d G__31377;\ni__29901 \x3d G__31378;\ncontinue;\n} else {\nvar token \x3d cljs.core.first(seq__29898__$1);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5802__auto___31381 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___31381)){\nvar tws_31382 \x3d temp__5802__auto___31381;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31382);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_31383 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn tws_31383;\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31383);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__31388 \x3d cljs.core.next(seq__29898__$1);\nvar G__31389 \x3d null;\nvar G__31390 \x3d (0);\nvar G__31391 \x3d (0);\nseq__29898 \x3d G__31388;\nchunk__29899 \x3d G__31389;\ncount__29900 \x3d G__31390;\ni__29901 \x3d G__31391;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.pprint.tokens_fit_QMARK_ \x3d (function cljs$pprint$tokens_fit_QMARK_(this$,tokens){\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nreturn (((maxcol \x3d\x3d null)) || (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))) + cljs.pprint.buffer_length(tokens)) \x3c maxcol)));\n});\ncljs.pprint.linear_nl_QMARK_ \x3d (function cljs$pprint$linear_nl_QMARK_(this$,lb,section){\nvar or__5025__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (!(cljs.pprint.tokens_fit_QMARK_(this$,section)));\n}\n});\ncljs.pprint.miser_nl_QMARK_ \x3d (function cljs$pprint$miser_nl_QMARK_(this$,lb,section){\nvar miser_width \x3d cljs.pprint.get_miser_width(this$);\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nvar and__5023__auto__ \x3d miser_width;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d maxcol;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb)) \x3e\x3d (maxcol - miser_width));\nif(and__5023__auto____$2){\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.emit_nl_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.emit_nl_QMARK_ \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__29909 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__29909.cljs$core$IFn$_invoke$arity$0 ? fexpr__29909.cljs$core$IFn$_invoke$arity$0() : fexpr__29909.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22emit-nl?\x22),(function (t,_,___$1,___$2){\nreturn new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(t);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),(function (newl,this$,section,subsection){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nvar or__5025__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,subsection)));\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}\n}\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),(function (_,___$1,___$2,___$3){\nreturn true;\n}));\ncljs.pprint.get_section \x3d (function cljs$pprint$get_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__29910_SHARP_){\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__29910_SHARP_)) \x26\x26 (cljs.pprint.ancestor_QMARK_(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__29910_SHARP_),lb)))));\n}),cljs.core.next(buffer)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [section,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((cljs.core.count(section) + (1)),buffer))], null);\n});\ncljs.pprint.get_sub_section \x3d (function cljs$pprint$get_sub_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__29911_SHARP_){\nvar nl_lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__29911_SHARP_);\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__29911_SHARP_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(nl_lb,lb)) || (cljs.pprint.ancestor_QMARK_(nl_lb,lb)))))));\n}),cljs.core.next(buffer)));\nreturn section;\n});\ncljs.pprint.update_nl_state \x3d (function cljs$pprint$update_nl_state(lb){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb),true);\n\nvar lb__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb);\nwhile(true){\nif(cljs.core.truth_(lb__$1)){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\nvar G__31415 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb__$1);\nlb__$1 \x3d G__31415;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.emit_nl \x3d (function cljs$pprint$emit_nl(this$,nl){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar istr_31420 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((cljs.core.deref(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb)) - cljs.core.count(prefix)),\x22 \x22));\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),istr_31420);\n\nreturn cljs.pprint.update_nl_state(lb);\n});\ncljs.pprint.split_at_newline \x3d (function cljs$pprint$split_at_newline(tokens){\nvar pre \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__29912_SHARP_){\nreturn (!(cljs.pprint.nl_t_QMARK_(p1__29912_SHARP_)));\n}),tokens));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(pre),tokens))], null);\n});\ncljs.pprint.write_token_string \x3d (function cljs$pprint$write_token_string(this$,tokens){\nvar vec__29916 \x3d cljs.pprint.split_at_newline(tokens);\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29916,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29916,(1),null);\nif(cljs.core.truth_(a)){\ncljs.pprint.write_tokens(this$,a,false);\n} else {\n}\n\nif(cljs.core.truth_(b)){\nvar vec__29920 \x3d cljs.pprint.get_section(b);\nvar section \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29920,(0),null);\nvar remainder \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29920,(1),null);\nvar newl \x3d cljs.core.first(b);\nvar do_nl \x3d cljs.pprint.emit_nl_QMARK_.cljs$core$IFn$_invoke$arity$4(newl,this$,section,cljs.pprint.get_sub_section(b));\nvar result \x3d (cljs.core.truth_(do_nl)?(function (){\ncljs.pprint.emit_nl(this$,newl);\n\nreturn cljs.core.next(b);\n})()\n:b);\nvar long_section \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,result)));\nvar result__$1 \x3d ((long_section)?(function (){var rem2 \x3d (cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2(this$,section) : cljs.pprint.write_token_string.call(null,this$,section));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(rem2,section)){\ncljs.pprint.write_tokens(this$,section,false);\n\nreturn remainder;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(rem2,remainder));\n}\n})():result);\nreturn result__$1;\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_line \x3d (function cljs$pprint$write_line(this$){\nvar buffer \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nwhile(true){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,buffer));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,buffer)))){\nvar new_buffer \x3d cljs.pprint.write_token_string(this$,buffer);\nif((!((buffer \x3d\x3d\x3d new_buffer)))){\nvar G__31439 \x3d new_buffer;\nbuffer \x3d G__31439;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.add_to_buffer \x3d (function cljs$pprint$add_to_buffer(this$,token){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),token));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))))){\nreturn cljs.pprint.write_line(this$);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_buffered_output \x3d (function cljs$pprint$write_buffered_output(this$){\ncljs.pprint.write_line(this$);\n\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar buf \x3d temp__5802__auto__;\ncljs.pprint.write_tokens(this$,buf,true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_white_space \x3d (function cljs$pprint$write_white_space(this$){\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar tws \x3d temp__5804__auto__;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_initial_lines \x3d (function cljs$pprint$write_initial_lines(this$,s){\nvar lines \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,\x22\\n\x22,(-1));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(lines),(1))){\nreturn s;\n} else {\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(cljs.core.first(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))));\nvar l \x3d cljs.core.first(lines);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))){\nvar oldpos_31456 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_31457 \x3d (oldpos_31456 + cljs.core.count(l));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_31457);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(l,null,oldpos_31456,newpos_31457));\n\ncljs.pprint.write_buffered_output(this$);\n} else {\ncljs.pprint.write_white_space(this$);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l);\n}\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),\x22\\n\x22);\n\nvar seq__29930_31459 \x3d cljs.core.seq(cljs.core.next(cljs.core.butlast(lines)));\nvar chunk__29931_31460 \x3d null;\nvar count__29932_31461 \x3d (0);\nvar i__29933_31462 \x3d (0);\nwhile(true){\nif((i__29933_31462 \x3c count__29932_31461)){\nvar l_31464__$1 \x3d chunk__29931_31460.cljs$core$IIndexed$_nth$arity$2(null,i__29933_31462);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_31464__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__31472 \x3d seq__29930_31459;\nvar G__31473 \x3d chunk__29931_31460;\nvar G__31474 \x3d count__29932_31461;\nvar G__31475 \x3d (i__29933_31462 + (1));\nseq__29930_31459 \x3d G__31472;\nchunk__29931_31460 \x3d G__31473;\ncount__29932_31461 \x3d G__31474;\ni__29933_31462 \x3d G__31475;\ncontinue;\n} else {\nvar temp__5804__auto___31477 \x3d cljs.core.seq(seq__29930_31459);\nif(temp__5804__auto___31477){\nvar seq__29930_31478__$1 \x3d temp__5804__auto___31477;\nif(cljs.core.chunked_seq_QMARK_(seq__29930_31478__$1)){\nvar c__5548__auto___31479 \x3d cljs.core.chunk_first(seq__29930_31478__$1);\nvar G__31480 \x3d cljs.core.chunk_rest(seq__29930_31478__$1);\nvar G__31481 \x3d c__5548__auto___31479;\nvar G__31482 \x3d cljs.core.count(c__5548__auto___31479);\nvar G__31483 \x3d (0);\nseq__29930_31459 \x3d G__31480;\nchunk__29931_31460 \x3d G__31481;\ncount__29932_31461 \x3d G__31482;\ni__29933_31462 \x3d G__31483;\ncontinue;\n} else {\nvar l_31484__$1 \x3d cljs.core.first(seq__29930_31478__$1);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_31484__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__31495 \x3d cljs.core.next(seq__29930_31478__$1);\nvar G__31496 \x3d null;\nvar G__31497 \x3d (0);\nvar G__31498 \x3d (0);\nseq__29930_31459 \x3d G__31495;\nchunk__29931_31460 \x3d G__31496;\ncount__29932_31461 \x3d G__31497;\ni__29933_31462 \x3d G__31498;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108));\n\nreturn cljs.core.last(lines);\n}\n});\ncljs.pprint.p_write_char \x3d (function cljs$pprint$p_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),c);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\nreturn cljs.pprint.write_initial_lines(this$,\x22\\n\x22);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (1));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(cljs.core.char$(c),null,oldpos,newpos));\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.pprint.IPrettyFlush}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint29937 \x3d (function (writer,max_columns,miser_width,lb,fields,meta29938){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.miser_width \x3d miser_width;\nthis.lb \x3d lb;\nthis.fields \x3d fields;\nthis.meta29938 \x3d meta29938;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint29937.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_29939,meta29938__$1){\nvar self__ \x3d this;\nvar _29939__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint29937(self__.writer,self__.max_columns,self__.miser_width,self__.lb,self__.fields,meta29938__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint29937.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_29939){\nvar self__ \x3d this;\nvar _29939__$1 \x3d this;\nreturn self__.meta29938;\n}));\n\n(cljs.pprint.t_cljs$pprint29937.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint29937.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__29948 \x3d cljs.core._EQ_;\nvar expr__29949 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__29948.cljs$core$IFn$_invoke$arity$2 ? pred__29948.cljs$core$IFn$_invoke$arity$2(String,expr__29949) : pred__29948.call(null,String,expr__29949)))){\nvar s0 \x3d cljs.pprint.write_initial_lines(this$__$1,x);\nvar s \x3d clojure.string.replace_first(s0,/\\s+$/,\x22\x22);\nvar white_space \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s0,((s).length));\nvar mode \x3d new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),s);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),white_space);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nvar newpos \x3d (oldpos + cljs.core.count(s0));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$__$1,cljs.pprint.make_buffer_blob(s,white_space,oldpos,newpos));\n}\n} else {\nif(cljs.core.truth_((pred__29948.cljs$core$IFn$_invoke$arity$2 ? pred__29948.cljs$core$IFn$_invoke$arity$2(Number,expr__29949) : pred__29948.call(null,Number,expr__29949)))){\nreturn cljs.pprint.p_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__29949)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint29937.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthis$__$1.cljs$pprint$IPrettyFlush$_ppflush$arity$1(null);\n\nreturn cljs.core._flush(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))));\n}));\n\n(cljs.pprint.t_cljs$pprint29937.prototype.cljs$pprint$IPrettyFlush$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.pprint.t_cljs$pprint29937.prototype.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613))){\ncljs.pprint.write_tokens(this$__$1,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn cljs.pprint.write_white_space(this$__$1);\n}\n}));\n\n(cljs.pprint.t_cljs$pprint29937.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22miser-width\x22,\x22miser-width\x22,330482090,null),new cljs.core.Symbol(null,\x22lb\x22,\x22lb\x22,950310490,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta29938\x22,\x22meta29938\x22,825395172,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint29937.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint29937.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint29937\x22);\n\n(cljs.pprint.t_cljs$pprint29937.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint29937\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint29937.\n */\ncljs.pprint.__GT_t_cljs$pprint29937 \x3d (function cljs$pprint$__GT_t_cljs$pprint29937(writer,max_columns,miser_width,lb,fields,meta29938){\nreturn (new cljs.pprint.t_cljs$pprint29937(writer,max_columns,miser_width,lb,fields,meta29938));\n});\n\n\ncljs.pprint.pretty_writer \x3d (function cljs$pprint$pretty_writer(writer,max_columns,miser_width){\nvar lb \x3d (new cljs.pprint.logical_block(null,null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),null,null,null,null,null,null,null));\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437),new cljs.core.Keyword(null,\x22buffer-block\x22,\x22buffer-block\x22,-10937307),new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267),new cljs.core.Keyword(null,\x22sections\x22,\x22sections\x22,-886710106),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.Keyword(null,\x22buffer-level\x22,\x22buffer-level\x22,928864731),new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198)],[lb,miser_width,lb,true,null,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108),(0),null,cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,max_columns),(1),cljs.core.PersistentVector.EMPTY]));\nreturn (new cljs.pprint.t_cljs$pprint29937(writer,max_columns,miser_width,lb,fields,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.start_block \x3d (function cljs$pprint$start_block(this$,prefix,per_line_prefix,suffix){\nvar lb \x3d (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),prefix,per_line_prefix,suffix,null,null,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),lb);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nvar temp__5804__auto___31537 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___31537)){\nvar cb_31538 \x3d temp__5804__auto___31537;\n(cb_31538.cljs$core$IFn$_invoke$arity$1 ? cb_31538.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_31538.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(lb.start_col,col);\n\nreturn cljs.core.reset_BANG_(lb.indent,col);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (cljs.core.truth_(prefix)?cljs.core.count(prefix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_start_block_t(lb,oldpos,newpos));\n}\n});\ncljs.pprint.end_block \x3d (function cljs$pprint$end_block(this$){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar suffix \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nif(cljs.core.truth_(suffix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\n}\n\nvar temp__5804__auto___31545 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___31545)){\nvar cb_31547 \x3d temp__5804__auto___31545;\n(cb_31547.cljs$core$IFn$_invoke$arity$1 ? cb_31547.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_31547.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n} else {\nvar oldpos_31549 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_31550 \x3d (oldpos_31549 + (cljs.core.truth_(suffix)?cljs.core.count(suffix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_31550);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_end_block_t(lb,oldpos_31549,newpos_31550));\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb));\n});\ncljs.pprint.nl \x3d (function cljs$pprint$nl(this$,type){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613));\n\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_nl_t(type,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),pos,pos));\n});\ncljs.pprint.indent \x3d (function cljs$pprint$indent(this$,relative_to,offset){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(offset + (function (){var pred__29973 \x3d cljs.core._EQ_;\nvar expr__29974 \x3d relative_to;\nif(cljs.core.truth_((pred__29973.cljs$core$IFn$_invoke$arity$2 ? pred__29973.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__29974) : pred__29973.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__29974)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__29973.cljs$core$IFn$_invoke$arity$2 ? pred__29973.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__29974) : pred__29973.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__29974)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__29974)].join(\x27\x27)));\n}\n}\n})()));\n} else {\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_indent_t(lb,relative_to,offset,pos,pos));\n}\n});\ncljs.pprint.get_miser_width \x3d (function cljs$pprint$get_miser_width(this$){\nreturn new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\n});\n/**\n * Bind to true if you want write to use pretty printing\n */\ncljs.pprint._STAR_print_pretty_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint._STAR_print_pprint_dispatch_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function. Use with-pprint-dispatch or\n * set-pprint-dispatch to modify.\n */\ncljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d null;\n}\n/**\n * Pretty printing will try to avoid anything going beyond this column.\n * Set it to nil to have pprint let the line be arbitrarily long. This will ignore all\n * non-mandatory newlines.\n */\ncljs.pprint._STAR_print_right_margin_STAR_ \x3d (72);\n/**\n * The column at which to enter miser style. Depending on the dispatch table,\n * miser style add newlines in more places to try to keep lines short allowing for further\n * levels of nesting.\n */\ncljs.pprint._STAR_print_miser_width_STAR_ \x3d (40);\n/**\n * Maximum number of lines to print in a pretty print instance (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_lines_STAR_ \x3d null;\n/**\n * Mark circular structures (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_circle_STAR_ \x3d null;\n/**\n * Mark repeated structures rather than repeat them (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_shared_STAR_ \x3d null;\n/**\n * Don\x27t print namespaces with symbols. This is particularly useful when\n * pretty printing the results of macro expansions\n */\ncljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d null;\n/**\n * Print a radix specifier in front of integers and rationals. If *print-base* is 2, 8,\n * or 16, then the radix specifier used is #b, #o, or #x, respectively. Otherwise the\n * radix specifier is in the form #XXr where XX is the decimal value of *print-base* \n */\ncljs.pprint._STAR_print_radix_STAR_ \x3d null;\n/**\n * The base to use for printing integers and rationals.\n */\ncljs.pprint._STAR_print_base_STAR_ \x3d (10);\ncljs.pprint._STAR_current_level_STAR_ \x3d (0);\ncljs.pprint._STAR_current_length_STAR_ \x3d null;\ncljs.pprint.table_ize \x3d (function cljs$pprint$table_ize(t,m){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__29984_SHARP_){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(t,cljs.core.key(p1__29984_SHARP_));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,cljs.core.val(p1__29984_SHARP_)], null);\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m], 0)));\n});\n/**\n * Return true iff x is a PrettyWriter\n */\ncljs.pprint.pretty_writer_QMARK_ \x3d (function cljs$pprint$pretty_writer_QMARK_(x){\nvar and__5023__auto__ \x3d (((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IDeref$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x));\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(x)));\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Wrap base-writer in a PrettyWriter with the specified right-margin and miser-width\n */\ncljs.pprint.make_pretty_writer \x3d (function cljs$pprint$make_pretty_writer(base_writer,right_margin,miser_width){\nreturn cljs.pprint.pretty_writer(base_writer,right_margin,miser_width);\n});\n/**\n * Write an object to *out* subject to the current bindings of the printer control\n * variables. Use the kw-args argument to override individual variables for this call (and\n * any recursive calls).\n * \n * *out* must be a PrettyWriter if pretty printing is enabled. This is the responsibility\n * of the caller.\n * \n * This method is primarily intended for use by pretty print dispatch functions that\n * already know that the pretty printer will have set up their environment appropriately.\n * Normal library clients should use the standard \x22write\x22 interface. \n */\ncljs.pprint.write_out \x3d (function cljs$pprint$write_out(object){\nvar length_reached \x3d (function (){var and__5023__auto__ \x3d cljs.pprint._STAR_current_length_STAR_;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d cljs.core._STAR_print_length_STAR_;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (cljs.pprint._STAR_current_length_STAR_ \x3e\x3d cljs.core._STAR_print_length_STAR_);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.not(cljs.pprint._STAR_print_pretty_STAR_)){\ncljs.pprint.pr.call(null,object);\n} else {\nif(cljs.core.truth_(length_reached)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_current_length_STAR_)){\n(cljs.pprint._STAR_current_length_STAR_ \x3d (cljs.pprint._STAR_current_length_STAR_ + (1)));\n} else {\n}\n\ncljs.pprint._STAR_print_pprint_dispatch_STAR_.call(null,object);\n}\n}\n\nreturn length_reached;\n});\n/**\n * Write an object subject to the current bindings of the printer control variables.\n * Use the kw-args argument to override individual variables for this call (and any\n * recursive calls). Returns the string result if :stream is nil or nil otherwise.\n * \n * The following keyword arguments can be passed with values:\n *   Keyword              Meaning                              Default value\n *   :stream              Writer for output or nil             true (indicates *out*)\n *   :base                Base to use for writing rationals    Current value of *print-base*\n *   :circle*             If true, mark circular structures    Current value of *print-circle*\n *   :length              Maximum elements to show in sublists Current value of *print-length*\n *   :level               Maximum depth                        Current value of *print-level*\n *   :lines*              Maximum lines of output              Current value of *print-lines*\n *   :miser-width         Width to enter miser mode            Current value of *print-miser-width*\n *   :dispatch            The pretty print dispatch function   Current value of *print-pprint-dispatch*\n *   :pretty              If true, do pretty printing          Current value of *print-pretty*\n *   :radix               If true, prepend a radix specifier   Current value of *print-radix*\n *   :readably*           If true, print readably              Current value of *print-readably*\n *   :right-margin        The column for the right margin      Current value of *print-right-margin*\n *   :suppress-namespaces If true, no namespaces in symbols    Current value of *print-suppress-namespaces*\n * \n *   * \x3d not yet supported\n */\ncljs.pprint.write \x3d (function cljs$pprint$write(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31574 \x3d arguments.length;\nvar i__5750__auto___31575 \x3d (0);\nwhile(true){\nif((i__5750__auto___31575 \x3c len__5749__auto___31574)){\nargs__5755__auto__.push((arguments[i__5750__auto___31575]));\n\nvar G__31576 \x3d (i__5750__auto___31575 + (1));\ni__5750__auto___31575 \x3d G__31576;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,kw_args){\nvar options \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),true], null),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,kw_args)], 0));\nvar _STAR_print_base_STAR__orig_val__29992 \x3d cljs.pprint._STAR_print_base_STAR_;\nvar _STAR_print_circle_STAR__orig_val__29993 \x3d cljs.pprint._STAR_print_circle_STAR_;\nvar _STAR_print_length_STAR__orig_val__29994 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__29995 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_lines_STAR__orig_val__29996 \x3d cljs.pprint._STAR_print_lines_STAR_;\nvar _STAR_print_miser_width_STAR__orig_val__29997 \x3d cljs.pprint._STAR_print_miser_width_STAR_;\nvar _STAR_print_pprint_dispatch_STAR__orig_val__29998 \x3d cljs.pprint._STAR_print_pprint_dispatch_STAR_;\nvar _STAR_print_pretty_STAR__orig_val__29999 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_radix_STAR__orig_val__30000 \x3d cljs.pprint._STAR_print_radix_STAR_;\nvar _STAR_print_readably_STAR__orig_val__30001 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_right_margin_STAR__orig_val__30002 \x3d cljs.pprint._STAR_print_right_margin_STAR_;\nvar _STAR_print_suppress_namespaces_STAR__orig_val__30003 \x3d cljs.pprint._STAR_print_suppress_namespaces_STAR_;\nvar _STAR_print_base_STAR__temp_val__30004 \x3d new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_base_STAR_);\nvar _STAR_print_circle_STAR__temp_val__30005 \x3d new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_circle_STAR_);\nvar _STAR_print_length_STAR__temp_val__30006 \x3d new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_length_STAR_);\nvar _STAR_print_level_STAR__temp_val__30007 \x3d new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_level_STAR_);\nvar _STAR_print_lines_STAR__temp_val__30008 \x3d new cljs.core.Keyword(null,\x22lines\x22,\x22lines\x22,-700165781).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_lines_STAR_);\nvar _STAR_print_miser_width_STAR__temp_val__30009 \x3d new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_miser_width_STAR_);\nvar _STAR_print_pprint_dispatch_STAR__temp_val__30010 \x3d new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pprint_dispatch_STAR_);\nvar _STAR_print_pretty_STAR__temp_val__30011 \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pretty_STAR_);\nvar _STAR_print_radix_STAR__temp_val__30012 \x3d new cljs.core.Keyword(null,\x22radix\x22,\x22radix\x22,857016463).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_radix_STAR_);\nvar _STAR_print_readably_STAR__temp_val__30013 \x3d new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_readably_STAR_);\nvar _STAR_print_right_margin_STAR__temp_val__30014 \x3d new cljs.core.Keyword(null,\x22right-margin\x22,\x22right-margin\x22,-810413306).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_right_margin_STAR_);\nvar _STAR_print_suppress_namespaces_STAR__temp_val__30015 \x3d new cljs.core.Keyword(null,\x22suppress-namespaces\x22,\x22suppress-namespaces\x22,2130686956).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_suppress_namespaces_STAR_);\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__temp_val__30004);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__temp_val__30005);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__30006);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__30007);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__temp_val__30008);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__temp_val__30009);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__temp_val__30010);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__30011);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__temp_val__30012);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__30013);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__temp_val__30014);\n\n(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__temp_val__30015);\n\ntry{try{var sb \x3d (new goog.string.StringBuffer());\nvar optval \x3d ((cljs.core.contains_QMARK_(options,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648)))?new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648).cljs$core$IFn$_invoke$arity$1(options):true);\nvar base_writer \x3d ((((optval \x3d\x3d\x3d true) || ((optval \x3d\x3d null))))?(new cljs.core.StringBufferWriter(sb)):optval);\nif(cljs.core.truth_(cljs.pprint._STAR_print_pretty_STAR_)){\nvar base_writer__28679__auto___31601 \x3d base_writer;\nvar new_writer__28680__auto___31602 \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__28679__auto___31601));\nvar _STAR_out_STAR__orig_val__30018_31603 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30019_31604 \x3d ((new_writer__28680__auto___31602)?cljs.pprint.make_pretty_writer(base_writer__28679__auto___31601,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__28679__auto___31601);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30019_31604);\n\ntry{cljs.pprint.write_out(object);\n\ncljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30018_31603);\n}} else {\nvar _STAR_out_STAR__orig_val__30020_31606 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30021_31607 \x3d base_writer;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30021_31607);\n\ntry{cljs.pprint.pr.call(null,object);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30020_31606);\n}}\n\nif(optval \x3d\x3d\x3d true){\ncljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\n}\n\nif((optval \x3d\x3d null)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nreturn null;\n}\n}finally {}}finally {(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__orig_val__30003);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__orig_val__30002);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__30001);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__orig_val__30000);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__29999);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__orig_val__29998);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__orig_val__29997);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__orig_val__29996);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__29995);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__29994);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__orig_val__29993);\n\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__orig_val__29992);\n}}));\n\n(cljs.pprint.write.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.pprint.write.cljs$lang$applyTo \x3d (function (seq29988){\nvar G__29989 \x3d cljs.core.first(seq29988);\nvar seq29988__$1 \x3d cljs.core.next(seq29988);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29989,seq29988__$1);\n}));\n\ncljs.pprint.pprint \x3d (function cljs$pprint$pprint(var_args){\nvar G__30028 \x3d arguments.length;\nswitch (G__30028) {\ncase 1:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1 \x3d (function (object){\nvar sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__30032 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30033 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30033);\n\ntry{cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(object,cljs.core._STAR_out_STAR_);\n\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30032);\n}}));\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2 \x3d (function (object,writer){\nvar base_writer__28679__auto__ \x3d writer;\nvar new_writer__28680__auto__ \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__28679__auto__));\nvar _STAR_out_STAR__orig_val__30034 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30035 \x3d ((new_writer__28680__auto__)?cljs.pprint.make_pretty_writer(base_writer__28679__auto__,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__28679__auto__);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30035);\n\ntry{var _STAR_print_pretty_STAR__orig_val__30036_31627 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_pretty_STAR__temp_val__30037_31628 \x3d true;\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__30037_31628);\n\ntry{cljs.pprint.write_out(object);\n}finally {(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__30036_31627);\n}\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(cljs.core._STAR_out_STAR_))))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n} else {\n}\n\nreturn cljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30034);\n}}));\n\n(cljs.pprint.pprint.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.pprint.set_pprint_dispatch \x3d (function cljs$pprint$set_pprint_dispatch(function$){\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d function$);\n\nreturn null;\n});\ncljs.pprint.check_enumerated_arg \x3d (function cljs$pprint$check_enumerated_arg(arg,choices){\nif(cljs.core.not((choices.cljs$core$IFn$_invoke$arity$1 ? choices.cljs$core$IFn$_invoke$arity$1(arg) : choices.call(null,arg)))){\nthrow (new Error([\x22Bad argument: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arg),\x22. It must be one of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(choices)].join(\x27\x27)));\n} else {\nreturn null;\n}\n});\ncljs.pprint.level_exceeded \x3d (function cljs$pprint$level_exceeded(){\nvar and__5023__auto__ \x3d cljs.core._STAR_print_level_STAR_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (cljs.pprint._STAR_current_level_STAR_ \x3e\x3d cljs.core._STAR_print_level_STAR_);\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Print a conditional newline to a pretty printing stream. kind specifies if the\n *   newline is :linear, :miser, :fill, or :mandatory.\n * \n *   This function is intended for use when writing custom dispatch functions.\n * \n *   Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_newline \x3d (function cljs$pprint$pprint_newline(kind){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),null], null), null));\n\nreturn cljs.pprint.nl(cljs.core._STAR_out_STAR_,kind);\n});\n/**\n * Create an indent at this point in the pretty printing stream. This defines how\n * following lines are indented. relative-to can be either :block or :current depending\n * whether the indent should be computed relative to the start of the logical block or\n * the current column position. n is an offset.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_indent \x3d (function cljs$pprint$pprint_indent(relative_to,n){\ncljs.pprint.check_enumerated_arg(relative_to,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),null], null), null));\n\nreturn cljs.pprint.indent(cljs.core._STAR_out_STAR_,relative_to,n);\n});\n/**\n * Tab at this point in the pretty printing stream. kind specifies whether the tab\n * is :line, :section, :line-relative, or :section-relative.\n * \n * Colnum and colinc specify the target column and the increment to move the target\n * forward if the output is already past the original target.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n * \n * THIS FUNCTION IS NOT YET IMPLEMENTED.\n */\ncljs.pprint.pprint_tab \x3d (function cljs$pprint$pprint_tab(kind,colnum,colinc){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22line-relative\x22,\x22line-relative\x22,1149548219),null,new cljs.core.Keyword(null,\x22section-relative\x22,\x22section-relative\x22,-658298724),null], null), null));\n\nthrow (new Error(\x22pprint-tab is not yet implemented\x22));\n});\n/**\n * An implementation of a Common Lisp compatible format function. cl-format formats its\n * arguments to an output stream or string based on the format control string given. It\n * supports sophisticated formatting of structured data.\n * \n * Writer satisfies IWriter, true to output via *print-fn* or nil to output\n * to a string, format-in is the format control string and the remaining arguments\n * are the data to be formatted.\n * \n * The format control string is a string to be output with embedded \x27format directives\x27\n * describing how to format the various arguments passed in.\n * \n * If writer is nil, cl-format returns the formatted result string. Otherwise, cl-format\n * returns nil.\n * \n * For example:\n *  (let [results [46 38 22]]\n *      (cl-format true \x22There ~[are~;is~:;are~]~:* ~d result~:p: ~{~d~^, ~}~%\x22\n *                 (count results) results))\n * \n * Prints via *print-fn*:\n *  There are 3 results: 46, 38, 22\n * \n * Detailed documentation on format control strings is available in the \x22Common Lisp the\n * Language, 2nd edition\x22, Chapter 22 (available online at:\n * http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node200.html#SECTION002633000000000000000)\n * and in the Common Lisp HyperSpec at\n * http://www.lispworks.com/documentation/HyperSpec/Body/22_c.htm\n */\ncljs.pprint.cl_format \x3d (function cljs$pprint$cl_format(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31664 \x3d arguments.length;\nvar i__5750__auto___31665 \x3d (0);\nwhile(true){\nif((i__5750__auto___31665 \x3c len__5749__auto___31664)){\nargs__5755__auto__.push((arguments[i__5750__auto___31665]));\n\nvar G__31666 \x3d (i__5750__auto___31665 + (1));\ni__5750__auto___31665 \x3d G__31666;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,format_in,args){\nvar compiled_format \x3d ((typeof format_in \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(format_in):format_in);\nvar navigator__$1 \x3d cljs.pprint.init_navigator(args);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3(writer,compiled_format,navigator__$1);\n}));\n\n(cljs.pprint.cl_format.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.pprint.cl_format.cljs$lang$applyTo \x3d (function (seq30047){\nvar G__30048 \x3d cljs.core.first(seq30047);\nvar seq30047__$1 \x3d cljs.core.next(seq30047);\nvar G__30049 \x3d cljs.core.first(seq30047__$1);\nvar seq30047__$2 \x3d cljs.core.next(seq30047__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__30048,G__30049,seq30047__$2);\n}));\n\ncljs.pprint._STAR_format_str_STAR_ \x3d null;\ncljs.pprint.format_error \x3d (function cljs$pprint$format_error(message,offset){\nvar full_message \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(message),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_format_str_STAR_),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(offset,\x22 \x22))),\x22^\x22,\x22\\n\x22].join(\x27\x27);\nthrow Error(full_message);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.arg_navigator \x3d (function (seq,rest,pos,__meta,__extmap,__hash){\nthis.seq \x3d seq;\nthis.rest \x3d rest;\nthis.pos \x3d pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k30054,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__30066 \x3d k30054;\nvar G__30066__$1 \x3d (((G__30066 instanceof cljs.core.Keyword))?G__30066.fqn:null);\nswitch (G__30066__$1) {\ncase \x22seq\x22:\nreturn self__.seq;\n\nbreak;\ncase \x22rest\x22:\nreturn self__.rest;\n\nbreak;\ncase \x22pos\x22:\nreturn self__.pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k30054,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__30070){\nvar vec__30072 \x3d p__30070;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30072,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30072,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.arg-navigator{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__30053){\nvar self__ \x3d this;\nvar G__30053__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__30053__$1,3,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (3 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-402038447 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this30055,other30056){\nvar self__ \x3d this;\nvar this30055__$1 \x3d this;\nreturn (((!((other30056 \x3d\x3d null)))) \x26\x26 ((((this30055__$1.constructor \x3d\x3d\x3d other30056.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30055__$1.seq,other30056.seq)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30055__$1.rest,other30056.rest)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30055__$1.pos,other30056.pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30055__$1.__extmap,other30056.__extmap)))))))))));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k30054){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__30079 \x3d k30054;\nvar G__30079__$1 \x3d (((G__30079 instanceof cljs.core.Keyword))?G__30079.fqn:null);\nswitch (G__30079__$1) {\ncase \x22seq\x22:\ncase \x22rest\x22:\ncase \x22pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k30054);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__30053){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__30080 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__30081 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__30080.cljs$core$IFn$_invoke$arity$2 ? pred__30080.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__30081) : pred__30080.call(null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__30081)))){\nreturn (new cljs.pprint.arg_navigator(G__30053,self__.rest,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30080.cljs$core$IFn$_invoke$arity$2 ? pred__30080.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__30081) : pred__30080.call(null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__30081)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,G__30053,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30080.cljs$core$IFn$_invoke$arity$2 ? pred__30080.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__30081) : pred__30080.call(null,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__30081)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,G__30053,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__30053),null));\n}\n}\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__30053){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,G__30053,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.arg_navigator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22seq\x22,\x22seq\x22,-177272256,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22pos\x22,\x22pos\x22,775924307,null)], null);\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$type \x3d true);\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/arg-navigator\x22,null,(1),null));\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/arg-navigator\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/arg-navigator.\n */\ncljs.pprint.__GT_arg_navigator \x3d (function cljs$pprint$__GT_arg_navigator(seq,rest,pos){\nreturn (new cljs.pprint.arg_navigator(seq,rest,pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/arg-navigator, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_arg_navigator \x3d (function cljs$pprint$map__GT_arg_navigator(G__30058){\nvar extmap__5365__auto__ \x3d (function (){var G__30083 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__30058,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], 0));\nif(cljs.core.record_QMARK_(G__30058)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__30083);\n} else {\nreturn G__30083;\n}\n})();\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(G__30058),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(G__30058),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(G__30058),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n/**\n * Create a new arg-navigator from the sequence with the position set to 0\n */\ncljs.pprint.init_navigator \x3d (function cljs$pprint$init_navigator(s){\nvar s__$1 \x3d cljs.core.seq(s);\nreturn (new cljs.pprint.arg_navigator(s__$1,s__$1,(0),null,null,null));\n});\ncljs.pprint.next_arg \x3d (function cljs$pprint$next_arg(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nthrow Error(\x22Not enough arguments for format definition\x22);\n}\n});\ncljs.pprint.next_arg_or_nil \x3d (function cljs$pprint$next_arg_or_nil(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,navigator], null);\n}\n});\ncljs.pprint.get_format_arg \x3d (function cljs$pprint$get_format_arg(navigator){\nvar vec__30084 \x3d cljs.pprint.next_arg(navigator);\nvar raw_format \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30084,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30084,(1),null);\nvar compiled_format \x3d ((typeof raw_format \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(raw_format):raw_format);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [compiled_format,navigator__$1], null);\n});\ncljs.pprint.absolute_reposition \x3d (function cljs$pprint$absolute_reposition(navigator,position){\nif((position \x3e\x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator))){\nvar G__30087 \x3d navigator;\nvar G__30088 \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) - position);\nreturn (cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2(G__30087,G__30088) : cljs.pprint.relative_reposition.call(null,G__30087,G__30088));\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator)),position,null,null,null));\n}\n});\ncljs.pprint.relative_reposition \x3d (function cljs$pprint$relative_reposition(navigator,position){\nvar newpos \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + position);\nif((position \x3c (0))){\nreturn cljs.pprint.absolute_reposition(navigator,newpos);\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),newpos,null,null,null));\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.compiled_directive \x3d (function (func,def,params,offset,__meta,__extmap,__hash){\nthis.func \x3d func;\nthis.def \x3d def;\nthis.params \x3d params;\nthis.offset \x3d offset;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k30090,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__30094 \x3d k30090;\nvar G__30094__$1 \x3d (((G__30094 instanceof cljs.core.Keyword))?G__30094.fqn:null);\nswitch (G__30094__$1) {\ncase \x22func\x22:\nreturn self__.func;\n\nbreak;\ncase \x22def\x22:\nreturn self__.def;\n\nbreak;\ncase \x22params\x22:\nreturn self__.params;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k30090,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__30095){\nvar vec__30096 \x3d p__30095;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30096,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30096,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.compiled-directive{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__30089){\nvar self__ \x3d this;\nvar G__30089__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__30089__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-829256337 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this30091,other30092){\nvar self__ \x3d this;\nvar this30091__$1 \x3d this;\nreturn (((!((other30092 \x3d\x3d null)))) \x26\x26 ((((this30091__$1.constructor \x3d\x3d\x3d other30092.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30091__$1.func,other30092.func)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30091__$1.def,other30092.def)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30091__$1.params,other30092.params)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30091__$1.offset,other30092.offset)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30091__$1.__extmap,other30092.__extmap)))))))))))));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k30090){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__30106 \x3d k30090;\nvar G__30106__$1 \x3d (((G__30106 instanceof cljs.core.Keyword))?G__30106.fqn:null);\nswitch (G__30106__$1) {\ncase \x22func\x22:\ncase \x22def\x22:\ncase \x22params\x22:\ncase \x22offset\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k30090);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__30089){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__30107 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__30108 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__30107.cljs$core$IFn$_invoke$arity$2 ? pred__30107.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__30108) : pred__30107.call(null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__30108)))){\nreturn (new cljs.pprint.compiled_directive(G__30089,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30107.cljs$core$IFn$_invoke$arity$2 ? pred__30107.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__30108) : pred__30107.call(null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__30108)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,G__30089,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30107.cljs$core$IFn$_invoke$arity$2 ? pred__30107.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__30108) : pred__30107.call(null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__30108)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,G__30089,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30107.cljs$core$IFn$_invoke$arity$2 ? pred__30107.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__30108) : pred__30107.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__30108)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,G__30089,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__30089),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__30089){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,G__30089,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.compiled_directive.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22func\x22,\x22func\x22,1401825487,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22params\x22,\x22params\x22,-1943919534,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null)], null);\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$type \x3d true);\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/compiled-directive\x22,null,(1),null));\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/compiled-directive\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/compiled-directive.\n */\ncljs.pprint.__GT_compiled_directive \x3d (function cljs$pprint$__GT_compiled_directive(func,def,params,offset){\nreturn (new cljs.pprint.compiled_directive(func,def,params,offset,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/compiled-directive, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_compiled_directive \x3d (function cljs$pprint$map__GT_compiled_directive(G__30093){\nvar extmap__5365__auto__ \x3d (function (){var G__30120 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__30093,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], 0));\nif(cljs.core.record_QMARK_(G__30093)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__30120);\n} else {\nreturn G__30120;\n}\n})();\nreturn (new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(G__30093),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(G__30093),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(G__30093),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__30093),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\ncljs.pprint.realize_parameter \x3d (function cljs$pprint$realize_parameter(p__30121,navigator){\nvar vec__30122 \x3d p__30121;\nvar param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30122,(0),null);\nvar vec__30125 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30122,(1),null);\nvar raw_val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30125,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30125,(1),null);\nvar vec__30128 \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),param))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196)))?cljs.pprint.next_arg(navigator):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.count(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),navigator], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null)\n)));\nvar real_param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30128,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30128,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [real_param,offset], null)], null),new_navigator], null);\n});\ncljs.pprint.realize_parameter_list \x3d (function cljs$pprint$realize_parameter_list(parameter_map,navigator){\nvar vec__30131 \x3d cljs.pprint.map_passing_context(cljs.pprint.realize_parameter,navigator,parameter_map);\nvar pairs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30131,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30131,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,pairs),new_navigator], null);\n});\ncljs.pprint.special_radix_markers \x3d new cljs.core.PersistentArrayMap(null, 3, [(2),\x22#b\x22,(8),\x22#o\x22,(16),\x22#x\x22], null);\ncljs.pprint.format_simple_number \x3d (function cljs$pprint$format_simple_number(n){\nif(cljs.core.integer_QMARK_(n)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.pprint._STAR_print_base_STAR_,(10))){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),(cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?\x22.\x22:null)].join(\x27\x27);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?(function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_radix_markers,cljs.pprint._STAR_print_base_STAR_);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn [\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_print_base_STAR_),\x22r\x22].join(\x27\x27);\n}\n})():null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.opt_base_str(cljs.pprint._STAR_print_base_STAR_,n))].join(\x27\x27);\n}\n} else {\nreturn null;\n\n}\n});\ncljs.pprint.format_ascii \x3d (function cljs$pprint$format_ascii(print_func,params,arg_navigator,offsets){\nvar vec__30138 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30138,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30138,(1),null);\nvar base_output \x3d (function (){var or__5025__auto__ \x3d cljs.pprint.format_simple_number(arg);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (print_func.cljs$core$IFn$_invoke$arity$1 ? print_func.cljs$core$IFn$_invoke$arity$1(arg) : print_func.call(null,arg));\n}\n})();\nvar base_width \x3d base_output.length;\nvar min_width \x3d (base_width + new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params));\nvar width \x3d (((min_width \x3e\x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?min_width:(min_width + ((cljs.core.quot(((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - min_width) - (1)),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params)) + (1)) * new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params))));\nvar chars \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((width - base_width),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars),cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output)].join(\x27\x27)], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output),cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars)].join(\x27\x27)], 0));\n}\n\nreturn arg_navigator__$1;\n});\n/**\n * returns true if a number is actually an integer (that is, has no fractional part)\n */\ncljs.pprint.integral_QMARK_ \x3d (function cljs$pprint$integral_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn true;\n} else {\nif(cljs.pprint.float_QMARK_(x)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,Math.floor(x));\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Return the list of remainders (essentially the \x27digits\x27) of val in the given base\n */\ncljs.pprint.remainders \x3d (function cljs$pprint$remainders(base,val){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (p1__30144_SHARP_){\nif((p1__30144_SHARP_ \x3e (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rem(p1__30144_SHARP_,base),cljs.core.quot(p1__30144_SHARP_,base)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n}\n}),val)));\n});\n/**\n * Return val as a string in the given base\n */\ncljs.pprint.base_str \x3d (function cljs$pprint$base_str(base,val){\nif((val \x3d\x3d\x3d (0))){\nreturn \x220\x22;\n} else {\nvar xlated_val \x3d val\n;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__30145_SHARP_){\nif((p1__30145_SHARP_ \x3c (10))){\nreturn cljs.core.char$((cljs.pprint.char_code(\x220\x22) + p1__30145_SHARP_));\n} else {\nreturn cljs.core.char$((cljs.pprint.char_code(\x22a\x22) + (p1__30145_SHARP_ - (10))));\n}\n}),cljs.pprint.remainders(base,val)));\n}\n});\ncljs.pprint.javascript_base_formats \x3d new cljs.core.PersistentArrayMap(null, 3, [(8),\x22%o\x22,(10),\x22%d\x22,(16),\x22%x\x22], null);\n/**\n * Return val as a string in the given base. No cljs format, so no improved performance.\n */\ncljs.pprint.opt_base_str \x3d (function cljs$pprint$opt_base_str(base,val){\nreturn cljs.pprint.base_str(base,val);\n});\ncljs.pprint.group_by_STAR_ \x3d (function cljs$pprint$group_by_STAR_(unit,lis){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (x){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.reverse(cljs.core.take.cljs$core$IFn$_invoke$arity$2(unit,x))),cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(unit,x))], null);\n}),cljs.core.reverse(lis))));\n});\ncljs.pprint.format_integer \x3d (function cljs$pprint$format_integer(base,params,arg_navigator,offsets){\nvar vec__30153 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30153,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30153,(1),null);\nif(cljs.pprint.integral_QMARK_(arg)){\nvar neg_31732 \x3d (arg \x3c (0));\nvar pos_arg_31733 \x3d ((neg_31732)?(- arg):arg);\nvar raw_str_31734 \x3d cljs.pprint.opt_base_str(base,pos_arg_31733);\nvar group_str_31735 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(function (){var groups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__30152_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,p1__30152_SHARP_);\n}),cljs.pprint.group_by_STAR_(new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083).cljs$core$IFn$_invoke$arity$1(params),raw_str_31734));\nvar commas \x3d cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.count(groups),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327).cljs$core$IFn$_invoke$arity$1(params));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.next(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(commas,groups)));\n})():raw_str_31734);\nvar signed_str_31736 \x3d ((neg_31732)?[\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_31735)].join(\x27\x27):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?[\x22+\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_31735)].join(\x27\x27):group_str_31735\n));\nvar padded_str_31737 \x3d (((signed_str_31736.length \x3c new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - signed_str_31736.length),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(signed_str_31736)].join(\x27\x27):signed_str_31736);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([padded_str_31737], 0));\n} else {\ncljs.pprint.format_ascii(cljs.core.print_str,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),(1),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),null);\n}\n\nreturn arg_navigator__$1;\n});\ncljs.pprint.english_cardinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zero\x22,\x22one\x22,\x22two\x22,\x22three\x22,\x22four\x22,\x22five\x22,\x22six\x22,\x22seven\x22,\x22eight\x22,\x22nine\x22,\x22ten\x22,\x22eleven\x22,\x22twelve\x22,\x22thirteen\x22,\x22fourteen\x22,\x22fifteen\x22,\x22sixteen\x22,\x22seventeen\x22,\x22eighteen\x22,\x22nineteen\x22], null);\ncljs.pprint.english_ordinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zeroth\x22,\x22first\x22,\x22second\x22,\x22third\x22,\x22fourth\x22,\x22fifth\x22,\x22sixth\x22,\x22seventh\x22,\x22eighth\x22,\x22ninth\x22,\x22tenth\x22,\x22eleventh\x22,\x22twelfth\x22,\x22thirteenth\x22,\x22fourteenth\x22,\x22fifteenth\x22,\x22sixteenth\x22,\x22seventeenth\x22,\x22eighteenth\x22,\x22nineteenth\x22], null);\ncljs.pprint.english_cardinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twenty\x22,\x22thirty\x22,\x22forty\x22,\x22fifty\x22,\x22sixty\x22,\x22seventy\x22,\x22eighty\x22,\x22ninety\x22], null);\ncljs.pprint.english_ordinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twentieth\x22,\x22thirtieth\x22,\x22fortieth\x22,\x22fiftieth\x22,\x22sixtieth\x22,\x22seventieth\x22,\x22eightieth\x22,\x22ninetieth\x22], null);\ncljs.pprint.english_scale_numbers \x3d new cljs.core.PersistentVector(null, 22, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22thousand\x22,\x22million\x22,\x22billion\x22,\x22trillion\x22,\x22quadrillion\x22,\x22quintillion\x22,\x22sextillion\x22,\x22septillion\x22,\x22octillion\x22,\x22nonillion\x22,\x22decillion\x22,\x22undecillion\x22,\x22duodecillion\x22,\x22tredecillion\x22,\x22quattuordecillion\x22,\x22quindecillion\x22,\x22sexdecillion\x22,\x22septendecillion\x22,\x22octodecillion\x22,\x22novemdecillion\x22,\x22vigintillion\x22], null);\n/**\n * Convert a number less than 1000 to a cardinal english string\n */\ncljs.pprint.format_simple_cardinal \x3d (function cljs$pprint$format_simple_cardinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,unit_digit):null))].join(\x27\x27);\n})()):null))].join(\x27\x27);\n});\n/**\n * Take a sequence of parts, add scale numbers (e.g., million) and combine into a string\n *   offset is a factor of 10^3 to multiply by\n */\ncljs.pprint.add_english_scales \x3d (function cljs$pprint$add_english_scales(parts,offset){\nvar cnt \x3d cljs.core.count(parts);\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar pos \x3d (cnt - (1));\nvar this$ \x3d cljs.core.first(parts);\nvar remainder \x3d cljs.core.next(parts);\nwhile(true){\nif((remainder \x3d\x3d null)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,acc))),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 ((!(cljs.core.empty_QMARK_(acc))))))?\x22, \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 (((pos + offset) \x3e (0)))))?[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27):null)].join(\x27\x27);\n} else {\nvar G__31758 \x3d ((cljs.core.empty_QMARK_(this$))?acc:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27)));\nvar G__31759 \x3d (pos - (1));\nvar G__31760 \x3d cljs.core.first(remainder);\nvar G__31761 \x3d cljs.core.next(remainder);\nacc \x3d G__31758;\npos \x3d G__31759;\nthis$ \x3d G__31760;\nremainder \x3d G__31761;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.format_cardinal_english \x3d (function cljs$pprint$format_cardinal_english(params,navigator,offsets){\nvar vec__30168 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30168,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30168,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zero\x22], 0));\n} else {\nvar abs_arg_31762 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_31763 \x3d cljs.pprint.remainders((1000),abs_arg_31762);\nif((cljs.core.count(parts_31763) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_31768 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,parts_31763);\nvar full_str_31769 \x3d cljs.pprint.add_english_scales(parts_strs_31768,(0));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),full_str_31769].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n}\n\nreturn navigator__$1;\n});\n/**\n * Convert a number less than 1000 to a ordinal english string\n *   Note this should only be used for the last one in the sequence\n */\ncljs.pprint.format_simple_ordinal \x3d (function cljs$pprint$format_simple_ordinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nif((((ten_digit \x3e (0))) \x26\x26 ((!((unit_digit \x3e (0))))))){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_tens,ten_digit);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,unit_digit):null))].join(\x27\x27);\n}\n})()):(((hundreds \x3e (0)))?\x22th\x22:null)))].join(\x27\x27);\n});\ncljs.pprint.format_ordinal_english \x3d (function cljs$pprint$format_ordinal_english(params,navigator,offsets){\nvar vec__30181 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30181,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30181,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zeroth\x22], 0));\n} else {\nvar abs_arg_31786 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_31787 \x3d cljs.pprint.remainders((1000),abs_arg_31786);\nif((cljs.core.count(parts_31787) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_31788 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1(parts_31787));\nvar head_str_31789 \x3d cljs.pprint.add_english_scales(parts_strs_31788,(1));\nvar tail_str_31790 \x3d cljs.pprint.format_simple_ordinal(cljs.core.last(parts_31787));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),(((((!(cljs.core.empty_QMARK_(head_str_31789)))) \x26\x26 ((!(cljs.core.empty_QMARK_(tail_str_31790))))))?[head_str_31789,\x22, \x22,tail_str_31790].join(\x27\x27):(((!(cljs.core.empty_QMARK_(head_str_31789))))?[head_str_31789,\x22th\x22].join(\x27\x27):tail_str_31790\n))].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n\nvar low_two_digits_31801 \x3d cljs.core.rem(arg,(100));\nvar not_teens_31802 \x3d ((((11) \x3c low_two_digits_31801)) || (((19) \x3e low_two_digits_31801)));\nvar low_digit_31803 \x3d cljs.core.rem(low_two_digits_31801,(10));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(((((low_digit_31803 \x3d\x3d\x3d (1))) \x26\x26 (not_teens_31802)))?\x22st\x22:(((((low_digit_31803 \x3d\x3d\x3d (2))) \x26\x26 (not_teens_31802)))?\x22nd\x22:(((((low_digit_31803 \x3d\x3d\x3d (3))) \x26\x26 (not_teens_31802)))?\x22rd\x22:\x22th\x22\n)))], 0));\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.old_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IIII\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22VIIII\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XXXX\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22LXXXX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CCCC\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22DCCCC\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\ncljs.pprint.new_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IV\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22IX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XL\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22XC\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CD\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22CM\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\n/**\n * Format a roman numeral using the specified look-up table\n */\ncljs.pprint.format_roman \x3d (function cljs$pprint$format_roman(table,params,navigator,offsets){\nvar vec__30188 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30188,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30188,(1),null);\nif(((typeof arg \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((arg \x3e (0))) \x26\x26 ((arg \x3c (4000))))))){\nvar digits_31809 \x3d cljs.pprint.remainders((10),arg);\nvar acc_31810 \x3d cljs.core.PersistentVector.EMPTY;\nvar pos_31811 \x3d (cljs.core.count(digits_31809) - (1));\nvar digits_31812__$1 \x3d digits_31809;\nwhile(true){\nif(cljs.core.empty_QMARK_(digits_31812__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,acc_31810)], 0));\n} else {\nvar digit_31814 \x3d cljs.core.first(digits_31812__$1);\nvar G__31815 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),digit_31814))?acc_31810:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc_31810,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(table,pos_31811),(digit_31814 - (1)))));\nvar G__31816 \x3d (pos_31811 - (1));\nvar G__31817 \x3d cljs.core.next(digits_31812__$1);\nacc_31810 \x3d G__31815;\npos_31811 \x3d G__31816;\ndigits_31812__$1 \x3d G__31817;\ncontinue;\n}\nbreak;\n}\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.format_old_roman \x3d (function cljs$pprint$format_old_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.old_roman_table,params,navigator,offsets);\n});\ncljs.pprint.format_new_roman \x3d (function cljs$pprint$format_new_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.new_roman_table,params,navigator,offsets);\n});\ncljs.pprint.special_chars \x3d new cljs.core.PersistentArrayMap(null, 5, [(8),\x22Backspace\x22,(9),\x22Tab\x22,(10),\x22Newline\x22,(13),\x22Return\x22,(32),\x22Space\x22], null);\ncljs.pprint.pretty_character \x3d (function cljs$pprint$pretty_character(params,navigator,offsets){\nvar vec__30198 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30198,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30198,(1),null);\nvar as_int \x3d cljs.pprint.char_code(c);\nvar base_char \x3d (as_int \x26 (127));\nvar meta \x3d (as_int \x26 (128));\nvar special \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_chars,base_char);\nif((meta \x3e (0))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Meta-\x22], 0));\n} else {\n}\n\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(special)?special:(((base_char \x3c (32)))?[\x22Control-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.char$((base_char + (64))))].join(\x27\x27):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(base_char,(127)))?\x22Control-?\x22:cljs.core.char$(base_char)\n)))], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.readable_character \x3d (function cljs$pprint$readable_character(params,navigator,offsets){\nvar vec__30205 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30205,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30205,(1),null);\nvar pred__30208_31831 \x3d cljs.core._EQ_;\nvar expr__30209_31832 \x3d new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_((function (){var G__30211 \x3d \x22o\x22;\nvar G__30212 \x3d expr__30209_31832;\nreturn (pred__30208_31831.cljs$core$IFn$_invoke$arity$2 ? pred__30208_31831.cljs$core$IFn$_invoke$arity$2(G__30211,G__30212) : pred__30208_31831.call(null,G__30211,G__30212));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\o~3,\x270o\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((function (){var G__30216 \x3d \x22u\x22;\nvar G__30217 \x3d expr__30209_31832;\nreturn (pred__30208_31831.cljs$core$IFn$_invoke$arity$2 ? pred__30208_31831.cljs$core$IFn$_invoke$arity$2(G__30216,G__30217) : pred__30208_31831.call(null,G__30216,G__30217));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\u~4,\x270x\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((pred__30208_31831.cljs$core$IFn$_invoke$arity$2 ? pred__30208_31831.cljs$core$IFn$_invoke$arity$2(null,expr__30209_31832) : pred__30208_31831.call(null,null,expr__30209_31832)))){\ncljs.pprint.print_char(c);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30209_31832)].join(\x27\x27)));\n}\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.plain_character \x3d (function cljs$pprint$plain_character(params,navigator,offsets){\nvar vec__30218 \x3d cljs.pprint.next_arg(navigator);\nvar char$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30218,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30218,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([char$], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.abort_QMARK_ \x3d (function cljs$pprint$abort_QMARK_(context){\nvar token \x3d cljs.core.first(context);\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),token)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),token)));\n});\ncljs.pprint.execute_sub_format \x3d (function cljs$pprint$execute_sub_format(format,args,base_args){\nreturn cljs.core.second(cljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__30225 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30225,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30225,(1),null);\nvar vec__30229 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30229,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30229,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),base_args);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format));\n});\n/**\n * Produce string parts for the mantissa (normalize 1-9) and exponent\n */\ncljs.pprint.float_parts_base \x3d (function cljs$pprint$float_parts_base(f){\nvar s \x3d clojure.string.lower_case(cljs.core.str.cljs$core$IFn$_invoke$arity$1(f));\nvar exploc \x3d s.indexOf(\x22e\x22);\nvar dotloc \x3d s.indexOf(\x22.\x22);\nif((exploc \x3c (0))){\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((s).length) - (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),dotloc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(dotloc + (1)))].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1((dotloc - (1)))], null);\n}\n} else {\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),exploc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(1)),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(2),exploc)].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n}\n}\n});\n/**\n * Take care of leading and trailing zeros in decomposed floats\n */\ncljs.pprint.float_parts \x3d (function cljs$pprint$float_parts(f){\nvar vec__30238 \x3d cljs.pprint.float_parts_base(f);\nvar m \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30238,(0),null);\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30238,(1),null);\nvar m1 \x3d cljs.pprint.rtrim(m,\x220\x22);\nvar m2 \x3d cljs.pprint.ltrim(m1,\x220\x22);\nvar delta \x3d (cljs.core.count(m1) - cljs.core.count(m2));\nvar e__$1 \x3d (((((cljs.core.count(e) \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(e,(0)),\x22+\x22))))?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(e,(1)):e);\nif(cljs.core.empty_QMARK_(m2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m2,(parseInt(e__$1,(10)) - delta)], null);\n}\n});\n/**\n * Assumption: The input string consists of one or more decimal digits,\n *   and no other characters. Return a string containing one or more\n *   decimal digits containing a decimal number one larger than the input\n *   string. The output string will always be the same length as the input\n *   string, or one character longer.\n */\ncljs.pprint.inc_s \x3d (function cljs$pprint$inc_s(s){\nvar len_1 \x3d (cljs.core.count(s) - (1));\nvar i \x3d (len_1 | (0));\nwhile(true){\nif((i \x3c (0))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,\x221\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 + (1)),\x220\x22));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x229\x22,s.charAt(i))){\nvar G__31844 \x3d (i - (1));\ni \x3d G__31844;\ncontinue;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.str,cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),i),cljs.core.char$((cljs.pprint.char_code(s.charAt(i)) + (1))),cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 - i),\x220\x22));\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.round_str \x3d (function cljs$pprint$round_str(m,e,d,w){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d d;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn w;\n}\n})())){\nvar len \x3d cljs.core.count(m);\nvar w__$1 \x3d (cljs.core.truth_(w)?(function (){var x__5110__auto__ \x3d (2);\nvar y__5111__auto__ \x3d w;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})():(0));\nvar round_pos \x3d (cljs.core.truth_(d)?((e + d) + (1)):(((e \x3e\x3d (0)))?(function (){var x__5110__auto__ \x3d (e + (1));\nvar y__5111__auto__ \x3d (w__$1 - (1));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})():(w__$1 + e)\n));\nvar vec__30248 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(round_pos,(0)))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x220\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(e + (1)),(1),(len + (1))], null):new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,round_pos,len], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30248,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30248,(1),null);\nvar round_pos__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30248,(2),null);\nvar len__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30248,(3),null);\nif(cljs.core.truth_(round_pos__$1)){\nif((round_pos__$1 \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0),false], null);\n} else {\nif((len__$1 \x3e round_pos__$1)){\nvar round_char \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(m1,round_pos__$1);\nvar result \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m1,(0),round_pos__$1);\nif((cljs.pprint.char_code(round_char) \x3e\x3d cljs.pprint.char_code(\x225\x22))){\nvar round_up_result \x3d cljs.pprint.inc_s(result);\nvar expanded \x3d (cljs.core.count(round_up_result) \x3e ((result).length));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((expanded)?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(round_up_result,(0),(cljs.core.count(round_up_result) - (1))):round_up_result),e1,expanded], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [result,e1,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n});\ncljs.pprint.expand_fixed \x3d (function cljs$pprint$expand_fixed(m,e,d){\nvar vec__30255 \x3d (((e \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((- e) - (1)),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(-1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30255,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30255,(1),null);\nvar len \x3d cljs.core.count(m1);\nvar target_len \x3d (cljs.core.truth_(d)?((e1 + d) + (1)):(e1 + (1)));\nif((len \x3c target_len)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(m1),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((target_len - len),\x220\x22)))].join(\x27\x27);\n} else {\nreturn m1;\n}\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_decimal \x3d (function cljs$pprint$insert_decimal(m,e){\nif((e \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nvar loc \x3d (e + (1));\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),loc),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,loc)].join(\x27\x27);\n}\n});\ncljs.pprint.get_fixed \x3d (function cljs$pprint$get_fixed(m,e,d){\nreturn cljs.pprint.insert_decimal(cljs.pprint.expand_fixed(m,e,d),e);\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_scaled_decimal \x3d (function cljs$pprint$insert_scaled_decimal(m,k){\nif((k \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),k),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,k)].join(\x27\x27);\n}\n});\ncljs.pprint.convert_ratio \x3d (function cljs$pprint$convert_ratio(x){\nreturn x;\n});\ncljs.pprint.fixed_float \x3d (function cljs$pprint$fixed_float(params,navigator,offsets){\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__30262 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30262,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30262,(1),null);\nvar vec__30265 \x3d (((arg \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22-\x22,(- arg)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22+\x22,arg], null));\nvar sign \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30265,(0),null);\nvar abs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30265,(1),null);\nvar abs__$1 \x3d cljs.pprint.convert_ratio(abs);\nvar vec__30268 \x3d cljs.pprint.float_parts(abs__$1);\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30268,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30268,(1),null);\nvar scaled_exp \x3d (exp + new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params));\nvar add_sign \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar append_zero \x3d ((cljs.core.not(d)) \x26\x26 (((cljs.core.count(mantissa) - (1)) \x3c\x3d scaled_exp)));\nvar vec__30271 \x3d cljs.pprint.round_str(mantissa,scaled_exp,d,(cljs.core.truth_(w)?(w - (cljs.core.truth_(add_sign)?(1):(0))):null));\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30271,(0),null);\nvar scaled_exp__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30271,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30271,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp__$1 + (1)):scaled_exp__$1),d);\nvar fixed_repr__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d w;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d d;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (((d \x3e\x3d (1))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((0)),\x220\x22)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((1)),\x22.\x22)) \x26\x26 ((((fixed_repr).length) \x3e (w - (cljs.core.truth_(add_sign)?(1):(0))))))))));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(fixed_repr,(1)):fixed_repr);\nvar prepend_zero \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fixed_repr__$1),\x22.\x22);\nif(cljs.core.truth_(w)){\nvar len_31869 \x3d ((fixed_repr__$1).length);\nvar signed_len_31870 \x3d (cljs.core.truth_(add_sign)?(len_31869 + (1)):len_31869);\nvar prepend_zero_31871__$1 \x3d ((prepend_zero) \x26\x26 ((!((signed_len_31870 \x3e\x3d w)))));\nvar append_zero_31872__$1 \x3d ((append_zero) \x26\x26 ((!((signed_len_31870 \x3e\x3d w)))));\nvar full_len_31873 \x3d ((((prepend_zero_31871__$1) || (append_zero_31872__$1)))?(signed_len_31870 + (1)):signed_len_31870);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (full_len_31873 \x3e w);\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len_31873),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero_31871__$1)?\x220\x22:null),fixed_repr__$1,((append_zero_31872__$1)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero)?\x220\x22:null),fixed_repr__$1,((append_zero)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.exponential_float \x3d (function cljs$pprint$exponential_float(params,navigator,offset){\nvar vec__30281 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30281,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30281,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar G__30288_31881 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar vec__30289_31882 \x3d G__30288_31881;\nvar mantissa_31883 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30289_31882,(0),null);\nvar exp_31884 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30289_31882,(1),null);\nvar G__30288_31885__$1 \x3d G__30288_31881;\nwhile(true){\nvar vec__30292_31886 \x3d G__30288_31885__$1;\nvar mantissa_31887__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30292_31886,(0),null);\nvar exp_31888__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30292_31886,(1),null);\nvar w_31890 \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d_31891 \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e_31892 \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar k_31893 \x3d new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params);\nvar expchar_31894 \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22E\x22;\n}\n})();\nvar add_sign_31895 \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (arg__$1 \x3c (0));\n}\n})();\nvar prepend_zero_31896 \x3d (k_31893 \x3c\x3d (0));\nvar scaled_exp_31897 \x3d (exp_31888__$1 - (k_31893 - (1)));\nvar scaled_exp_str_31898 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(Math.abs(scaled_exp_31897));\nvar scaled_exp_str_31899__$1 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(expchar_31894),(((scaled_exp_31897 \x3c (0)))?\x22-\x22:\x22+\x22),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(e_31892)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((e_31892 - ((scaled_exp_str_31898).length)),\x220\x22)):null)),scaled_exp_str_31898].join(\x27\x27);\nvar exp_width_31900 \x3d ((scaled_exp_str_31899__$1).length);\nvar base_mantissa_width_31901 \x3d cljs.core.count(mantissa_31887__$1);\nvar scaled_mantissa_31902 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((- k_31893),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(mantissa_31887__$1),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(d_31891)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((d_31891 - (base_mantissa_width_31901 - (1))) - (((k_31893 \x3c (0)))?(- k_31893):(0))),\x220\x22)):null))].join(\x27\x27);\nvar w_mantissa_31903 \x3d (cljs.core.truth_(w_31890)?(w_31890 - exp_width_31900):null);\nvar vec__30295_31904 \x3d cljs.pprint.round_str(scaled_mantissa_31902,(0),((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_31893,(0)))?(d_31891 - (1)):(((k_31893 \x3e (0)))?d_31891:(((k_31893 \x3c (0)))?(d_31891 - (1)):null))),(cljs.core.truth_(w_mantissa_31903)?(w_mantissa_31903 - (cljs.core.truth_(add_sign_31895)?(1):(0))):null));\nvar rounded_mantissa_31905 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30295_31904,(0),null);\nvar __31906 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30295_31904,(1),null);\nvar incr_exp_31907 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30295_31904,(2),null);\nvar full_mantissa_31908 \x3d cljs.pprint.insert_scaled_decimal(rounded_mantissa_31905,k_31893);\nvar append_zero_31909 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_31893,cljs.core.count(rounded_mantissa_31905))) \x26\x26 ((d_31891 \x3d\x3d null)));\nif(cljs.core.not(incr_exp_31907)){\nif(cljs.core.truth_(w_31890)){\nvar len_31923 \x3d (((full_mantissa_31908).length) + exp_width_31900);\nvar signed_len_31924 \x3d (cljs.core.truth_(add_sign_31895)?(len_31923 + (1)):len_31923);\nvar prepend_zero_31925__$1 \x3d ((prepend_zero_31896) \x26\x26 ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(signed_len_31924,w_31890)))));\nvar full_len_31926 \x3d ((prepend_zero_31925__$1)?(signed_len_31924 + (1)):signed_len_31924);\nvar append_zero_31927__$1 \x3d ((append_zero_31909) \x26\x26 ((full_len_31926 \x3c w_31890)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (function (){var or__5025__auto__ \x3d (full_len_31926 \x3e w_31890);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d e_31892;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((exp_width_31900 - (2)) \x3e e_31892);\n} else {\nreturn and__5023__auto__;\n}\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w_31890,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((w_31890 - full_len_31926) - ((append_zero_31927__$1)?(1):(0))),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_(add_sign_31895)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_31925__$1)?\x220\x22:null),full_mantissa_31908,((append_zero_31927__$1)?\x220\x22:null),scaled_exp_str_31899__$1].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_(add_sign_31895)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_31896)?\x220\x22:null),full_mantissa_31908,((append_zero_31909)?\x220\x22:null),scaled_exp_str_31899__$1].join(\x27\x27)], 0));\n}\n} else {\nvar G__31940 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rounded_mantissa_31905,(exp_31888__$1 + (1))], null);\nG__30288_31885__$1 \x3d G__31940;\ncontinue;\n}\nbreak;\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.general_float \x3d (function cljs$pprint$general_float(params,navigator,offsets){\nvar vec__30306 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30306,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30306,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar vec__30309 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30309,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30309,(1),null);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg__$1,0.0))?(0):(exp + (1)));\nvar ee \x3d (cljs.core.truth_(e)?(e + (2)):(4));\nvar ww \x3d (cljs.core.truth_(w)?(w - ee):null);\nvar d__$1 \x3d (cljs.core.truth_(d)?d:(function (){var x__5110__auto__ \x3d cljs.core.count(mantissa);\nvar y__5111__auto__ \x3d (function (){var x__5113__auto__ \x3d n;\nvar y__5114__auto__ \x3d (7);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})());\nvar dd \x3d (d__$1 - n);\nif(((((0) \x3c\x3d dd)) \x26\x26 ((dd \x3c\x3d d__$1)))){\nvar navigator__$1 \x3d cljs.pprint.fixed_float(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),ww,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),dd,new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),(0),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params)], null),navigator,offsets);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(ee,\x22 \x22))], 0));\n\nreturn navigator__$1;\n} else {\nreturn cljs.pprint.exponential_float(params,navigator,offsets);\n}\n});\ncljs.pprint.dollar_float \x3d (function cljs$pprint$dollar_float(params,navigator,offsets){\nvar vec__30316 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30316,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30316,(1),null);\nvar vec__30319 \x3d cljs.pprint.float_parts(Math.abs(arg));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30319,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30319,(1),null);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar add_sign \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar vec__30322 \x3d cljs.pprint.round_str(mantissa,exp,d,null);\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30322,(0),null);\nvar scaled_exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30322,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30322,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp + (1)):scaled_exp),d);\nvar full_repr \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((n - fixed_repr.indexOf(\x22.\x22)),\x220\x22))),fixed_repr].join(\x27\x27);\nvar full_len \x3d (((full_repr).length) + (cljs.core.truth_(add_sign)?(1):(0)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn add_sign;\n} else {\nreturn and__5023__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params));\nif(and__5023__auto__){\nreturn add_sign;\n} else {\nreturn and__5023__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),full_repr].join(\x27\x27)], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.choice_conditional \x3d (function cljs$pprint$choice_conditional(params,arg_navigator,offsets){\nvar arg \x3d new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__30329 \x3d (cljs.core.truth_(arg)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg,arg_navigator], null):cljs.pprint.next_arg(arg_navigator));\nvar arg__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30329,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30329,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (((((arg__$1 \x3c (0))) || ((arg__$1 \x3e\x3d cljs.core.count(clauses)))))?cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params)):cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,arg__$1));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.boolean_conditional \x3d (function cljs$pprint$boolean_conditional(params,arg_navigator,offsets){\nvar vec__30332 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30332,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30332,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.second(clauses):cljs.core.first(clauses));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.check_arg_conditional \x3d (function cljs$pprint$check_arg_conditional(params,arg_navigator,offsets){\nvar vec__30335 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30335,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30335,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.first(clauses):null);\nif(cljs.core.truth_(arg)){\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,arg_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn arg_navigator;\n}\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.iterate_sublist \x3d (function cljs$pprint$iterate_sublist(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__30342 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30342,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30342,(1),null);\nvar vec__30345 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30345,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30345,(1),null);\nvar args \x3d cljs.pprint.init_navigator(arg_list);\nvar count \x3d (0);\nvar args__$1 \x3d args;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(args__$1))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,args__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__31985 \x3d (count + (1));\nvar G__31986 \x3d iter_result;\nvar G__31987 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1);\ncount \x3d G__31985;\nargs__$1 \x3d G__31986;\nlast_pos \x3d G__31987;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_list_of_sublists \x3d (function cljs$pprint$iterate_list_of_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__30356 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30356,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30356,(1),null);\nvar vec__30359 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30359,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30359,(1),null);\nvar count \x3d (0);\nvar arg_list__$1 \x3d arg_list;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ((cljs.core.empty_QMARK_(arg_list__$1)) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(cljs.core.first(arg_list__$1)),cljs.pprint.init_navigator(cljs.core.next(arg_list__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__31994 \x3d (count + (1));\nvar G__31995 \x3d cljs.core.next(arg_list__$1);\ncount \x3d G__31994;\narg_list__$1 \x3d G__31995;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_list \x3d (function cljs$pprint$iterate_main_list(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__30366 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30366,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30366,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%@{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn cljs.core.second(iter_result);\n} else {\nvar G__32009 \x3d (count + (1));\nvar G__32010 \x3d iter_result;\nvar G__32011 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2);\ncount \x3d G__32009;\nnavigator__$2 \x3d G__32010;\nlast_pos \x3d G__32011;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_sublists \x3d (function cljs$pprint$iterate_main_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__30376 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30376,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30376,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar vec__30388 \x3d cljs.pprint.next_arg_or_nil(navigator__$2);\nvar sublist \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30388,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30388,(1),null);\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(sublist),navigator__$3);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$3;\n} else {\nvar G__32021 \x3d (count + (1));\nvar G__32022 \x3d navigator__$3;\ncount \x3d G__32021;\nnavigator__$2 \x3d G__32022;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.logical_block_or_justify \x3d (function cljs$pprint$logical_block_or_justify(params,navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn cljs.pprint.format_logical_block(params,navigator,offsets);\n} else {\nreturn cljs.pprint.justify_clauses(params,navigator,offsets);\n}\n});\ncljs.pprint.render_clauses \x3d (function cljs$pprint$render_clauses(clauses,navigator,base_navigator){\nvar clauses__$1 \x3d clauses;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar navigator__$1 \x3d navigator;\nwhile(true){\nif(cljs.core.empty_QMARK_(clauses__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,navigator__$1], null);\n} else {\nvar clause \x3d cljs.core.first(clauses__$1);\nvar vec__30403 \x3d (function (){var sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__30406 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30407 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30407);\n\ntry{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.execute_sub_format(clause,navigator__$1,base_navigator),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)], null);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30406);\n}})();\nvar iter_result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30403,(0),null);\nvar result_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30403,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,cljs.core.second(iter_result)], null);\n} else {\nvar G__32027 \x3d cljs.core.next(clauses__$1);\nvar G__32028 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result_str);\nvar G__32029 \x3d iter_result;\nclauses__$1 \x3d G__32027;\nacc \x3d G__32028;\nnavigator__$1 \x3d G__32029;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.justify_clauses \x3d (function cljs$pprint$justify_clauses(params,navigator,offsets){\nvar vec__30420 \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar else$ \x3d temp__5804__auto__;\nreturn cljs.pprint.render_clauses(else$,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn null;\n}\n})();\nvar vec__30423 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30420,(0),null);\nvar eol_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30423,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30420,(1),null);\nvar navigator__$1 \x3d (function (){var or__5025__auto__ \x3d new_navigator;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn navigator;\n}\n})();\nvar vec__30426 \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar p \x3d temp__5804__auto__;\nreturn cljs.pprint.realize_parameter_list(p,navigator__$1);\n} else {\nreturn null;\n}\n})();\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30426,(0),null);\nvar new_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30426,(1),null);\nvar navigator__$2 \x3d (function (){var or__5025__auto__ \x3d new_navigator__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn navigator__$1;\n}\n})();\nvar min_remaining \x3d (function (){var or__5025__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar max_columns \x3d (function (){var or__5025__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.pprint.get_max_column(cljs.core._STAR_out_STAR_);\n}\n})();\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__30429 \x3d cljs.pprint.render_clauses(clauses,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nvar strs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30429,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30429,(1),null);\nvar slots \x3d (function (){var x__5110__auto__ \x3d (1);\nvar y__5111__auto__ \x3d (((cljs.core.count(strs) - (1)) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(1):(0))) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?(1):(0)));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar chars \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,strs));\nvar mincol \x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params);\nvar minpad \x3d new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar minout \x3d (chars + (slots * minpad));\nvar result_columns \x3d (((minout \x3c\x3d mincol))?mincol:(mincol + (colinc * ((1) + cljs.core.quot(((minout - mincol) - (1)),colinc)))));\nvar total_pad \x3d (result_columns - chars);\nvar pad \x3d (function (){var x__5110__auto__ \x3d minpad;\nvar y__5111__auto__ \x3d cljs.core.quot(total_pad,slots);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar extra_pad \x3d (total_pad - (pad * slots));\nvar pad_str \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(pad,new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d eol_str;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))) + min_remaining) + result_columns) \x3e max_columns);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([eol_str], 0));\n} else {\n}\n\nvar slots_32063__$1 \x3d slots;\nvar extra_pad_32064__$1 \x3d extra_pad;\nvar strs_32065__$1 \x3d strs;\nvar pad_only_32066 \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(strs_32065__$1),(1))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))));\n}\n})();\nwhile(true){\nif(cljs.core.seq(strs_32065__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(((cljs.core.not(pad_only_32066))?cljs.core.first(strs_32065__$1):null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_((function (){var or__5025__auto__ \x3d pad_only_32066;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.next(strs_32065__$1);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\n}\n}\n})())?pad_str:null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((extra_pad_32064__$1 \x3e (0)))?new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params):null))].join(\x27\x27)], 0));\n\nvar G__32074 \x3d (slots_32063__$1 - (1));\nvar G__32075 \x3d (extra_pad_32064__$1 - (1));\nvar G__32076 \x3d (cljs.core.truth_(pad_only_32066)?strs_32065__$1:cljs.core.next(strs_32065__$1));\nvar G__32077 \x3d false;\nslots_32063__$1 \x3d G__32074;\nextra_pad_32064__$1 \x3d G__32075;\nstrs_32065__$1 \x3d G__32076;\npad_only_32066 \x3d G__32077;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn navigator__$3;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint30453 \x3d (function (writer,meta30454){\nthis.writer \x3d writer;\nthis.meta30454 \x3d meta30454;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint30453.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_30455,meta30454__$1){\nvar self__ \x3d this;\nvar _30455__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint30453(self__.writer,meta30454__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint30453.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_30455){\nvar self__ \x3d this;\nvar _30455__$1 \x3d this;\nreturn self__.meta30454;\n}));\n\n(cljs.pprint.t_cljs$pprint30453.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint30453.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__30457 \x3d cljs.core._EQ_;\nvar expr__30458 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__30457.cljs$core$IFn$_invoke$arity$2 ? pred__30457.cljs$core$IFn$_invoke$arity$2(String,expr__30458) : pred__30457.call(null,String,expr__30458)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n} else {\nif(cljs.core.truth_((pred__30457.cljs$core$IFn$_invoke$arity$2 ? pred__30457.cljs$core$IFn$_invoke$arity$2(Number,expr__30458) : pred__30457.call(null,Number,expr__30458)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30458)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30453.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta30454\x22,\x22meta30454\x22,142165327,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint30453.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint30453.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint30453\x22);\n\n(cljs.pprint.t_cljs$pprint30453.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint30453\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint30453.\n */\ncljs.pprint.__GT_t_cljs$pprint30453 \x3d (function cljs$pprint$__GT_t_cljs$pprint30453(writer,meta30454){\nreturn (new cljs.pprint.t_cljs$pprint30453(writer,meta30454));\n});\n\n\n/**\n * Returns a proxy that wraps writer, converting all characters to lower case\n */\ncljs.pprint.downcase_writer \x3d (function cljs$pprint$downcase_writer(writer){\nreturn (new cljs.pprint.t_cljs$pprint30453(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint30461 \x3d (function (writer,meta30462){\nthis.writer \x3d writer;\nthis.meta30462 \x3d meta30462;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint30461.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_30463,meta30462__$1){\nvar self__ \x3d this;\nvar _30463__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint30461(self__.writer,meta30462__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint30461.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_30463){\nvar self__ \x3d this;\nvar _30463__$1 \x3d this;\nreturn self__.meta30462;\n}));\n\n(cljs.pprint.t_cljs$pprint30461.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint30461.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__30464 \x3d cljs.core._EQ_;\nvar expr__30465 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__30464.cljs$core$IFn$_invoke$arity$2 ? pred__30464.cljs$core$IFn$_invoke$arity$2(String,expr__30465) : pred__30464.call(null,String,expr__30465)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(s));\n} else {\nif(cljs.core.truth_((pred__30464.cljs$core$IFn$_invoke$arity$2 ? pred__30464.cljs$core$IFn$_invoke$arity$2(Number,expr__30465) : pred__30464.call(null,Number,expr__30465)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30465)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30461.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta30462\x22,\x22meta30462\x22,-1550986613,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint30461.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint30461.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint30461\x22);\n\n(cljs.pprint.t_cljs$pprint30461.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint30461\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint30461.\n */\ncljs.pprint.__GT_t_cljs$pprint30461 \x3d (function cljs$pprint$__GT_t_cljs$pprint30461(writer,meta30462){\nreturn (new cljs.pprint.t_cljs$pprint30461(writer,meta30462));\n});\n\n\n/**\n * Returns a proxy that wraps writer, converting all characters to upper case\n */\ncljs.pprint.upcase_writer \x3d (function cljs$pprint$upcase_writer(writer){\nreturn (new cljs.pprint.t_cljs$pprint30461(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Capitalizes the words in a string. If first? is false, don\x27t capitalize the\n *                                    first character of the string even if it\x27s a letter.\n */\ncljs.pprint.capitalize_string \x3d (function cljs$pprint$capitalize_string(s,first_QMARK_){\nvar f \x3d cljs.core.first(s);\nvar s__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d first_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d f;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn goog.string.isUnicodeChar(f);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?[clojure.string.upper_case(f),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1))].join(\x27\x27):s);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.first(cljs.pprint.consume((function (s__$2){\nif(cljs.core.empty_QMARK_(s__$2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n} else {\nvar m \x3d RegExp(\x22\\\\W\\\\w\x22,\x22g\x22).exec(s__$2);\nvar offset \x3d (function (){var and__5023__auto__ \x3d m;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (m.index + (1));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s__$2,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s__$2,offset))].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$2,(offset + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$2,null], null);\n}\n}\n}),s__$1)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint30474 \x3d (function (writer,last_was_whitespace_QMARK_,meta30475){\nthis.writer \x3d writer;\nthis.last_was_whitespace_QMARK_ \x3d last_was_whitespace_QMARK_;\nthis.meta30475 \x3d meta30475;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint30474.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_30476,meta30475__$1){\nvar self__ \x3d this;\nvar _30476__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint30474(self__.writer,self__.last_was_whitespace_QMARK_,meta30475__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint30474.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_30476){\nvar self__ \x3d this;\nvar _30476__$1 \x3d this;\nreturn self__.meta30475;\n}));\n\n(cljs.pprint.t_cljs$pprint30474.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint30474.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__30478 \x3d cljs.core._EQ_;\nvar expr__30479 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__30478.cljs$core$IFn$_invoke$arity$2 ? pred__30478.cljs$core$IFn$_invoke$arity$2(String,expr__30479) : pred__30478.call(null,String,expr__30479)))){\nvar s \x3d x;\ncljs.core._write(self__.writer,cljs.pprint.capitalize_string(s.toLowerCase(),cljs.core.deref(self__.last_was_whitespace_QMARK_)));\n\nif((s.length \x3e (0))){\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1)))));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.truth_((pred__30478.cljs$core$IFn$_invoke$arity$2 ? pred__30478.cljs$core$IFn$_invoke$arity$2(Number,expr__30479) : pred__30478.call(null,Number,expr__30479)))){\nvar c \x3d cljs.core.char$(x);\nvar mod_c \x3d (cljs.core.truth_(cljs.core.deref(self__.last_was_whitespace_QMARK_))?clojure.string.upper_case(c):c);\ncljs.core._write(self__.writer,mod_c);\n\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(c));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30479)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30474.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22last-was-whitespace?\x22,\x22last-was-whitespace?\x22,-1073928093,null),new cljs.core.Symbol(null,\x22meta30475\x22,\x22meta30475\x22,-1023501573,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint30474.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint30474.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint30474\x22);\n\n(cljs.pprint.t_cljs$pprint30474.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint30474\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint30474.\n */\ncljs.pprint.__GT_t_cljs$pprint30474 \x3d (function cljs$pprint$__GT_t_cljs$pprint30474(writer,last_was_whitespace_QMARK_,meta30475){\nreturn (new cljs.pprint.t_cljs$pprint30474(writer,last_was_whitespace_QMARK_,meta30475));\n});\n\n\n/**\n * Returns a proxy that wraps writer, capitalizing all words\n */\ncljs.pprint.capitalize_word_writer \x3d (function cljs$pprint$capitalize_word_writer(writer){\nvar last_was_whitespace_QMARK_ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nreturn (new cljs.pprint.t_cljs$pprint30474(writer,last_was_whitespace_QMARK_,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint30481 \x3d (function (writer,capped,meta30482){\nthis.writer \x3d writer;\nthis.capped \x3d capped;\nthis.meta30482 \x3d meta30482;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint30481.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_30483,meta30482__$1){\nvar self__ \x3d this;\nvar _30483__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint30481(self__.writer,self__.capped,meta30482__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint30481.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_30483){\nvar self__ \x3d this;\nvar _30483__$1 \x3d this;\nreturn self__.meta30482;\n}));\n\n(cljs.pprint.t_cljs$pprint30481.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint30481.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__30484 \x3d cljs.core._EQ_;\nvar expr__30485 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__30484.cljs$core$IFn$_invoke$arity$2 ? pred__30484.cljs$core$IFn$_invoke$arity$2(String,expr__30485) : pred__30484.call(null,String,expr__30485)))){\nvar s \x3d clojure.string.lower_case(x);\nif(cljs.core.not(cljs.core.deref(self__.capped))){\nvar m \x3d RegExp(\x22\\\\S\x22,\x22g\x22).exec(s);\nvar offset \x3d (function (){var and__5023__auto__ \x3d m;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn m.index;\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\ncljs.core._write(self__.writer,[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,offset)),clojure.string.lower_case(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(offset + (1))))].join(\x27\x27));\n\nreturn cljs.core.reset_BANG_(self__.capped,true);\n} else {\nreturn cljs.core._write(self__.writer,s);\n}\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n}\n} else {\nif(cljs.core.truth_((pred__30484.cljs$core$IFn$_invoke$arity$2 ? pred__30484.cljs$core$IFn$_invoke$arity$2(Number,expr__30485) : pred__30484.call(null,Number,expr__30485)))){\nvar c \x3d cljs.core.char$(x);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(cljs.core.deref(self__.capped));\nif(and__5023__auto__){\nreturn goog.string.isUnicodeChar(c);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core.reset_BANG_(self__.capped,true);\n\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(c));\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(c));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30485)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30481.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22capped\x22,\x22capped\x22,-1650988402,null),new cljs.core.Symbol(null,\x22meta30482\x22,\x22meta30482\x22,-1193573944,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint30481.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint30481.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint30481\x22);\n\n(cljs.pprint.t_cljs$pprint30481.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint30481\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint30481.\n */\ncljs.pprint.__GT_t_cljs$pprint30481 \x3d (function cljs$pprint$__GT_t_cljs$pprint30481(writer,capped,meta30482){\nreturn (new cljs.pprint.t_cljs$pprint30481(writer,capped,meta30482));\n});\n\n\n/**\n * Returns a proxy that wraps writer, capitalizing the first word\n */\ncljs.pprint.init_cap_writer \x3d (function cljs$pprint$init_cap_writer(writer){\nvar capped \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\nreturn (new cljs.pprint.t_cljs$pprint30481(writer,capped,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.modify_case \x3d (function cljs$pprint$modify_case(make_writer,params,navigator,offsets){\nvar clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar _STAR_out_STAR__orig_val__30488 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30489 \x3d (make_writer.cljs$core$IFn$_invoke$arity$1 ? make_writer.cljs$core$IFn$_invoke$arity$1(cljs.core._STAR_out_STAR_) : make_writer.call(null,cljs.core._STAR_out_STAR_));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30489);\n\ntry{return cljs.pprint.execute_sub_format(clause,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30488);\n}});\n/**\n * Returns the IWriter passed in wrapped in a pretty writer proxy, unless it\x27s\n * already a pretty writer. Generally, it is unnecessary to call this function, since pprint,\n * write, and cl-format all call it if they need to. However if you want the state to be\n * preserved across calls, you will want to wrap them with this.\n * \n * For example, when you want to generate column-aware output with multiple calls to cl-format,\n * do it like in this example:\n * \n *  (defn print-table [aseq column-width]\n *    (binding [*out* (get-pretty-writer *out*)]\n *      (doseq [row aseq]\n *        (doseq [col row]\n *          (cl-format true \x22~4D~7,vT\x22 col column-width))\n *        (prn))))\n * \n * Now when you run:\n * \n *  user\x3e (print-table (map #(vector % (* % %) (* % % %)) (range 1 11)) 8)\n * \n * It prints a table of squares and cubes for the numbers from 1 to 10:\n * \n *     1      1       1\n *     2      4       8\n *     3      9      27\n *     4     16      64\n *     5     25     125\n *     6     36     216\n *     7     49     343\n *     8     64     512\n *     9     81     729\n *    10    100    1000\n */\ncljs.pprint.get_pretty_writer \x3d (function cljs$pprint$get_pretty_writer(writer){\nif(cljs.core.truth_(cljs.pprint.pretty_writer_QMARK_(writer))){\nreturn writer;\n} else {\nreturn cljs.pprint.pretty_writer(writer,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_);\n}\n});\n/**\n * Make a newline if *out* is not already at the beginning of the line. If *out* is\n * not a pretty writer (which keeps track of columns), this function always outputs a newline.\n */\ncljs.pprint.fresh_line \x3d (function cljs$pprint$fresh_line(){\nif((((!((cljs.core._STAR_out_STAR_ \x3d\x3d null))))?(((((cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d cljs.core._STAR_out_STAR_.cljs$core$IDeref$))))?true:(((!cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_))){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))))))){\nreturn cljs.pprint.prn();\n} else {\nreturn null;\n}\n} else {\nreturn cljs.pprint.prn();\n}\n});\ncljs.pprint.absolute_tabulation \x3d (function cljs$pprint$absolute_tabulation(params,navigator,offsets){\nvar colnum_32112 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_32113 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar current_32114 \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_))));\nvar space_count_32115 \x3d (((current_32114 \x3c colnum_32112))?(colnum_32112 - current_32114):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(colinc_32113,(0)))?(0):(colinc_32113 - cljs.core.rem((current_32114 - colnum_32112),colinc_32113))\n));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_32115,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.relative_tabulation \x3d (function cljs$pprint$relative_tabulation(params,navigator,offsets){\nvar colrel_32122 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_32123 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar start_col_32124 \x3d (colrel_32122 + cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))));\nvar offset_32125 \x3d (((colinc_32123 \x3e (0)))?cljs.core.rem(start_col_32124,colinc_32123):(0));\nvar space_count_32126 \x3d (colrel_32122 + ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),offset_32125))?(0):(colinc_32123 - offset_32125)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_32126,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.format_logical_block \x3d (function cljs$pprint$format_logical_block(params,navigator,offsets){\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause_count \x3d cljs.core.count(clauses);\nvar prefix \x3d (((clause_count \x3e (1)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.first(clauses)))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22(\x22:null));\nvar body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(((clause_count \x3e (1)))?(1):(0)));\nvar suffix \x3d (((clause_count \x3e (2)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(2))))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22)\x22:null));\nvar vec__30492 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30492,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30492,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30495_32130 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30496_32131 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30497_32132 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30498_32133 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30497_32132);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30498_32133);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,suffix);\n\ncljs.pprint.execute_sub_format(body,cljs.pprint.init_navigator(arg),new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30496_32131);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30495_32130);\n}}\n\n\nreturn navigator__$1;\n});\ncljs.pprint.set_indent \x3d (function cljs$pprint$set_indent(params,navigator,offsets){\nvar relative_to \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603):new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210));\ncljs.pprint.pprint_indent(relative_to,new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params));\n\nreturn navigator;\n});\ncljs.pprint.conditional_newline \x3d (function cljs$pprint$conditional_newline(params,navigator,offsets){\nvar kind \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336):new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889)):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186):new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697)));\ncljs.pprint.pprint_newline(kind);\n\nreturn navigator;\n});\ncljs.pprint.directive_table \x3d cljs.core.PersistentHashMap.fromArrays([\x22A\x22,\x22S\x22,\x22D\x22,\x22B\x22,\x22O\x22,\x22X\x22,\x22R\x22,\x22P\x22,\x22C\x22,\x22F\x22,\x22E\x22,\x22G\x22,\x22$\x22,\x22%\x22,\x22\x26\x22,\x22|\x22,\x22~\x22,\x22\\n\x22,\x22T\x22,\x22*\x22,\x22?\x22,\x22(\x22,\x22)\x22,\x22[\x22,\x22;\x22,\x22]\x22,\x22{\x22,\x22}\x22,\x22\x3c\x22,\x22\x3e\x22,\x22^\x22,\x22W\x22,\x22_\x22,\x22I\x22],[new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22A\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30501_SHARP_,p2__30502_SHARP_,p3__30503_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.print_str,p1__30501_SHARP_,p2__30502_SHARP_,p3__30503_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22S\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30504_SHARP_,p2__30505_SHARP_,p3__30506_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.pr_str,p1__30504_SHARP_,p2__30505_SHARP_,p3__30506_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22D\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30507_SHARP_,p2__30508_SHARP_,p3__30509_SHARP_){\nreturn cljs.pprint.format_integer((10),p1__30507_SHARP_,p2__30508_SHARP_,p3__30509_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22B\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30510_SHARP_,p2__30511_SHARP_,p3__30512_SHARP_){\nreturn cljs.pprint.format_integer((2),p1__30510_SHARP_,p2__30511_SHARP_,p3__30512_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22O\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30513_SHARP_,p2__30514_SHARP_,p3__30515_SHARP_){\nreturn cljs.pprint.format_integer((8),p1__30513_SHARP_,p2__30514_SHARP_,p3__30515_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22X\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30516_SHARP_,p2__30517_SHARP_,p3__30518_SHARP_){\nreturn cljs.pprint.format_integer((16),p1__30516_SHARP_,p2__30517_SHARP_,p3__30518_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22R\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(cljs.core.first(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn (function (p1__30519_SHARP_,p2__30520_SHARP_,p3__30521_SHARP_){\nreturn cljs.pprint.format_integer(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(p1__30519_SHARP_),p1__30519_SHARP_,p2__30520_SHARP_,p3__30521_SHARP_);\n});\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (function (p1__30522_SHARP_,p2__30523_SHARP_,p3__30524_SHARP_){\nreturn cljs.pprint.format_old_roman(p1__30522_SHARP_,p2__30523_SHARP_,p3__30524_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__30525_SHARP_,p2__30526_SHARP_,p3__30527_SHARP_){\nreturn cljs.pprint.format_new_roman(p1__30525_SHARP_,p2__30526_SHARP_,p3__30527_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__30528_SHARP_,p2__30529_SHARP_,p3__30530_SHARP_){\nreturn cljs.pprint.format_ordinal_english(p1__30528_SHARP_,p2__30529_SHARP_,p3__30530_SHARP_);\n});\n} else {\nreturn (function (p1__30531_SHARP_,p2__30532_SHARP_,p3__30533_SHARP_){\nreturn cljs.pprint.format_cardinal_english(p1__30531_SHARP_,p2__30532_SHARP_,p3__30533_SHARP_);\n});\n\n}\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22P\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar navigator__$1 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.pprint.relative_reposition(navigator,(-1)):navigator);\nvar strs \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22y\x22,\x22ies\x22], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22s\x22], null));\nvar vec__30545 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30545,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30545,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg,(1)))?cljs.core.first(strs):cljs.core.second(strs))], 0));\n\nreturn navigator__$2;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22C\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.pretty_character;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.readable_character;\n} else {\nreturn cljs.pprint.plain_character;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22F\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.fixed_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22E\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.exponential_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22G\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.general_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22$\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(2),Number], null),new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.dollar_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22%\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5616__auto___32186 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_32187 \x3d (0);\nwhile(true){\nif((i_32187 \x3c n__5616__auto___32186)){\ncljs.pprint.prn();\n\nvar G__32188 \x3d (i_32187 + (1));\ni_32187 \x3d G__32188;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x26\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar cnt_32191 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nif((cnt_32191 \x3e (0))){\ncljs.pprint.fresh_line();\n} else {\n}\n\nvar n__5616__auto___32195 \x3d (cnt_32191 - (1));\nvar i_32197 \x3d (0);\nwhile(true){\nif((i_32197 \x3c n__5616__auto___32195)){\ncljs.pprint.prn();\n\nvar G__32198 \x3d (i_32197 + (1));\ni_32197 \x3d G__32198;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22|\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5616__auto___32201 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_32202 \x3d (0);\nwhile(true){\nif((i_32202 \x3c n__5616__auto___32201)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\f\x22], 0));\n\nvar G__32203 \x3d (i_32202 + (1));\ni_32202 \x3d G__32203;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22~\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n,\x22~\x22))], 0));\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\\n\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\ncljs.pprint.prn();\n} else {\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22T\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__30534_SHARP_,p2__30535_SHARP_,p3__30536_SHARP_){\nreturn cljs.pprint.relative_tabulation(p1__30534_SHARP_,p2__30535_SHARP_,p3__30536_SHARP_);\n});\n} else {\nreturn (function (p1__30537_SHARP_,p2__30538_SHARP_,p3__30539_SHARP_){\nreturn cljs.pprint.absolute_tabulation(p1__30537_SHARP_,p2__30538_SHARP_,p3__30539_SHARP_);\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22*\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\nreturn cljs.pprint.absolute_reposition(navigator,n);\n} else {\nreturn cljs.pprint.relative_reposition(navigator,(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?(- n):n));\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22?\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (params__$1,navigator,offsets){\nvar vec__30550 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30550,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30550,(1),null);\nreturn cljs.pprint.execute_sub_format(subformat,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__30556 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30556,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30556,(1),null);\nvar vec__30559 \x3d cljs.pprint.next_arg(navigator__$1);\nvar subargs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30559,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30559,(1),null);\nvar sub_navigator \x3d cljs.pprint.init_navigator(subargs);\ncljs.pprint.execute_sub_format(subformat,sub_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n\nreturn navigator__$2;\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22(\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22)\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),null,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nvar mod_case_writer \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.pprint.upcase_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.capitalize_word_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.init_cap_writer:cljs.pprint.downcase_writer\n)));\nreturn (function (p1__30540_SHARP_,p2__30541_SHARP_,p3__30542_SHARP_){\nreturn cljs.pprint.modify_case(mod_case_writer,p1__30540_SHARP_,p2__30541_SHARP_,p3__30542_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22)\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22[\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22]\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22last\x22,\x22last\x22,1105735132)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.boolean_conditional;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.check_arg_conditional;\n} else {\nreturn cljs.pprint.choice_conditional;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22;\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),true], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22]\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22{\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22}\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),false], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.pprint.iterate_main_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_list_of_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_main_list;\n} else {\nreturn cljs.pprint.iterate_sublist;\n\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22}\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3c\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22\x3e\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.logical_block_or_justify;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3e\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22^\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(3),[new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar arg1 \x3d new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg2 \x3d new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg3 \x3d new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar exit \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007):new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d arg2;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn arg3;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nif((((arg1 \x3c\x3d arg2)) \x26\x26 ((arg2 \x3c\x3d arg3)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn arg2;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,arg2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_(arg1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,(0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif((cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1))):cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n\n}\n}\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22W\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n}\n})())){\nvar bindings \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552),null,new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862),null], null):cljs.core.PersistentVector.EMPTY),(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),true], null):cljs.core.PersistentVector.EMPTY));\nreturn (function (params__$1,navigator,offsets){\nvar vec__30588 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30588,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30588,(1),null);\nif(cljs.core.truth_(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.pprint.write,arg,bindings))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__30593 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30593,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30593,(1),null);\nif(cljs.core.truth_(cljs.pprint.write_out(arg))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22_\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.conditional_newline;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22I\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.set_indent;\n})], null)]);\ncljs.pprint.param_pattern \x3d /^([vV]|#|(\x27.)|([+-]?\\d+)|(?\x3d,))/;\ncljs.pprint.special_params \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335),null,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196),null], null), null);\ncljs.pprint.extract_param \x3d (function cljs$pprint$extract_param(p__30600){\nvar vec__30601 \x3d p__30600;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30601,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30601,(1),null);\nvar saw_comma \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30601,(2),null);\nvar m \x3d (new RegExp(cljs.pprint.param_pattern.source,\x22g\x22));\nvar param \x3d m.exec(s);\nif(cljs.core.truth_(param)){\nvar token_str \x3d cljs.core.first(param);\nvar remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,m.lastIndex);\nvar new_offset \x3d (offset + m.lastIndex);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22,\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(remainder,(0)))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder,new_offset,false], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,(1)),(new_offset + (1)),true], null)], null);\n}\n} else {\nif(cljs.core.truth_(saw_comma)){\nreturn cljs.pprint.format_error(\x22Badly formed parameters in format directive\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset], null)], null);\n}\n}\n});\ncljs.pprint.extract_params \x3d (function cljs$pprint$extract_params(s,offset){\nreturn cljs.pprint.consume(cljs.pprint.extract_param,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,false], null));\n});\n/**\n * Translate the string representation of a param to the internalized\n *                                    representation\n */\ncljs.pprint.translate_param \x3d (function cljs$pprint$translate_param(p__30607){\nvar vec__30609 \x3d p__30607;\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30609,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30609,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(0)))?null:((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22V\x22,null,\x22v\x22,null], null), null),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22#\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(2))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x27\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(1)):parseInt(p,(10))\n)))),offset], null);\n});\ncljs.pprint.flag_defs \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22:\x22,new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),\x22@\x22,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349)], null);\ncljs.pprint.extract_flags \x3d (function cljs$pprint$extract_flags(s,offset){\nreturn cljs.pprint.consume((function (p__30612){\nvar vec__30613 \x3d p__30612;\nvar s__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30613,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30613,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30613,(2),null);\nif(cljs.core.empty_QMARK_(s__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n} else {\nvar flag \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.flag_defs,cljs.core.first(s__$1));\nif(cljs.core.truth_(flag)){\nif(cljs.core.contains_QMARK_(flags,flag)){\nreturn cljs.pprint.format_error([\x22Flag \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(s__$1)),\x22\\\x22 appears more than once in a directive\x22].join(\x27\x27),offset__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$1,(1)),(offset__$1 + (1)),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(flags,flag,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,offset__$1], null))], null)], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.pprint.check_flags \x3d (function cljs$pprint$check_flags(def,flags){\nvar allowed \x3d new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(def);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22@\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22:\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.pprint.format_error([\x22Cannot combine \\\x22@\\\x22 and \\\x22:\\\x22 flags for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),(function (){var x__5113__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1));\nvar y__5114__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1));\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})());\n} else {\nreturn null;\n}\n});\n/**\n * Takes a directive definition and the list of actual parameters and\n * a map of flags and returns a map of the parameters and flags with defaults\n * filled in. We check to make sure that there are the right types and number\n * of parameters as well.\n */\ncljs.pprint.map_params \x3d (function cljs$pprint$map_params(def,params,flags,offset){\ncljs.pprint.check_flags(def,flags);\n\nif((cljs.core.count(params) \x3e cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)))){\ncljs.pprint.format_error(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(null,\x22Too many parameters for directive \\\x22~C\\\x22: ~D~:* ~[were~;was~:;were~] specified but only ~D~:* ~[are~;is~:;are~] allowed\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def),cljs.core.count(params),cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def))], 0)),cljs.core.second(cljs.core.first(params)));\n} else {\n}\n\ncljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__30627_SHARP_,p2__30628_SHARP_){\nvar val \x3d cljs.core.first(p1__30627_SHARP_);\nif((!((((val \x3d\x3d null)) || (((cljs.core.contains_QMARK_(cljs.pprint.special_params,val)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.second(cljs.core.second(p2__30628_SHARP_)),cljs.core.type(val))))))))){\nreturn cljs.pprint.format_error([\x22Parameter \x22,cljs.core.name(cljs.core.first(p2__30628_SHARP_)),\x22 has bad type in directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type(val))].join(\x27\x27),cljs.core.second(p1__30627_SHARP_));\n} else {\nreturn null;\n}\n}),params,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)));\n\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.reverse((function (){var iter__5503__auto__ \x3d (function cljs$pprint$map_params_$_iter__30643(s__30644){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__30644__$1 \x3d s__30644;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__30644__$1);\nif(temp__5804__auto__){\nvar s__30644__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__30644__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__30644__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__30646 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__30645 \x3d (0);\nwhile(true){\nif((i__30645 \x3c size__5502__auto__)){\nvar vec__30650 \x3d cljs.core._nth(c__5501__auto__,i__30645);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30650,(0),null);\nvar vec__30653 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30650,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30653,(0),null);\ncljs.core.chunk_append(b__30646,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null));\n\nvar G__32313 \x3d (i__30645 + (1));\ni__30645 \x3d G__32313;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__30646),cljs$pprint$map_params_$_iter__30643(cljs.core.chunk_rest(s__30644__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__30646),null);\n}\n} else {\nvar vec__30657 \x3d cljs.core.first(s__30644__$2);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30657,(0),null);\nvar vec__30660 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30657,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30660,(0),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null),cljs$pprint$map_params_$_iter__30643(cljs.core.rest(s__30644__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def));\n})())),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__30629_SHARP_,p2__30630_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc,p1__30629_SHARP_,p2__30630_SHARP_);\n}),cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__30631_SHARP_){\nreturn cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__30631_SHARP_,(1)));\n}),cljs.core.zipmap(cljs.core.keys(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)),params))),flags], 0));\n});\ncljs.pprint.compile_directive \x3d (function cljs$pprint$compile_directive(s,offset){\nvar vec__30666 \x3d cljs.pprint.extract_params(s,offset);\nvar raw_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30666,(0),null);\nvar vec__30669 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30666,(1),null);\nvar rest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30669,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30669,(1),null);\nvar vec__30672 \x3d cljs.pprint.extract_flags(rest,offset__$1);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30672,(0),null);\nvar vec__30675 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30672,(1),null);\nvar rest__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30675,(0),null);\nvar offset__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30675,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30675,(2),null);\nvar directive \x3d cljs.core.first(rest__$1);\nvar def \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.directive_table,clojure.string.upper_case(directive));\nvar params \x3d (cljs.core.truth_(def)?cljs.pprint.map_params(def,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.translate_param,raw_params),flags,offset__$2):null);\nif(cljs.core.not(directive)){\ncljs.pprint.format_error(\x22Format string ended in the middle of a directive\x22,offset__$2);\n} else {\n}\n\nif(cljs.core.not(def)){\ncljs.pprint.format_error([\x22Directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(directive),\x22\\\x22 is undefined\x22].join(\x27\x27),offset__$2);\n} else {\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive((function (){var fexpr__30678 \x3d new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656).cljs$core$IFn$_invoke$arity$1(def);\nreturn (fexpr__30678.cljs$core$IFn$_invoke$arity$2 ? fexpr__30678.cljs$core$IFn$_invoke$arity$2(params,offset__$2) : fexpr__30678.call(null,params,offset__$2));\n})(),def,params,offset__$2,null,null,null)),(function (){var remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(rest__$1,(1));\nvar offset__$3 \x3d (offset__$2 + (1));\nvar trim_QMARK_ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))));\nvar trim_count \x3d ((trim_QMARK_)?cljs.pprint.prefix_count(remainder,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,\x22\\t\x22], null)):(0));\nvar remainder__$1 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,trim_count);\nvar offset__$4 \x3d (offset__$3 + trim_count);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder__$1,offset__$4], null);\n})()], null);\n});\ncljs.pprint.compile_raw_string \x3d (function cljs$pprint$compile_raw_string(s,offset){\nreturn (new cljs.pprint.compiled_directive((function (_,a,___$1){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s], 0));\n\nreturn a;\n}),null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),s], null),offset,null,null,null));\n});\ncljs.pprint.right_bracket \x3d (function cljs$pprint$right_bracket(this$){\nreturn new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.separator_QMARK_ \x3d (function cljs$pprint$separator_QMARK_(this$){\nreturn new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.else_separator_QMARK_ \x3d (function cljs$pprint$else_separator_QMARK_(this$){\nvar and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nreturn and__5023__auto__;\n}\n});\ncljs.pprint.process_bracket \x3d (function cljs$pprint$process_bracket(this$,remainder){\nvar vec__30679 \x3d cljs.pprint.collect_clauses(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),remainder);\nvar subex \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30679,(0),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30679,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(this$),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),cljs.pprint.tuple_map(subex,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$))], 0)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),null,null,null)),remainder__$1], null);\n});\ncljs.pprint.process_clause \x3d (function cljs$pprint$process_clause(bracket_info,offset,remainder){\nreturn cljs.pprint.consume((function (remainder__$1){\nif(cljs.core.empty_QMARK_(remainder__$1)){\nreturn cljs.pprint.format_error(\x22No closing bracket found.\x22,offset);\n} else {\nvar this$ \x3d cljs.core.first(remainder__$1);\nvar remainder__$2 \x3d cljs.core.next(remainder__$1);\nif(cljs.core.truth_(cljs.pprint.right_bracket(this$))){\nreturn cljs.pprint.process_bracket(this$,remainder__$2);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket_info),new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),null,remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.else_separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),null,null,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$2], null);\n\n}\n}\n}\n}\n}\n}),remainder);\n});\ncljs.pprint.collect_clauses \x3d (function cljs$pprint$collect_clauses(bracket_info,offset,remainder){\nreturn cljs.core.second(cljs.pprint.consume((function (p__30682){\nvar vec__30683 \x3d p__30682;\nvar clause_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30683,(0),null);\nvar saw_else \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30683,(1),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30683,(2),null);\nvar vec__30687 \x3d cljs.pprint.process_clause(bracket_info,offset,remainder__$1);\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30687,(0),null);\nvar vec__30690 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30687,(1),null);\nvar type \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30690,(0),null);\nvar right_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30690,(1),null);\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30690,(2),null);\nvar remainder__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30690,(3),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,cljs.core.PersistentArrayMap.createAsIfByAssoc([(cljs.core.truth_(saw_else)?new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146):new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237),right_params])], 0)),remainder__$2], null)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(clause_map))){\nreturn cljs.pprint.format_error(\x22Two else clauses (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22An else clause (\\\x22~:;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))) \x26\x26 (cljs.core.seq(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(clause_map))))){\nreturn cljs.pprint.format_error(\x22The else clause (\\\x22~:;\\\x22) is only allowed in the first position for this directive.\x22,offset);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646),else_params], null)], 0)),false,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),true,remainder__$2], null)], null);\n}\n\n}\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125))){\nif(cljs.core.truth_(saw_else)){\nreturn cljs.pprint.format_error(\x22A plain clause (with \\\x22~;\\\x22) follows an else clause (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22A separator (\\\x22~;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),false,remainder__$2], null)], null);\n\n}\n}\n} else {\nreturn null;\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),cljs.core.PersistentVector.EMPTY], null),false,remainder], null)));\n});\n/**\n * Take a linearly compiled format and process the bracket directives to give it\n * the appropriate tree structure\n */\ncljs.pprint.process_nesting \x3d (function cljs$pprint$process_nesting(format){\nreturn cljs.core.first(cljs.pprint.consume((function (remainder){\nvar this$ \x3d cljs.core.first(remainder);\nvar remainder__$1 \x3d cljs.core.next(remainder);\nvar bracket \x3d new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket))){\nreturn cljs.pprint.process_bracket(this$,remainder__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$1], null);\n}\n}),format));\n});\n/**\n * Compiles format-str into a compiled format which can be used as an argument\n * to cl-format just like a plain format string. Use this function for improved\n * performance when you\x27re using the same format string repeatedly\n */\ncljs.pprint.compile_format \x3d (function cljs$pprint$compile_format(format_str){\nvar _STAR_format_str_STAR__orig_val__30693 \x3d cljs.pprint._STAR_format_str_STAR_;\nvar _STAR_format_str_STAR__temp_val__30694 \x3d format_str;\n(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__temp_val__30694);\n\ntry{return cljs.pprint.process_nesting(cljs.core.first(cljs.pprint.consume((function (p__30695){\nvar vec__30696 \x3d p__30695;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30696,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30696,(1),null);\nif(cljs.core.empty_QMARK_(s)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,s], null);\n} else {\nvar tilde \x3d s.indexOf(\x22~\x22);\nif((tilde \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(s,offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,(offset + s.length)], null)], null);\n} else {\nif((tilde \x3d\x3d\x3d (0))){\nreturn cljs.pprint.compile_directive(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1)),(offset + (1)));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),tilde),offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,tilde),(tilde + offset)], null)], null);\n\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [format_str,(0)], null))));\n}finally {(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__orig_val__30693);\n}});\n/**\n * determine whether a given compiled format has any directives that depend on the\n * column number or pretty printing\n */\ncljs.pprint.needs_pretty \x3d (function cljs$pprint$needs_pretty(format){\nvar format__$1 \x3d format;\nwhile(true){\nif(cljs.core.empty_QMARK_(format__$1)){\nreturn false;\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1))));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\n}\n}\n})())){\nreturn true;\n} else {\nvar G__32361 \x3d cljs.core.next(format__$1);\nformat__$1 \x3d G__32361;\ncontinue;\n}\n}\nbreak;\n}\n});\n/**\n * Executes the format with the arguments.\n */\ncljs.pprint.execute_format \x3d (function cljs$pprint$execute_format(var_args){\nvar G__30701 \x3d arguments.length;\nswitch (G__30701) {\ncase 3:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,format,args){\nvar sb \x3d (new goog.string.StringBuffer());\nvar real_stream \x3d ((((cljs.core.not(stream)) || (stream \x3d\x3d\x3d true)))?(new cljs.core.StringBufferWriter(sb)):stream);\nvar wrapped_stream \x3d ((((cljs.pprint.needs_pretty(format)) \x26\x26 (cljs.core.not(cljs.pprint.pretty_writer_QMARK_(real_stream)))))?cljs.pprint.get_pretty_writer(real_stream):real_stream);\nvar _STAR_out_STAR__orig_val__30707 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30708 \x3d wrapped_stream;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30708);\n\ntry{try{cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(format,args);\n}finally {if((!((real_stream \x3d\x3d\x3d wrapped_stream)))){\ncljs.core._flush(wrapped_stream);\n} else {\n}\n}\nif(cljs.core.not(stream)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nif(stream \x3d\x3d\x3d true){\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\nreturn null;\n\n}\n}\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30707);\n}}));\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2 \x3d (function (format,args){\ncljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__30709 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30709,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30709,(1),null);\nvar vec__30712 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30712,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30712,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),args__$1);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format);\n\nreturn null;\n}));\n\n(cljs.pprint.execute_format.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.pprint.cached_compile \x3d cljs.core.memoize(cljs.pprint.compile_format);\n/**\n * Installs a function as a new method of multimethod associated with dispatch-value. \n */\ncljs.pprint.use_method \x3d (function cljs$pprint$use_method(multifn,dispatch_val,func){\nreturn cljs.core._add_method(multifn,dispatch_val,func);\n});\ncljs.pprint.reader_macros \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22\x27\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22#\x27\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null),\x22@\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null),\x22~\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22deref\x22,\x22cljs.core/deref\x22,1901963335,null),\x22@\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22unquote\x22,\x22cljs.core/unquote\x22,1013085760,null),\x22~\x22], null);\ncljs.pprint.pprint_reader_macro \x3d (function cljs$pprint$pprint_reader_macro(alis){\nvar macro_char \x3d (function (){var G__30716 \x3d cljs.core.first(alis);\nreturn (cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1(G__30716) : cljs.pprint.reader_macros.call(null,G__30716));\n})();\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d macro_char;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(alis));\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core._write(cljs.core._STAR_out_STAR_,macro_char);\n\ncljs.pprint.write_out(cljs.core.second(alis));\n\nreturn true;\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_simple_list \x3d (function cljs$pprint$pprint_simple_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30720_32384 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30721_32385 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30722_32386 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30723_32387 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30722_32386);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30723_32387);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nvar length_count30724_32388 \x3d (0);\nvar alis_32389__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count30724_32388 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_32389__$1){\ncljs.pprint.write_out(cljs.core.first(alis_32389__$1));\n\nif(cljs.core.next(alis_32389__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32392 \x3d (length_count30724_32388 + (1));\nvar G__32393 \x3d cljs.core.next(alis_32389__$1);\nlength_count30724_32388 \x3d G__32392;\nalis_32389__$1 \x3d G__32393;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30721_32385);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30720_32384);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_list \x3d (function cljs$pprint$pprint_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nreturn cljs.pprint.pprint_simple_list(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_vector \x3d (function cljs$pprint$pprint_vector(avec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30729_32394 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30730_32395 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30731_32396 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30732_32397 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30731_32396);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30732_32397);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count30733_32398 \x3d (0);\nvar aseq_32399 \x3d cljs.core.seq(avec);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count30733_32398 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_32399){\ncljs.pprint.write_out(cljs.core.first(aseq_32399));\n\nif(cljs.core.next(aseq_32399)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32400 \x3d (length_count30733_32398 + (1));\nvar G__32401 \x3d cljs.core.next(aseq_32399);\nlength_count30733_32398 \x3d G__32400;\naseq_32399 \x3d G__32401;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30730_32395);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30729_32394);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_array \x3d (function (){var format_in__28814__auto__ \x3d \x22~\x3c[~;~@{~w~^, ~:_~}~;]~:\x3e\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32402__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32402 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32403__i \x3d 0, G__32403__a \x3d new Array(arguments.length -  0);\nwhile (G__32403__i \x3c G__32403__a.length) {G__32403__a[G__32403__i] \x3d arguments[G__32403__i + 0]; ++G__32403__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32403__a,0,null);\n} \nreturn G__32402__delegate.call(this,args__28816__auto__);};\nG__32402.cljs$lang$maxFixedArity \x3d 0;\nG__32402.cljs$lang$applyTo \x3d (function (arglist__32404){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32404);\nreturn G__32402__delegate(args__28816__auto__);\n});\nG__32402.cljs$core$IFn$_invoke$arity$variadic \x3d G__32402__delegate;\nreturn G__32402;\n})()\n;\n})();\ncljs.pprint.pprint_map \x3d (function cljs$pprint$pprint_map(amap){\nvar vec__30734 \x3d (((!(cljs.core.record_QMARK_(amap))))?(function (){var fexpr__30737 \x3d new cljs.core.Var(function(){return cljs.core.lift_ns;},new cljs.core.Symbol(\x22cljs.core\x22,\x22lift-ns\x22,\x22cljs.core/lift-ns\x22,463499081,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22lift-ns\x22,\x22lift-ns\x22,602311926,null),\x22cljs/core.cljs\x22,15,1,10699,10699,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22m\x22,\x22m\x22,-1021758608,null)], null)),\x22Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\x22,(cljs.core.truth_(cljs.core.lift_ns)?cljs.core.lift_ns.cljs$lang$test:null)]));\nreturn (fexpr__30737.cljs$core$IFn$_invoke$arity$1 ? fexpr__30737.cljs$core$IFn$_invoke$arity$1(amap) : fexpr__30737.call(null,amap));\n})():null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30734,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30734,(1),null);\nvar amap__$1 \x3d (function (){var or__5025__auto__ \x3d lift_map;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn amap;\n}\n})();\nvar prefix \x3d (cljs.core.truth_(ns)?[\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22{\x22].join(\x27\x27):\x22{\x22);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30738_32406 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30739_32407 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30740_32408 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30741_32409 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30740_32408);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30741_32409);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22}\x22);\n\nvar length_count30742_32410 \x3d (0);\nvar aseq_32411 \x3d cljs.core.seq(amap__$1);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count30742_32410 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_32411){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30743_32412 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30744_32413 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30745_32414 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30746_32415 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30745_32414);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30746_32415);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\ncljs.pprint.write_out(cljs.core.ffirst(aseq_32411));\n\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d (0));\n\ncljs.pprint.write_out(cljs.core.fnext(cljs.core.first(aseq_32411)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30744_32413);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30743_32412);\n}}\n\n\nif(cljs.core.next(aseq_32411)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22, \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32420 \x3d (length_count30742_32410 + (1));\nvar G__32421 \x3d cljs.core.next(aseq_32411);\nlength_count30742_32410 \x3d G__32420;\naseq_32411 \x3d G__32421;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30739_32407);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30738_32406);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_simple_default \x3d (function cljs$pprint$pprint_simple_default(obj){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n});\ncljs.pprint.pprint_set \x3d (function (){var format_in__28814__auto__ \x3d \x22~\x3c#{~;~@{~w~^ ~:_~}~;}~:\x3e\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32422__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32422 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32423__i \x3d 0, G__32423__a \x3d new Array(arguments.length -  0);\nwhile (G__32423__i \x3c G__32423__a.length) {G__32423__a[G__32423__i] \x3d arguments[G__32423__i + 0]; ++G__32423__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32423__a,0,null);\n} \nreturn G__32422__delegate.call(this,args__28816__auto__);};\nG__32422.cljs$lang$maxFixedArity \x3d 0;\nG__32422.cljs$lang$applyTo \x3d (function (arglist__32424){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32424);\nreturn G__32422__delegate(args__28816__auto__);\n});\nG__32422.cljs$core$IFn$_invoke$arity$variadic \x3d G__32422__delegate;\nreturn G__32422;\n})()\n;\n})();\ncljs.pprint.type_map \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22core$future_call\x22,\x22Future\x22,\x22core$promise\x22,\x22Promise\x22], null);\n/**\n * Map ugly type names to something simpler\n */\ncljs.pprint.map_ref_type \x3d (function cljs$pprint$map_ref_type(name){\nvar or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d cljs.core.re_find(/^[^$]+\\$[^$]+/,name);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar match \x3d temp__5804__auto__;\nreturn (cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1(match) : cljs.pprint.type_map.call(null,match));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn name;\n}\n});\ncljs.pprint.pprint_ideref \x3d (function cljs$pprint$pprint_ideref(o){\nvar prefix \x3d [\x22#\x3c\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.map_ref_type(cljs.core.type(o).name)),\x22@\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.getUid(o)),\x22: \x22].join(\x27\x27);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30751_32436 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30752_32437 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30753_32438 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30754_32439 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30753_32438);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30754_32439);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22\x3e\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(- (((prefix).length) - (2))));\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\ncljs.pprint.write_out((((function (){var and__5023__auto__ \x3d (((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition1$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IPending$))))?true:(((!o.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o));\nif(and__5023__auto__){\nreturn (!(cljs.core._realized_QMARK_(o)));\n} else {\nreturn and__5023__auto__;\n}\n})())?new cljs.core.Keyword(null,\x22not-delivered\x22,\x22not-delivered\x22,1599158697):cljs.core.deref(o)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30752_32437);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30751_32436);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_pqueue \x3d (function (){var format_in__28814__auto__ \x3d \x22~\x3c\x3c-(~;~@{~w~^ ~_~}~;)-\x3c~:\x3e\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32445__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32445 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32446__i \x3d 0, G__32446__a \x3d new Array(arguments.length -  0);\nwhile (G__32446__i \x3c G__32446__a.length) {G__32446__a[G__32446__i] \x3d arguments[G__32446__i + 0]; ++G__32446__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32446__a,0,null);\n} \nreturn G__32445__delegate.call(this,args__28816__auto__);};\nG__32445.cljs$lang$maxFixedArity \x3d 0;\nG__32445.cljs$lang$applyTo \x3d (function (arglist__32447){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32447);\nreturn G__32445__delegate(args__28816__auto__);\n});\nG__32445.cljs$core$IFn$_invoke$arity$variadic \x3d G__32445__delegate;\nreturn G__32445;\n})()\n;\n})();\ncljs.pprint.type_dispatcher \x3d (function cljs$pprint$type_dispatcher(obj){\nif((obj instanceof cljs.core.PersistentQueue)){\nreturn new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IDeref$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj))){\nreturn new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795);\n} else {\nif((obj instanceof cljs.core.Symbol)){\nreturn new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696);\n} else {\nif(cljs.core.seq_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683);\n} else {\nif(cljs.core.map_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif(cljs.core.vector_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158);\n} else {\nif(cljs.core.set_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((obj \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328);\n\n}\n}\n}\n}\n}\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.simple_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for simple data structure format.\n */\ncljs.pprint.simple_dispatch \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__30763 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__30763.cljs$core$IFn$_invoke$arity$0 ? fexpr__30763.cljs$core$IFn$_invoke$arity$0() : fexpr__30763.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22simple-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_list);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,null,(function (){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)));\n}));\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\n/**\n * Figure out which kind of brackets to use\n */\ncljs.pprint.brackets \x3d (function cljs$pprint$brackets(form){\nif(cljs.core.vector_QMARK_(form)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22[\x22,\x22]\x22], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22(\x22,\x22)\x22], null);\n}\n});\n/**\n * Pretty print a single reference (import, use, etc.) from a namespace decl\n */\ncljs.pprint.pprint_ns_reference \x3d (function cljs$pprint$pprint_ns_reference(reference){\nif(cljs.core.sequential_QMARK_(reference)){\nvar vec__30768 \x3d cljs.pprint.brackets(reference);\nvar start \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30768,(0),null);\nvar end \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30768,(1),null);\nvar vec__30771 \x3d reference;\nvar seq__30772 \x3d cljs.core.seq(vec__30771);\nvar first__30773 \x3d cljs.core.first(seq__30772);\nvar seq__30772__$1 \x3d cljs.core.next(seq__30772);\nvar keyw \x3d first__30773;\nvar args \x3d seq__30772__$1;\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30776_32466 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30777_32467 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30778_32468 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30779_32469 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30778_32468);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30779_32469);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start,null,end);\n\n(function (){var format_in__28814__auto__ \x3d \x22~w~:i\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32474__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32474 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32476__i \x3d 0, G__32476__a \x3d new Array(arguments.length -  0);\nwhile (G__32476__i \x3c G__32476__a.length) {G__32476__a[G__32476__i] \x3d arguments[G__32476__i + 0]; ++G__32476__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32476__a,0,null);\n} \nreturn G__32474__delegate.call(this,args__28816__auto__);};\nG__32474.cljs$lang$maxFixedArity \x3d 0;\nG__32474.cljs$lang$applyTo \x3d (function (arglist__32477){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32477);\nreturn G__32474__delegate(args__28816__auto__);\n});\nG__32474.cljs$core$IFn$_invoke$arity$variadic \x3d G__32474__delegate;\nreturn G__32474;\n})()\n;\n})()(keyw);\n\nvar args_32478__$1 \x3d args;\nwhile(true){\nif(cljs.core.seq(args_32478__$1)){\n(function (){var format_in__28814__auto__ \x3d \x22 \x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn ((function (args_32478__$1,format_in__28814__auto__,cf__28815__auto__,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args){\nreturn (function() { \nvar G__32482__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32482 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32484__i \x3d 0, G__32484__a \x3d new Array(arguments.length -  0);\nwhile (G__32484__i \x3c G__32484__a.length) {G__32484__a[G__32484__i] \x3d arguments[G__32484__i + 0]; ++G__32484__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32484__a,0,null);\n} \nreturn G__32482__delegate.call(this,args__28816__auto__);};\nG__32482.cljs$lang$maxFixedArity \x3d 0;\nG__32482.cljs$lang$applyTo \x3d (function (arglist__32486){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32486);\nreturn G__32482__delegate(args__28816__auto__);\n});\nG__32482.cljs$core$IFn$_invoke$arity$variadic \x3d G__32482__delegate;\nreturn G__32482;\n})()\n;\n;})(args_32478__$1,format_in__28814__auto__,cf__28815__auto__,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args))\n})()();\n\nvar arg_32489 \x3d cljs.core.first(args_32478__$1);\nif(cljs.core.sequential_QMARK_(arg_32489)){\nvar vec__30788_32491 \x3d cljs.pprint.brackets(arg_32489);\nvar start_32492__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30788_32491,(0),null);\nvar end_32493__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30788_32491,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30791_32496 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30792_32497 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30793_32498 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30794_32499 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30793_32498);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30794_32499);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start_32492__$1,null,end_32493__$1);\n\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(arg_32489),(3))) \x26\x26 ((cljs.core.second(arg_32489) instanceof cljs.core.Keyword)))){\nvar vec__30799_32500 \x3d arg_32489;\nvar ns_32501 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30799_32500,(0),null);\nvar kw_32502 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30799_32500,(1),null);\nvar lis_32503 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30799_32500,(2),null);\n(function (){var format_in__28814__auto__ \x3d \x22~w ~w \x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn ((function (args_32478__$1,format_in__28814__auto__,cf__28815__auto__,vec__30799_32500,ns_32501,kw_32502,lis_32503,_STAR_current_level_STAR__orig_val__30791_32496,_STAR_current_length_STAR__orig_val__30792_32497,_STAR_current_level_STAR__temp_val__30793_32498,_STAR_current_length_STAR__temp_val__30794_32499,vec__30788_32491,start_32492__$1,end_32493__$1,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args){\nreturn (function() { \nvar G__32510__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32510 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32511__i \x3d 0, G__32511__a \x3d new Array(arguments.length -  0);\nwhile (G__32511__i \x3c G__32511__a.length) {G__32511__a[G__32511__i] \x3d arguments[G__32511__i + 0]; ++G__32511__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32511__a,0,null);\n} \nreturn G__32510__delegate.call(this,args__28816__auto__);};\nG__32510.cljs$lang$maxFixedArity \x3d 0;\nG__32510.cljs$lang$applyTo \x3d (function (arglist__32512){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32512);\nreturn G__32510__delegate(args__28816__auto__);\n});\nG__32510.cljs$core$IFn$_invoke$arity$variadic \x3d G__32510__delegate;\nreturn G__32510;\n})()\n;\n;})(args_32478__$1,format_in__28814__auto__,cf__28815__auto__,vec__30799_32500,ns_32501,kw_32502,lis_32503,_STAR_current_level_STAR__orig_val__30791_32496,_STAR_current_length_STAR__orig_val__30792_32497,_STAR_current_level_STAR__temp_val__30793_32498,_STAR_current_length_STAR__temp_val__30794_32499,vec__30788_32491,start_32492__$1,end_32493__$1,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args))\n})()(ns_32501,kw_32502);\n\nif(cljs.core.sequential_QMARK_(lis_32503)){\n(function (){var format_in__28814__auto__ \x3d ((cljs.core.vector_QMARK_(lis_32503))?\x22~\x3c[~;~@{~w~^ ~:_~}~;]~:\x3e\x22:\x22~\x3c(~;~@{~w~^ ~:_~}~;)~:\x3e\x22);\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn ((function (args_32478__$1,format_in__28814__auto__,cf__28815__auto__,vec__30799_32500,ns_32501,kw_32502,lis_32503,_STAR_current_level_STAR__orig_val__30791_32496,_STAR_current_length_STAR__orig_val__30792_32497,_STAR_current_level_STAR__temp_val__30793_32498,_STAR_current_length_STAR__temp_val__30794_32499,vec__30788_32491,start_32492__$1,end_32493__$1,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args){\nreturn (function() { \nvar G__32516__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32516 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32517__i \x3d 0, G__32517__a \x3d new Array(arguments.length -  0);\nwhile (G__32517__i \x3c G__32517__a.length) {G__32517__a[G__32517__i] \x3d arguments[G__32517__i + 0]; ++G__32517__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32517__a,0,null);\n} \nreturn G__32516__delegate.call(this,args__28816__auto__);};\nG__32516.cljs$lang$maxFixedArity \x3d 0;\nG__32516.cljs$lang$applyTo \x3d (function (arglist__32518){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32518);\nreturn G__32516__delegate(args__28816__auto__);\n});\nG__32516.cljs$core$IFn$_invoke$arity$variadic \x3d G__32516__delegate;\nreturn G__32516;\n})()\n;\n;})(args_32478__$1,format_in__28814__auto__,cf__28815__auto__,vec__30799_32500,ns_32501,kw_32502,lis_32503,_STAR_current_level_STAR__orig_val__30791_32496,_STAR_current_length_STAR__orig_val__30792_32497,_STAR_current_level_STAR__temp_val__30793_32498,_STAR_current_length_STAR__temp_val__30794_32499,vec__30788_32491,start_32492__$1,end_32493__$1,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args))\n})()(lis_32503);\n} else {\ncljs.pprint.write_out(lis_32503);\n}\n} else {\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__28814__auto__ \x3d \x22~w ~:i~@{~w~^ ~:_~}\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn ((function (args_32478__$1,format_in__28814__auto__,cf__28815__auto__,_STAR_current_level_STAR__orig_val__30791_32496,_STAR_current_length_STAR__orig_val__30792_32497,_STAR_current_level_STAR__temp_val__30793_32498,_STAR_current_length_STAR__temp_val__30794_32499,vec__30788_32491,start_32492__$1,end_32493__$1,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args){\nreturn (function() { \nvar G__32519__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32519 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32520__i \x3d 0, G__32520__a \x3d new Array(arguments.length -  0);\nwhile (G__32520__i \x3c G__32520__a.length) {G__32520__a[G__32520__i] \x3d arguments[G__32520__i + 0]; ++G__32520__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32520__a,0,null);\n} \nreturn G__32519__delegate.call(this,args__28816__auto__);};\nG__32519.cljs$lang$maxFixedArity \x3d 0;\nG__32519.cljs$lang$applyTo \x3d (function (arglist__32521){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32521);\nreturn G__32519__delegate(args__28816__auto__);\n});\nG__32519.cljs$core$IFn$_invoke$arity$variadic \x3d G__32519__delegate;\nreturn G__32519;\n})()\n;\n;})(args_32478__$1,format_in__28814__auto__,cf__28815__auto__,_STAR_current_level_STAR__orig_val__30791_32496,_STAR_current_length_STAR__orig_val__30792_32497,_STAR_current_level_STAR__temp_val__30793_32498,_STAR_current_length_STAR__temp_val__30794_32499,vec__30788_32491,start_32492__$1,end_32493__$1,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args))\n})(),arg_32489);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30792_32497);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30791_32496);\n}}\n\n\nif(cljs.core.next(args_32478__$1)){\n(function (){var format_in__28814__auto__ \x3d \x22~_\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn ((function (args_32478__$1,format_in__28814__auto__,cf__28815__auto__,vec__30788_32491,start_32492__$1,end_32493__$1,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args){\nreturn (function() { \nvar G__32526__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32526 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32527__i \x3d 0, G__32527__a \x3d new Array(arguments.length -  0);\nwhile (G__32527__i \x3c G__32527__a.length) {G__32527__a[G__32527__i] \x3d arguments[G__32527__i + 0]; ++G__32527__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32527__a,0,null);\n} \nreturn G__32526__delegate.call(this,args__28816__auto__);};\nG__32526.cljs$lang$maxFixedArity \x3d 0;\nG__32526.cljs$lang$applyTo \x3d (function (arglist__32529){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32529);\nreturn G__32526__delegate(args__28816__auto__);\n});\nG__32526.cljs$core$IFn$_invoke$arity$variadic \x3d G__32526__delegate;\nreturn G__32526;\n})()\n;\n;})(args_32478__$1,format_in__28814__auto__,cf__28815__auto__,vec__30788_32491,start_32492__$1,end_32493__$1,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args))\n})()();\n} else {\n}\n} else {\ncljs.pprint.write_out(arg_32489);\n\nif(cljs.core.next(args_32478__$1)){\n(function (){var format_in__28814__auto__ \x3d \x22~:_\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn ((function (args_32478__$1,format_in__28814__auto__,cf__28815__auto__,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args){\nreturn (function() { \nvar G__32530__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32530 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32531__i \x3d 0, G__32531__a \x3d new Array(arguments.length -  0);\nwhile (G__32531__i \x3c G__32531__a.length) {G__32531__a[G__32531__i] \x3d arguments[G__32531__i + 0]; ++G__32531__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32531__a,0,null);\n} \nreturn G__32530__delegate.call(this,args__28816__auto__);};\nG__32530.cljs$lang$maxFixedArity \x3d 0;\nG__32530.cljs$lang$applyTo \x3d (function (arglist__32532){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32532);\nreturn G__32530__delegate(args__28816__auto__);\n});\nG__32530.cljs$core$IFn$_invoke$arity$variadic \x3d G__32530__delegate;\nreturn G__32530;\n})()\n;\n;})(args_32478__$1,format_in__28814__auto__,cf__28815__auto__,arg_32489,_STAR_current_level_STAR__orig_val__30776_32466,_STAR_current_length_STAR__orig_val__30777_32467,_STAR_current_level_STAR__temp_val__30778_32468,_STAR_current_length_STAR__temp_val__30779_32469,vec__30768,start,end,vec__30771,seq__30772,first__30773,seq__30772__$1,keyw,args))\n})()();\n} else {\n}\n}\n\nvar G__32533 \x3d cljs.core.next(args_32478__$1);\nargs_32478__$1 \x3d G__32533;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30777_32467);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30776_32466);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(reference);\n}\n});\n/**\n * The pretty print dispatch chunk for the ns macro\n */\ncljs.pprint.pprint_ns \x3d (function cljs$pprint$pprint_ns(alis){\nif(cljs.core.next(alis)){\nvar vec__30818 \x3d alis;\nvar seq__30819 \x3d cljs.core.seq(vec__30818);\nvar first__30820 \x3d cljs.core.first(seq__30819);\nvar seq__30819__$1 \x3d cljs.core.next(seq__30819);\nvar ns_sym \x3d first__30820;\nvar first__30820__$1 \x3d cljs.core.first(seq__30819__$1);\nvar seq__30819__$2 \x3d cljs.core.next(seq__30819__$1);\nvar ns_name \x3d first__30820__$1;\nvar stuff \x3d seq__30819__$2;\nvar vec__30821 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30821,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30821,(1),null);\nvar vec__30824 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30824,(0),null);\nvar references \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30824,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30831_32544 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30832_32545 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30833_32546 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30834_32547 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30833_32546);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30834_32547);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__28814__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32555__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32555 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32556__i \x3d 0, G__32556__a \x3d new Array(arguments.length -  0);\nwhile (G__32556__i \x3c G__32556__a.length) {G__32556__a[G__32556__i] \x3d arguments[G__32556__i + 0]; ++G__32556__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32556__a,0,null);\n} \nreturn G__32555__delegate.call(this,args__28816__auto__);};\nG__32555.cljs$lang$maxFixedArity \x3d 0;\nG__32555.cljs$lang$applyTo \x3d (function (arglist__32557){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32557);\nreturn G__32555__delegate(args__28816__auto__);\n});\nG__32555.cljs$core$IFn$_invoke$arity$variadic \x3d G__32555__delegate;\nreturn G__32555;\n})()\n;\n})()(ns_sym,ns_name);\n\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d attr_map;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.seq(references);\n}\n}\n})())){\n(function (){var format_in__28814__auto__ \x3d \x22~@:_\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32558__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32558 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32562__i \x3d 0, G__32562__a \x3d new Array(arguments.length -  0);\nwhile (G__32562__i \x3c G__32562__a.length) {G__32562__a[G__32562__i] \x3d arguments[G__32562__i + 0]; ++G__32562__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32562__a,0,null);\n} \nreturn G__32558__delegate.call(this,args__28816__auto__);};\nG__32558.cljs$lang$maxFixedArity \x3d 0;\nG__32558.cljs$lang$applyTo \x3d (function (arglist__32564){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32564);\nreturn G__32558__delegate(args__28816__auto__);\n});\nG__32558.cljs$core$IFn$_invoke$arity$variadic \x3d G__32558__delegate;\nreturn G__32558;\n})()\n;\n})()();\n} else {\n}\n\nif(cljs.core.truth_(doc_str)){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\x22~a\\\x22~:[~;~:@_~]\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([doc_str,(function (){var or__5025__auto__ \x3d attr_map;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.seq(references);\n}\n})()], 0));\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__28814__auto__ \x3d \x22~w~:[~;~:@_~]\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32573__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32573 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32579__i \x3d 0, G__32579__a \x3d new Array(arguments.length -  0);\nwhile (G__32579__i \x3c G__32579__a.length) {G__32579__a[G__32579__i] \x3d arguments[G__32579__i + 0]; ++G__32579__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32579__a,0,null);\n} \nreturn G__32573__delegate.call(this,args__28816__auto__);};\nG__32573.cljs$lang$maxFixedArity \x3d 0;\nG__32573.cljs$lang$applyTo \x3d (function (arglist__32580){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32580);\nreturn G__32573__delegate(args__28816__auto__);\n});\nG__32573.cljs$core$IFn$_invoke$arity$variadic \x3d G__32573__delegate;\nreturn G__32573;\n})()\n;\n})()(attr_map,cljs.core.seq(references));\n} else {\n}\n\nvar references_32582__$1 \x3d references;\nwhile(true){\ncljs.pprint.pprint_ns_reference(cljs.core.first(references_32582__$1));\n\nvar temp__5804__auto___32584 \x3d cljs.core.next(references_32582__$1);\nif(temp__5804__auto___32584){\nvar references_32590__$2 \x3d temp__5804__auto___32584;\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32591 \x3d references_32590__$2;\nreferences_32582__$1 \x3d G__32591;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30832_32545);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30831_32544);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(alis);\n}\n});\ncljs.pprint.pprint_hold_first \x3d (function (){var format_in__28814__auto__ \x3d \x22~:\x3c~w~^ ~@_~w~^ ~_~@{~w~^ ~_~}~:\x3e\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32597__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32597 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32598__i \x3d 0, G__32598__a \x3d new Array(arguments.length -  0);\nwhile (G__32598__i \x3c G__32598__a.length) {G__32598__a[G__32598__i] \x3d arguments[G__32598__i + 0]; ++G__32598__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32598__a,0,null);\n} \nreturn G__32597__delegate.call(this,args__28816__auto__);};\nG__32597.cljs$lang$maxFixedArity \x3d 0;\nG__32597.cljs$lang$applyTo \x3d (function (arglist__32599){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32599);\nreturn G__32597__delegate(args__28816__auto__);\n});\nG__32597.cljs$core$IFn$_invoke$arity$variadic \x3d G__32597__delegate;\nreturn G__32597;\n})()\n;\n})();\ncljs.pprint.single_defn \x3d (function cljs$pprint$single_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nif(cljs.core.truth_(has_doc_str_QMARK_)){\n(function (){var format_in__28814__auto__ \x3d \x22 ~_\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32605__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32605 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32607__i \x3d 0, G__32607__a \x3d new Array(arguments.length -  0);\nwhile (G__32607__i \x3c G__32607__a.length) {G__32607__a[G__32607__i] \x3d arguments[G__32607__i + 0]; ++G__32607__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32607__a,0,null);\n} \nreturn G__32605__delegate.call(this,args__28816__auto__);};\nG__32605.cljs$lang$maxFixedArity \x3d 0;\nG__32605.cljs$lang$applyTo \x3d (function (arglist__32608){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32608);\nreturn G__32605__delegate(args__28816__auto__);\n});\nG__32605.cljs$core$IFn$_invoke$arity$variadic \x3d G__32605__delegate;\nreturn G__32605;\n})()\n;\n})()();\n} else {\n(function (){var format_in__28814__auto__ \x3d \x22 ~@_\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32609__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32609 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32611__i \x3d 0, G__32611__a \x3d new Array(arguments.length -  0);\nwhile (G__32611__i \x3c G__32611__a.length) {G__32611__a[G__32611__i] \x3d arguments[G__32611__i + 0]; ++G__32611__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32611__a,0,null);\n} \nreturn G__32609__delegate.call(this,args__28816__auto__);};\nG__32609.cljs$lang$maxFixedArity \x3d 0;\nG__32609.cljs$lang$applyTo \x3d (function (arglist__32612){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32612);\nreturn G__32609__delegate(args__28816__auto__);\n});\nG__32609.cljs$core$IFn$_invoke$arity$variadic \x3d G__32609__delegate;\nreturn G__32609;\n})()\n;\n})()();\n}\n\nreturn (function (){var format_in__28814__auto__ \x3d \x22~{~w~^ ~_~}\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32613__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32613 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32614__i \x3d 0, G__32614__a \x3d new Array(arguments.length -  0);\nwhile (G__32614__i \x3c G__32614__a.length) {G__32614__a[G__32614__i] \x3d arguments[G__32614__i + 0]; ++G__32614__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32614__a,0,null);\n} \nreturn G__32613__delegate.call(this,args__28816__auto__);};\nG__32613.cljs$lang$maxFixedArity \x3d 0;\nG__32613.cljs$lang$applyTo \x3d (function (arglist__32615){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32615);\nreturn G__32613__delegate(args__28816__auto__);\n});\nG__32613.cljs$core$IFn$_invoke$arity$variadic \x3d G__32613__delegate;\nreturn G__32613;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.multi_defn \x3d (function cljs$pprint$multi_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nreturn (function (){var format_in__28814__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32618__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32618 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32621__i \x3d 0, G__32621__a \x3d new Array(arguments.length -  0);\nwhile (G__32621__i \x3c G__32621__a.length) {G__32621__a[G__32621__i] \x3d arguments[G__32621__i + 0]; ++G__32621__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32621__a,0,null);\n} \nreturn G__32618__delegate.call(this,args__28816__auto__);};\nG__32618.cljs$lang$maxFixedArity \x3d 0;\nG__32618.cljs$lang$applyTo \x3d (function (arglist__32623){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32623);\nreturn G__32618__delegate(args__28816__auto__);\n});\nG__32618.cljs$core$IFn$_invoke$arity$variadic \x3d G__32618__delegate;\nreturn G__32618;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_defn \x3d (function cljs$pprint$pprint_defn(alis){\nif(cljs.core.next(alis)){\nvar vec__30870 \x3d alis;\nvar seq__30871 \x3d cljs.core.seq(vec__30870);\nvar first__30872 \x3d cljs.core.first(seq__30871);\nvar seq__30871__$1 \x3d cljs.core.next(seq__30871);\nvar defn_sym \x3d first__30872;\nvar first__30872__$1 \x3d cljs.core.first(seq__30871__$1);\nvar seq__30871__$2 \x3d cljs.core.next(seq__30871__$1);\nvar defn_name \x3d first__30872__$1;\nvar stuff \x3d seq__30871__$2;\nvar vec__30873 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30873,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30873,(1),null);\nvar vec__30876 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30876,(0),null);\nvar stuff__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30876,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30884_32645 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30885_32646 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30886_32647 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30887_32648 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30886_32647);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30887_32648);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__28814__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32655__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32655 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32657__i \x3d 0, G__32657__a \x3d new Array(arguments.length -  0);\nwhile (G__32657__i \x3c G__32657__a.length) {G__32657__a[G__32657__i] \x3d arguments[G__32657__i + 0]; ++G__32657__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32657__a,0,null);\n} \nreturn G__32655__delegate.call(this,args__28816__auto__);};\nG__32655.cljs$lang$maxFixedArity \x3d 0;\nG__32655.cljs$lang$applyTo \x3d (function (arglist__32658){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32658);\nreturn G__32655__delegate(args__28816__auto__);\n});\nG__32655.cljs$core$IFn$_invoke$arity$variadic \x3d G__32655__delegate;\nreturn G__32655;\n})()\n;\n})()(defn_sym,defn_name);\n\nif(cljs.core.truth_(doc_str)){\n(function (){var format_in__28814__auto__ \x3d \x22 ~_~w\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32660__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32660 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32663__i \x3d 0, G__32663__a \x3d new Array(arguments.length -  0);\nwhile (G__32663__i \x3c G__32663__a.length) {G__32663__a[G__32663__i] \x3d arguments[G__32663__i + 0]; ++G__32663__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32663__a,0,null);\n} \nreturn G__32660__delegate.call(this,args__28816__auto__);};\nG__32660.cljs$lang$maxFixedArity \x3d 0;\nG__32660.cljs$lang$applyTo \x3d (function (arglist__32666){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32666);\nreturn G__32660__delegate(args__28816__auto__);\n});\nG__32660.cljs$core$IFn$_invoke$arity$variadic \x3d G__32660__delegate;\nreturn G__32660;\n})()\n;\n})()(doc_str);\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__28814__auto__ \x3d \x22 ~_~w\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32667__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32667 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32668__i \x3d 0, G__32668__a \x3d new Array(arguments.length -  0);\nwhile (G__32668__i \x3c G__32668__a.length) {G__32668__a[G__32668__i] \x3d arguments[G__32668__i + 0]; ++G__32668__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32668__a,0,null);\n} \nreturn G__32667__delegate.call(this,args__28816__auto__);};\nG__32667.cljs$lang$maxFixedArity \x3d 0;\nG__32667.cljs$lang$applyTo \x3d (function (arglist__32670){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32670);\nreturn G__32667__delegate(args__28816__auto__);\n});\nG__32667.cljs$core$IFn$_invoke$arity$variadic \x3d G__32667__delegate;\nreturn G__32667;\n})()\n;\n})()(attr_map);\n} else {\n}\n\nif(cljs.core.vector_QMARK_(cljs.core.first(stuff__$2))){\ncljs.pprint.single_defn(stuff__$2,(function (){var or__5025__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn attr_map;\n}\n})());\n} else {\ncljs.pprint.multi_defn(stuff__$2,(function (){var or__5025__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn attr_map;\n}\n})());\n\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30885_32646);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30884_32645);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_binding_form \x3d (function cljs$pprint$pprint_binding_form(binding_vec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30895_32675 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30896_32676 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30897_32677 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30898_32678 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30897_32677);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30898_32678);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count30899_32681 \x3d (0);\nvar binding_32682 \x3d binding_vec;\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count30899_32681 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(cljs.core.seq(binding_32682)){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30900_32687 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30901_32688 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30902_32689 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30903_32690 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30902_32689);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30903_32690);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(binding_32682));\n\nif(cljs.core.next(binding_32682)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(binding_32682));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30901_32688);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30900_32687);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(binding_32682))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32697 \x3d (length_count30899_32681 + (1));\nvar G__32698 \x3d cljs.core.next(cljs.core.rest(binding_32682));\nlength_count30899_32681 \x3d G__32697;\nbinding_32682 \x3d G__32698;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30896_32676);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30895_32675);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_let \x3d (function cljs$pprint$pprint_let(alis){\nvar base_sym \x3d cljs.core.first(alis);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30916_32702 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30917_32703 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30918_32704 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30919_32705 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30918_32704);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30919_32705);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nif(((cljs.core.next(alis)) \x26\x26 (cljs.core.vector_QMARK_(cljs.core.second(alis))))){\n(function (){var format_in__28814__auto__ \x3d \x22~w ~1I~@_\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32709__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32709 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32711__i \x3d 0, G__32711__a \x3d new Array(arguments.length -  0);\nwhile (G__32711__i \x3c G__32711__a.length) {G__32711__a[G__32711__i] \x3d arguments[G__32711__i + 0]; ++G__32711__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32711__a,0,null);\n} \nreturn G__32709__delegate.call(this,args__28816__auto__);};\nG__32709.cljs$lang$maxFixedArity \x3d 0;\nG__32709.cljs$lang$applyTo \x3d (function (arglist__32712){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32712);\nreturn G__32709__delegate(args__28816__auto__);\n});\nG__32709.cljs$core$IFn$_invoke$arity$variadic \x3d G__32709__delegate;\nreturn G__32709;\n})()\n;\n})()(base_sym);\n\ncljs.pprint.pprint_binding_form(cljs.core.second(alis));\n\n(function (){var format_in__28814__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32713__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32713 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32715__i \x3d 0, G__32715__a \x3d new Array(arguments.length -  0);\nwhile (G__32715__i \x3c G__32715__a.length) {G__32715__a[G__32715__i] \x3d arguments[G__32715__i + 0]; ++G__32715__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32715__a,0,null);\n} \nreturn G__32713__delegate.call(this,args__28816__auto__);};\nG__32713.cljs$lang$maxFixedArity \x3d 0;\nG__32713.cljs$lang$applyTo \x3d (function (arglist__32716){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32716);\nreturn G__32713__delegate(args__28816__auto__);\n});\nG__32713.cljs$core$IFn$_invoke$arity$variadic \x3d G__32713__delegate;\nreturn G__32713;\n})()\n;\n})()(cljs.core.next(cljs.core.rest(alis)));\n} else {\ncljs.pprint.pprint_simple_code_list(alis);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30917_32703);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30916_32702);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_if \x3d (function (){var format_in__28814__auto__ \x3d \x22~:\x3c~1I~w~^ ~@_~w~@{ ~_~w~}~:\x3e\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32726__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32726 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32728__i \x3d 0, G__32728__a \x3d new Array(arguments.length -  0);\nwhile (G__32728__i \x3c G__32728__a.length) {G__32728__a[G__32728__i] \x3d arguments[G__32728__i + 0]; ++G__32728__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32728__a,0,null);\n} \nreturn G__32726__delegate.call(this,args__28816__auto__);};\nG__32726.cljs$lang$maxFixedArity \x3d 0;\nG__32726.cljs$lang$applyTo \x3d (function (arglist__32733){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32733);\nreturn G__32726__delegate(args__28816__auto__);\n});\nG__32726.cljs$core$IFn$_invoke$arity$variadic \x3d G__32726__delegate;\nreturn G__32726;\n})()\n;\n})();\ncljs.pprint.pprint_cond \x3d (function cljs$pprint$pprint_cond(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30928_32738 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30929_32739 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30930_32740 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30931_32741 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30930_32740);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30931_32741);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.pprint.write_out(cljs.core.first(alis));\n\nif(cljs.core.next(alis)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar length_count30932_32748 \x3d (0);\nvar alis_32749__$1 \x3d cljs.core.next(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count30932_32748 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_32749__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30933_32751 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30934_32752 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30935_32753 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30936_32754 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30935_32753);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30936_32754);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_32749__$1));\n\nif(cljs.core.next(alis_32749__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_32749__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30934_32752);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30933_32751);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_32749__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32758 \x3d (length_count30932_32748 + (1));\nvar G__32759 \x3d cljs.core.next(cljs.core.rest(alis_32749__$1));\nlength_count30932_32748 \x3d G__32758;\nalis_32749__$1 \x3d G__32759;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30929_32739);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30928_32738);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_condp \x3d (function cljs$pprint$pprint_condp(alis){\nif((cljs.core.count(alis) \x3e (3))){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30941_32761 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30942_32762 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30943_32763 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30944_32764 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30943_32763);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30944_32764);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__28814__auto__ \x3d \x22~w ~@_~w ~@_~w ~_\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32767__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32767 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32768__i \x3d 0, G__32768__a \x3d new Array(arguments.length -  0);\nwhile (G__32768__i \x3c G__32768__a.length) {G__32768__a[G__32768__i] \x3d arguments[G__32768__i + 0]; ++G__32768__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32768__a,0,null);\n} \nreturn G__32767__delegate.call(this,args__28816__auto__);};\nG__32767.cljs$lang$maxFixedArity \x3d 0;\nG__32767.cljs$lang$applyTo \x3d (function (arglist__32769){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32769);\nreturn G__32767__delegate(args__28816__auto__);\n});\nG__32767.cljs$core$IFn$_invoke$arity$variadic \x3d G__32767__delegate;\nreturn G__32767;\n})()\n;\n})(),alis);\n\nvar length_count30948_32770 \x3d (0);\nvar alis_32771__$1 \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((3),alis));\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count30948_32770 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_32771__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30950_32772 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30951_32773 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30952_32774 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30953_32775 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30952_32774);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30953_32775);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_32771__$1));\n\nif(cljs.core.next(alis_32771__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_32771__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30951_32773);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30950_32772);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_32771__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32781 \x3d (length_count30948_32770 + (1));\nvar G__32782 \x3d cljs.core.next(cljs.core.rest(alis_32771__$1));\nlength_count30948_32770 \x3d G__32781;\nalis_32771__$1 \x3d G__32782;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30942_32762);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30941_32761);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint._STAR_symbol_map_STAR_ \x3d cljs.core.PersistentArrayMap.EMPTY;\ncljs.pprint.pprint_anon_func \x3d (function cljs$pprint$pprint_anon_func(alis){\nvar args \x3d cljs.core.second(alis);\nvar nlis \x3d cljs.core.first(cljs.core.rest(cljs.core.rest(alis)));\nif(cljs.core.vector_QMARK_(args)){\nvar _STAR_symbol_map_STAR__orig_val__30956 \x3d cljs.pprint._STAR_symbol_map_STAR_;\nvar _STAR_symbol_map_STAR__temp_val__30957 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(args)))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.first(args),\x22%\x22]):cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__30954_SHARP_,p2__30955_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__30954_SHARP_,[\x22%\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p2__30955_SHARP_)].join(\x27\x27)],null));\n}),args,cljs.core.range.cljs$core$IFn$_invoke$arity$2((1),(cljs.core.count(args) + (1))))));\n(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__temp_val__30957);\n\ntry{return (function (){var format_in__28814__auto__ \x3d \x22~\x3c#(~;~@{~w~^ ~_~}~;)~:\x3e\x22;\nvar cf__28815__auto__ \x3d ((typeof format_in__28814__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28814__auto__):format_in__28814__auto__);\nreturn (function() { \nvar G__32790__delegate \x3d function (args__28816__auto__){\nvar navigator__28817__auto__ \x3d cljs.pprint.init_navigator(args__28816__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28815__auto__,navigator__28817__auto__);\n};\nvar G__32790 \x3d function (var_args){\nvar args__28816__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32793__i \x3d 0, G__32793__a \x3d new Array(arguments.length -  0);\nwhile (G__32793__i \x3c G__32793__a.length) {G__32793__a[G__32793__i] \x3d arguments[G__32793__i + 0]; ++G__32793__i;}\n  args__28816__auto__ \x3d new cljs.core.IndexedSeq(G__32793__a,0,null);\n} \nreturn G__32790__delegate.call(this,args__28816__auto__);};\nG__32790.cljs$lang$maxFixedArity \x3d 0;\nG__32790.cljs$lang$applyTo \x3d (function (arglist__32794){\nvar args__28816__auto__ \x3d cljs.core.seq(arglist__32794);\nreturn G__32790__delegate(args__28816__auto__);\n});\nG__32790.cljs$core$IFn$_invoke$arity$variadic \x3d G__32790__delegate;\nreturn G__32790;\n})()\n;\n})()(nlis);\n}finally {(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__orig_val__30956);\n}} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_simple_code_list \x3d (function cljs$pprint$pprint_simple_code_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30960_32800 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30961_32801 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30962_32802 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30963_32803 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30962_32802);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30963_32803);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\nvar length_count30966_32805 \x3d (0);\nvar alis_32806__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count30966_32805 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_32806__$1){\ncljs.pprint.write_out(cljs.core.first(alis_32806__$1));\n\nif(cljs.core.next(alis_32806__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32810 \x3d (length_count30966_32805 + (1));\nvar G__32811 \x3d cljs.core.next(alis_32806__$1);\nlength_count30966_32805 \x3d G__32810;\nalis_32806__$1 \x3d G__32811;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30961_32801);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30960_32800);\n}}\n\nreturn null;\n});\ncljs.pprint.two_forms \x3d (function cljs$pprint$two_forms(amap){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var iter__5503__auto__ \x3d (function cljs$pprint$two_forms_$_iter__30971(s__30972){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__30972__$1 \x3d s__30972;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__30972__$1);\nif(temp__5804__auto__){\nvar s__30972__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__30972__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__30972__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__30974 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__30973 \x3d (0);\nwhile(true){\nif((i__30973 \x3c size__5502__auto__)){\nvar x \x3d cljs.core._nth(c__5501__auto__,i__30973);\ncljs.core.chunk_append(b__30974,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null));\n\nvar G__32835 \x3d (i__30973 + (1));\ni__30973 \x3d G__32835;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__30974),cljs$pprint$two_forms_$_iter__30971(cljs.core.chunk_rest(s__30972__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__30974),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__30972__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null),cljs$pprint$two_forms_$_iter__30971(cljs.core.rest(s__30972__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(amap);\n})()], 0)));\n});\ncljs.pprint.add_core_ns \x3d (function cljs$pprint$add_core_ns(amap){\nvar core \x3d \x22clojure.core\x22;\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__30982_SHARP_){\nvar vec__30983 \x3d p1__30982_SHARP_;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30983,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30983,(1),null);\nif(cljs.core.not((function (){var or__5025__auto__ \x3d cljs.core.namespace(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.special_symbol_QMARK_(s);\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(core,cljs.core.name(s)),f], null);\n} else {\nreturn p1__30982_SHARP_;\n}\n}),amap));\n});\ncljs.pprint._STAR_code_table_STAR_ \x3d cljs.pprint.two_forms(cljs.pprint.add_core_ns(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),new cljs.core.Symbol(null,\x22struct\x22,\x22struct\x22,325972931,null),new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),new cljs.core.Symbol(null,\x22struct-map\x22,\x22struct-map\x22,-1387540878,null)],[cljs.pprint.pprint_hold_first,cljs.pprint.pprint_anon_func,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_condp,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_if,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_if,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_ns,cljs.pprint.pprint_let,cljs.pprint.pprint_cond,cljs.pprint.pprint_let,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first])));\ncljs.pprint.pprint_code_list \x3d (function cljs$pprint$pprint_code_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nvar temp__5802__auto__ \x3d cljs.pprint._STAR_code_table_STAR_.call(null,cljs.core.first(alis));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar special_form \x3d temp__5802__auto__;\nreturn (special_form.cljs$core$IFn$_invoke$arity$1 ? special_form.cljs$core$IFn$_invoke$arity$1(alis) : special_form.call(null,alis));\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_code_symbol \x3d (function cljs$pprint$pprint_code_symbol(sym){\nvar temp__5802__auto__ \x3d (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_symbol_map_STAR_) : sym.call(null,cljs.pprint._STAR_symbol_map_STAR_));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar arg_num \x3d temp__5802__auto__;\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arg_num], 0));\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_print_suppress_namespaces_STAR_)){\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.name(sym)], 0));\n} else {\nreturn cljs.pprint.pr.call(null,sym);\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.code_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for pretty printing Clojure code.\n */\ncljs.pprint.code_dispatch \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__30992 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__30992.cljs$core$IFn$_invoke$arity$0 ? fexpr__30992.cljs$core$IFn$_invoke$arity$0() : fexpr__30992.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22code-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_code_list);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),cljs.pprint.pprint_code_symbol);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.pprint.pprint_pqueue);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),cljs.pprint.pprint_ideref);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,null,cljs.pprint.pr);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\ncljs.pprint.add_padding \x3d (function cljs$pprint$add_padding(width,s){\nvar padding \x3d (function (){var x__5110__auto__ \x3d (0);\nvar y__5111__auto__ \x3d (width - cljs.core.count(s));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(padding,\x22 \x22)),s);\n});\n/**\n * Prints a collection of maps in a textual table. Prints table headings\n * ks, and then a line of output for each row, corresponding to the keys\n * in ks. If ks are not specified, use the keys of the first item in rows.\n */\ncljs.pprint.print_table \x3d (function cljs$pprint$print_table(var_args){\nvar G__31009 \x3d arguments.length;\nswitch (G__31009) {\ncase 2:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2 \x3d (function (ks,rows){\nif(cljs.core.seq(rows)){\nvar widths \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max,((cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)).length),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31002_SHARP_){\nreturn ((cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(p1__31002_SHARP_,k))).length);\n}),rows));\n}),ks);\nvar spacers \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31003_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(p1__31003_SHARP_,\x22-\x22));\n}),widths);\nvar fmt_row \x3d (function (leader,divider,trailer,row){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(leader),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(divider,(function (){var iter__5503__auto__ \x3d (function cljs$pprint$iter__31031(s__31032){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__31032__$1 \x3d s__31032;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__31032__$1);\nif(temp__5804__auto__){\nvar s__31032__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__31032__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__31032__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__31034 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__31033 \x3d (0);\nwhile(true){\nif((i__31033 \x3c size__5502__auto__)){\nvar vec__31035 \x3d cljs.core._nth(c__5501__auto__,i__31033);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31035,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31035,(1),null);\ncljs.core.chunk_append(b__31034,cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)));\n\nvar G__32863 \x3d (i__31033 + (1));\ni__31033 \x3d G__32863;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31034),cljs$pprint$iter__31031(cljs.core.chunk_rest(s__31032__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31034),null);\n}\n} else {\nvar vec__31038 \x3d cljs.core.first(s__31032__$2);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31038,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31038,(1),null);\nreturn cljs.core.cons(cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)),cljs$pprint$iter__31031(cljs.core.rest(s__31032__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31004_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(row,p1__31004_SHARP_);\n}),ks),widths));\n})()))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(trailer)].join(\x27\x27);\n});\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,cljs.core.zipmap(ks,ks))], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22|-\x22,\x22-+-\x22,\x22-|\x22,cljs.core.zipmap(ks,spacers))], 0));\n\nvar seq__31044 \x3d cljs.core.seq(rows);\nvar chunk__31045 \x3d null;\nvar count__31046 \x3d (0);\nvar i__31047 \x3d (0);\nwhile(true){\nif((i__31047 \x3c count__31046)){\nvar row \x3d chunk__31045.cljs$core$IIndexed$_nth$arity$2(null,i__31047);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__32873 \x3d seq__31044;\nvar G__32874 \x3d chunk__31045;\nvar G__32875 \x3d count__31046;\nvar G__32876 \x3d (i__31047 + (1));\nseq__31044 \x3d G__32873;\nchunk__31045 \x3d G__32874;\ncount__31046 \x3d G__32875;\ni__31047 \x3d G__32876;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31044);\nif(temp__5804__auto__){\nvar seq__31044__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31044__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31044__$1);\nvar G__32877 \x3d cljs.core.chunk_rest(seq__31044__$1);\nvar G__32878 \x3d c__5548__auto__;\nvar G__32879 \x3d cljs.core.count(c__5548__auto__);\nvar G__32880 \x3d (0);\nseq__31044 \x3d G__32877;\nchunk__31045 \x3d G__32878;\ncount__31046 \x3d G__32879;\ni__31047 \x3d G__32880;\ncontinue;\n} else {\nvar row \x3d cljs.core.first(seq__31044__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__32881 \x3d cljs.core.next(seq__31044__$1);\nvar G__32882 \x3d null;\nvar G__32883 \x3d (0);\nvar G__32884 \x3d (0);\nseq__31044 \x3d G__32881;\nchunk__31045 \x3d G__32882;\ncount__31046 \x3d G__32883;\ni__31047 \x3d G__32884;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1 \x3d (function (rows){\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(cljs.core.first(rows)),rows);\n}));\n\n(cljs.pprint.print_table.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("devtools.util.js", true, "goog.provide(\x27devtools.util\x27);\ndevtools.util.lib_info_style \x3d \x22color:black;font-weight:bold;\x22;\ndevtools.util.reset_style \x3d \x22color:black\x22;\ndevtools.util.advanced_build_explanation_url \x3d \x22https://github.com/binaryage/cljs-devtools/blob/master/docs/faq.md#why-custom-formatters-do-not-work-for-advanced-builds\x22;\ndevtools.util._STAR_custom_formatters_active_STAR_ \x3d false;\ndevtools.util._STAR_console_open_STAR_ \x3d false;\ndevtools.util._STAR_custom_formatters_warning_reported_STAR_ \x3d false;\ndevtools.util.pprint_str \x3d (function devtools$util$pprint_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31185 \x3d arguments.length;\nvar i__5750__auto___31186 \x3d (0);\nwhile(true){\nif((i__5750__auto___31186 \x3c len__5749__auto___31185)){\nargs__5755__auto__.push((arguments[i__5750__auto___31186]));\n\nvar G__31187 \x3d (i__5750__auto___31186 + (1));\ni__5750__auto___31186 \x3d G__31187;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nvar sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__31071_31191 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__31072_31192 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__31073_31193 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__31074_31194 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__31073_31193);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__31074_31194);\n\ntry{var _STAR_print_level_STAR__orig_val__31075_31195 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__31076_31196 \x3d (300);\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__31076_31196);\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.pprint,args);\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__31075_31195);\n}}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__31072_31192);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__31071_31191);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n}));\n\n(devtools.util.pprint_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.util.pprint_str.cljs$lang$applyTo \x3d (function (seq31068){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31068));\n}));\n\ndevtools.util.make_version_info \x3d (function devtools$util$make_version_info(){\nreturn \x221.0.7\x22;\n});\ndevtools.util.make_lib_info \x3d (function devtools$util$make_lib_info(){\nreturn [\x22CLJS DevTools \x22,devtools.util.make_version_info.call(null)].join(\x27\x27);\n});\ndevtools.util.get_lib_info \x3d (function devtools$util$get_lib_info(){\nreturn devtools.util.make_lib_info.call(null);\n});\ndevtools.util.get_node_info \x3d (function devtools$util$get_node_info(root){\ntry{var temp__5808__auto__ \x3d (root[\x22process\x22]);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar process__$1 \x3d temp__5808__auto__;\nvar version \x3d (process__$1[\x22version\x22]);\nvar platform \x3d (process__$1[\x22platform\x22]);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d version;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn platform;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698),version,new cljs.core.Keyword(null,\x22platform\x22,\x22platform\x22,-1086422114),platform], null);\n} else {\nreturn null;\n}\n}\n}catch (e31084){var _ \x3d e31084;\nreturn null;\n}});\ndevtools.util.get_node_description \x3d (function devtools$util$get_node_description(node_info){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22platform\x22,\x22platform\x22,-1086422114).cljs$core$IFn$_invoke$arity$1(node_info);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22?\x22;\n}\n})()),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698).cljs$core$IFn$_invoke$arity$1(node_info);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22?\x22;\n}\n})())].join(\x27\x27);\n});\ndevtools.util.in_node_context_QMARK_ \x3d (function devtools$util$in_node_context_QMARK_(){\nreturn (!((devtools.util.get_node_info.call(null,devtools.context.get_root.call(null)) \x3d\x3d null)));\n});\ndevtools.util.get_js_context_description \x3d (function devtools$util$get_js_context_description(){\nvar temp__5802__auto__ \x3d devtools.util.get_node_info.call(null,devtools.context.get_root.call(null));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar node_info \x3d temp__5802__auto__;\nreturn [\x22node/\x22,devtools.util.get_node_description.call(null,node_info)].join(\x27\x27);\n} else {\nvar user_agent \x3d goog.userAgent.getUserAgentString();\nif(cljs.core.empty_QMARK_(user_agent)){\nreturn \x22\x3cunknown context\x3e\x22;\n} else {\nreturn user_agent;\n}\n}\n});\ndevtools.util.unknown_feature_msg \x3d (function devtools$util$unknown_feature_msg(feature,known_features,lib_info){\nreturn [\x22No such feature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(feature),\x22 is currently available in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib_info),\x22. \x22,\x22The list of supported features is \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([known_features], 0)),\x22.\x22].join(\x27\x27);\n});\ndevtools.util.feature_not_available_msg \x3d (function devtools$util$feature_not_available_msg(feature){\nreturn [\x22Feature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(feature),\x22 cannot be installed. \x22,\x22Unsupported Javascript context: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.util.get_js_context_description.call(null)),\x22.\x22].join(\x27\x27);\n});\ndevtools.util.custom_formatters_not_active_msg \x3d (function devtools$util$custom_formatters_not_active_msg(){\nreturn [\x22CLJS DevTools: some custom formatters were not rendered.\\n\x22,\x22https://github.com/binaryage/cljs-devtools/blob/master/docs/faq.md#why-some-custom-formatters-were-not-rendered\x22].join(\x27\x27);\n});\ndevtools.util.formatter_key \x3d \x22devtoolsFormatters\x22;\ndevtools.util.get_formatters_safe \x3d (function devtools$util$get_formatters_safe(){\nvar formatters \x3d (devtools.context.get_root.call(null)[devtools.util.formatter_key]);\nif(cljs.core.array_QMARK_(formatters)){\nreturn formatters;\n} else {\nreturn [];\n}\n});\ndevtools.util.set_formatters_safe_BANG_ \x3d (function devtools$util$set_formatters_safe_BANG_(new_formatters){\nif((((new_formatters \x3d\x3d null)) || (cljs.core.array_QMARK_(new_formatters)))){\n} else {\nthrow (new Error(\x22Assert failed: (or (nil? new-formatters) (array? new-formatters))\x22));\n}\n\nreturn (devtools.context.get_root.call(null)[devtools.util.formatter_key] \x3d ((cljs.core.empty_QMARK_(new_formatters))?null:new_formatters));\n});\ndevtools.util.print_config_overrides_if_requested_BANG_ \x3d (function devtools$util$print_config_overrides_if_requested_BANG_(msg){\nif(cljs.core.truth_(devtools.prefs.pref(new cljs.core.Keyword(null,\x22print-config-overrides\x22,\x22print-config-overrides\x22,-274716965)))){\nvar diff \x3d cljs.core.second(clojure.data.diff(cljs.core.deref(devtools.prefs.default_config),devtools.prefs.get_prefs()));\nif((!(cljs.core.empty_QMARK_(diff)))){\nreturn devtools.context.get_console.call(null).info(msg,devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([diff], 0)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n*/\ndevtools.util.CustomFormattersDetector \x3d (function (){\n});\n\n(devtools.util.CustomFormattersDetector.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(devtools.util.CustomFormattersDetector.cljs$lang$type \x3d true);\n\n(devtools.util.CustomFormattersDetector.cljs$lang$ctorStr \x3d \x22devtools.util/CustomFormattersDetector\x22);\n\n(devtools.util.CustomFormattersDetector.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22devtools.util/CustomFormattersDetector\x22);\n}));\n\n/**\n * Positional factory function for devtools.util/CustomFormattersDetector.\n */\ndevtools.util.__GT_CustomFormattersDetector \x3d (function devtools$util$__GT_CustomFormattersDetector(){\nreturn (new devtools.util.CustomFormattersDetector());\n});\n\ndevtools.util.make_detector \x3d (function devtools$util$make_detector(){\nvar detector \x3d (new devtools.util.CustomFormattersDetector());\n(detector[\x22header\x22] \x3d (function (_object,_config){\n(devtools.util._STAR_custom_formatters_active_STAR_ \x3d true);\n\nreturn null;\n}));\n\n(detector[\x22hasBody\x22] \x3d cljs.core.constantly(false));\n\n(detector[\x22body\x22] \x3d cljs.core.constantly(null));\n\nreturn detector;\n});\ndevtools.util.install_detector_BANG_ \x3d (function devtools$util$install_detector_BANG_(detector){\nvar formatters \x3d devtools.util.get_formatters_safe();\nformatters.push(detector);\n\nreturn devtools.util.set_formatters_safe_BANG_(formatters);\n});\ndevtools.util.uninstall_detector_BANG_ \x3d (function devtools$util$uninstall_detector_BANG_(detector){\nvar current_formatters \x3d (devtools.context.get_root.call(null)[devtools.util.formatter_key]);\nif(cljs.core.array_QMARK_(current_formatters)){\nvar new_formatters \x3d current_formatters.filter((function (p1__31130_SHARP_){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(detector,p1__31130_SHARP_)));\n}));\nreturn devtools.util.set_formatters_safe_BANG_(new_formatters);\n} else {\nreturn null;\n}\n});\ndevtools.util.check_custom_formatters_active_BANG_ \x3d (function devtools$util$check_custom_formatters_active_BANG_(){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d devtools.util._STAR_console_open_STAR_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(devtools.util._STAR_custom_formatters_active_STAR_);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nif(cljs.core.truth_(devtools.util._STAR_custom_formatters_warning_reported_STAR_)){\nreturn null;\n} else {\n(devtools.util._STAR_custom_formatters_warning_reported_STAR_ \x3d true);\n\nreturn devtools.context.get_console.call(null).warn(devtools.util.custom_formatters_not_active_msg.call(null));\n}\n} else {\nreturn null;\n}\n});\ndevtools.util.uninstall_detector_and_check_custom_formatters_active_BANG_ \x3d (function devtools$util$uninstall_detector_and_check_custom_formatters_active_BANG_(detector){\ndevtools.util.uninstall_detector_BANG_(detector);\n\nreturn devtools.util.check_custom_formatters_active_BANG_();\n});\ndevtools.util.make_detection_printer \x3d (function devtools$util$make_detection_printer(){\nvar f \x3d (function (){\nreturn null;\n});\nvar G__31135_31218 \x3d f;\nvar target__28995__auto___31219 \x3d G__31135_31218;\nif(cljs.core.truth_(target__28995__auto___31219)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22unable to locate object path \x22,null,\x22 in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__31135_31218)].join(\x27\x27),\x22\\n\x22,\x22target__28995__auto__\x22].join(\x27\x27)));\n}\n\n(target__28995__auto___31219[\x22toString\x22] \x3d (function (){\n(devtools.util._STAR_console_open_STAR_ \x3d true);\n\nsetTimeout(devtools.util.check_custom_formatters_active_BANG_,(0));\n\nreturn \x22\x22;\n}));\n\n\nreturn f;\n});\ndevtools.util.wrap_with_custom_formatter_detection_BANG_ \x3d (function devtools$util$wrap_with_custom_formatter_detection_BANG_(f){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22dont-detect-custom-formatters\x22,\x22dont-detect-custom-formatters\x22,-29005804)))){\nvar detector \x3d devtools.util.make_detector();\ndevtools.util.install_detector_BANG_(detector);\n\nvar G__31139_31220 \x3d \x22%c%s\x22;\nvar G__31140_31221 \x3d \x22color:transparent\x22;\nvar G__31141_31222 \x3d devtools.util.make_detection_printer();\n(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__31139_31220,G__31140_31221,G__31141_31222) : f.call(null,G__31139_31220,G__31140_31221,G__31141_31222));\n\nreturn setTimeout(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.util.uninstall_detector_and_check_custom_formatters_active_BANG_,detector),(0));\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n});\ndevtools.util.feature_for_display \x3d (function devtools$util$feature_for_display(installed_features,feature){\nvar color \x3d (cljs.core.truth_(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),installed_features))?\x22color:#0000ff\x22:\x22color:#ccc\x22);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22%c%s\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [color,cljs.core.str.cljs$core$IFn$_invoke$arity$1(feature)], null)], null);\n});\ndevtools.util.feature_list_display \x3d (function devtools$util$feature_list_display(installed_features,feature_groups){\nvar labels \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.util.feature_for_display,installed_features),new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742).cljs$core$IFn$_invoke$arity$1(feature_groups));\nvar _STAR_ \x3d (function (accum,val){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(accum)),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(val))].join(\x27\x27),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.second(accum),cljs.core.second(val))], null);\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(_STAR_,cljs.core.first(labels),cljs.core.rest(labels));\n});\ndevtools.util.display_banner_BANG_ \x3d (function devtools$util$display_banner_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31226 \x3d arguments.length;\nvar i__5750__auto___31228 \x3d (0);\nwhile(true){\nif((i__5750__auto___31228 \x3c len__5749__auto___31226)){\nargs__5755__auto__.push((arguments[i__5750__auto___31228]));\n\nvar G__31230 \x3d (i__5750__auto___31228 + (1));\ni__5750__auto___31228 \x3d G__31230;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn devtools.util.display_banner_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(devtools.util.display_banner_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (installed_features,feature_groups,fmt,params){\nvar vec__31152 \x3d devtools.util.feature_list_display(installed_features,feature_groups);\nvar fmt_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31152,(0),null);\nvar fmt_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31152,(1),null);\nreturn devtools.util.wrap_with_custom_formatter_detection_BANG_((function() { \nvar G__31231__delegate \x3d function (add_fmt,add_args){\nvar items \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(fmt),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fmt_str),cljs.core.str.cljs$core$IFn$_invoke$arity$1(add_fmt)].join(\x27\x27)], null),params,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_params,add_args], 0));\nvar console__$1 \x3d devtools.context.get_console.call(null);\nreturn console__$1.info.apply(console__$1,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(items));\n};\nvar G__31231 \x3d function (add_fmt,var_args){\nvar add_args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__31232__i \x3d 0, G__31232__a \x3d new Array(arguments.length -  1);\nwhile (G__31232__i \x3c G__31232__a.length) {G__31232__a[G__31232__i] \x3d arguments[G__31232__i + 1]; ++G__31232__i;}\n  add_args \x3d new cljs.core.IndexedSeq(G__31232__a,0,null);\n} \nreturn G__31231__delegate.call(this,add_fmt,add_args);};\nG__31231.cljs$lang$maxFixedArity \x3d 1;\nG__31231.cljs$lang$applyTo \x3d (function (arglist__31233){\nvar add_fmt \x3d cljs.core.first(arglist__31233);\nvar add_args \x3d cljs.core.rest(arglist__31233);\nreturn G__31231__delegate(add_fmt,add_args);\n});\nG__31231.cljs$core$IFn$_invoke$arity$variadic \x3d G__31231__delegate;\nreturn G__31231;\n})()\n);\n}));\n\n(devtools.util.display_banner_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(devtools.util.display_banner_BANG_.cljs$lang$applyTo \x3d (function (seq31146){\nvar G__31147 \x3d cljs.core.first(seq31146);\nvar seq31146__$1 \x3d cljs.core.next(seq31146);\nvar G__31148 \x3d cljs.core.first(seq31146__$1);\nvar seq31146__$2 \x3d cljs.core.next(seq31146__$1);\nvar G__31149 \x3d cljs.core.first(seq31146__$2);\nvar seq31146__$3 \x3d cljs.core.next(seq31146__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31147,G__31148,G__31149,seq31146__$3);\n}));\n\ndevtools.util.display_banner_if_needed_BANG_ \x3d (function devtools$util$display_banner_if_needed_BANG_(features_to_install,feature_groups){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22dont-display-banner\x22,\x22dont-display-banner\x22,-1175550370)))){\nvar banner \x3d \x22Installing %c%s%c and enabling features\x22;\nreturn devtools.util.display_banner_BANG_.cljs$core$IFn$_invoke$arity$variadic(features_to_install,feature_groups,banner,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.util.lib_info_style,devtools.util.get_lib_info(),devtools.util.reset_style], 0));\n} else {\nreturn (devtools.util._STAR_custom_formatters_active_STAR_ \x3d true);\n}\n});\ndevtools.util.report_unknown_features_BANG_ \x3d (function devtools$util$report_unknown_features_BANG_(features,known_features){\nvar lib_info \x3d devtools.util.get_lib_info();\nvar seq__31161 \x3d cljs.core.seq(features);\nvar chunk__31162 \x3d null;\nvar count__31163 \x3d (0);\nvar i__31164 \x3d (0);\nwhile(true){\nif((i__31164 \x3c count__31163)){\nvar feature \x3d chunk__31162.cljs$core$IIndexed$_nth$arity$2(null,i__31164);\nif(cljs.core.not(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),known_features))){\ndevtools.context.get_console.call(null).warn(devtools.util.unknown_feature_msg.call(null,feature,known_features,lib_info));\n} else {\n}\n\n\nvar G__31237 \x3d seq__31161;\nvar G__31238 \x3d chunk__31162;\nvar G__31239 \x3d count__31163;\nvar G__31240 \x3d (i__31164 + (1));\nseq__31161 \x3d G__31237;\nchunk__31162 \x3d G__31238;\ncount__31163 \x3d G__31239;\ni__31164 \x3d G__31240;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31161);\nif(temp__5804__auto__){\nvar seq__31161__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31161__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31161__$1);\nvar G__31241 \x3d cljs.core.chunk_rest(seq__31161__$1);\nvar G__31242 \x3d c__5548__auto__;\nvar G__31243 \x3d cljs.core.count(c__5548__auto__);\nvar G__31244 \x3d (0);\nseq__31161 \x3d G__31241;\nchunk__31162 \x3d G__31242;\ncount__31163 \x3d G__31243;\ni__31164 \x3d G__31244;\ncontinue;\n} else {\nvar feature \x3d cljs.core.first(seq__31161__$1);\nif(cljs.core.not(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),known_features))){\ndevtools.context.get_console.call(null).warn(devtools.util.unknown_feature_msg.call(null,feature,known_features,lib_info));\n} else {\n}\n\n\nvar G__31245 \x3d cljs.core.next(seq__31161__$1);\nvar G__31246 \x3d null;\nvar G__31247 \x3d (0);\nvar G__31248 \x3d (0);\nseq__31161 \x3d G__31245;\nchunk__31162 \x3d G__31246;\ncount__31163 \x3d G__31247;\ni__31164 \x3d G__31248;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ndevtools.util.is_known_feature_QMARK_ \x3d (function devtools$util$is_known_feature_QMARK_(known_features,feature){\nreturn cljs.core.boolean$(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),known_features));\n});\ndevtools.util.convert_legacy_feature \x3d (function devtools$util$convert_legacy_feature(feature){\nvar G__31173 \x3d feature;\nvar G__31173__$1 \x3d (((G__31173 instanceof cljs.core.Keyword))?G__31173.fqn:null);\nswitch (G__31173__$1) {\ncase \x22custom-formatters\x22:\nreturn new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118);\n\nbreak;\ncase \x22sanity-hints\x22:\nreturn new cljs.core.Keyword(null,\x22hints\x22,\x22hints\x22,-991113151);\n\nbreak;\ndefault:\nreturn feature;\n\n}\n});\ndevtools.util.convert_legacy_features \x3d (function devtools$util$convert_legacy_features(features){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.util.convert_legacy_feature,features);\n});\ndevtools.util.sanititze_features_BANG_ \x3d (function devtools$util$sanititze_features_BANG_(features,feature_groups){\nvar known_features \x3d new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742).cljs$core$IFn$_invoke$arity$1(feature_groups);\nvar features__$1 \x3d devtools.util.convert_legacy_features(features);\ndevtools.util.report_unknown_features_BANG_(features__$1,known_features);\n\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.util.is_known_feature_QMARK_,known_features),features__$1);\n});\ndevtools.util.resolve_features_BANG_ \x3d (function devtools$util$resolve_features_BANG_(features_desc,feature_groups){\nvar features \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d (features_desc instanceof cljs.core.Keyword);\nif(and__5023__auto__){\nreturn (features_desc.cljs$core$IFn$_invoke$arity$1 ? features_desc.cljs$core$IFn$_invoke$arity$1(feature_groups) : features_desc.call(null,feature_groups));\n} else {\nreturn and__5023__auto__;\n}\n})())?(features_desc.cljs$core$IFn$_invoke$arity$1 ? features_desc.cljs$core$IFn$_invoke$arity$1(feature_groups) : features_desc.call(null,feature_groups)):(((features_desc \x3d\x3d null))?new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(feature_groups):((cljs.core.seqable_QMARK_(features_desc))?features_desc:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [features_desc], null)\n)));\nreturn devtools.util.sanititze_features_BANG_(features,feature_groups);\n});\ndevtools.util.under_advanced_build_QMARK_ \x3d (function devtools$util$under_advanced_build_QMARK_(){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22disable-advanced-mode-check\x22,\x22disable-advanced-mode-check\x22,-968346539)))){\nreturn ((function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o31179 \x3d temp__5802__auto__;\nreturn (o31179[\x22version\x22]);\n} else {\nreturn null;\n}\n})() \x3d\x3d null);\n} else {\nreturn null;\n}\n});\ndevtools.util.display_advanced_build_warning_if_needed_BANG_ \x3d (function devtools$util$display_advanced_build_warning_if_needed_BANG_(){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22dont-display-advanced-build-warning\x22,\x22dont-display-advanced-build-warning\x22,-91321563)))){\nvar banner \x3d [\x22%cNOT%c installing %c%s%c under advanced build. See \x22,devtools.util.advanced_build_explanation_url,\x22.\x22].join(\x27\x27);\nreturn devtools.context.get_console.call(null).warn(banner,\x22font-weight:bold\x22,devtools.util.reset_style,devtools.util.lib_info_style,devtools.util.get_lib_info(),devtools.util.reset_style);\n} else {\nreturn null;\n}\n});\ndevtools.util.install_feature_BANG_ \x3d (function devtools$util$install_feature_BANG_(feature,features_to_install,available_fn,install_fn){\nif(cljs.core.truth_(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),features_to_install))){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22bypass-availability-checks\x22,\x22bypass-availability-checks\x22,1934691680));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (available_fn.cljs$core$IFn$_invoke$arity$1 ? available_fn.cljs$core$IFn$_invoke$arity$1(feature) : available_fn.call(null,feature));\n}\n})())){\nreturn (install_fn.cljs$core$IFn$_invoke$arity$0 ? install_fn.cljs$core$IFn$_invoke$arity$0() : install_fn.call(null));\n} else {\nreturn devtools.context.get_console.call(null).warn(devtools.util.feature_not_available_msg.call(null,feature));\n}\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.format.js", true, "goog.provide(\x27devtools.format\x27);\n\n/**\n * @interface\n */\ndevtools.format.IDevtoolsFormat \x3d function(){};\n\nvar devtools$format$IDevtoolsFormat$_header$dyn_29424 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.format._header[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.format._header[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IDevtoolsFormat.-header\x22,value);\n}\n}\n});\ndevtools.format._header \x3d (function devtools$format$_header(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$format$IDevtoolsFormat$_header$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$format$IDevtoolsFormat$_header$arity$1(value);\n} else {\nreturn devtools$format$IDevtoolsFormat$_header$dyn_29424(value);\n}\n});\n\nvar devtools$format$IDevtoolsFormat$_has_body$dyn_29431 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.format._has_body[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.format._has_body[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IDevtoolsFormat.-has-body\x22,value);\n}\n}\n});\ndevtools.format._has_body \x3d (function devtools$format$_has_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$format$IDevtoolsFormat$_has_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$format$IDevtoolsFormat$_has_body$arity$1(value);\n} else {\nreturn devtools$format$IDevtoolsFormat$_has_body$dyn_29431(value);\n}\n});\n\nvar devtools$format$IDevtoolsFormat$_body$dyn_29438 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.format._body[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.format._body[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IDevtoolsFormat.-body\x22,value);\n}\n}\n});\ndevtools.format._body \x3d (function devtools$format$_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$format$IDevtoolsFormat$_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$format$IDevtoolsFormat$_body$arity$1(value);\n} else {\nreturn devtools$format$IDevtoolsFormat$_body$dyn_29438(value);\n}\n});\n\ndevtools.format.setup_BANG_ \x3d (function devtools$format$setup_BANG_(){\nif(cljs.core.truth_(devtools.format._STAR_setup_done_STAR_)){\nreturn null;\n} else {\n(devtools.format._STAR_setup_done_STAR_ \x3d true);\n\ndevtools.format.make_template_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o29168 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o29168[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o29169 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o29169[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o29170 \x3d temp__5802__auto____$2;\nreturn (o29170[\x22make_template\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.make_group_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o29180 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o29180[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o29181 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o29181[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o29182 \x3d temp__5802__auto____$2;\nreturn (o29182[\x22make_group\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.make_reference_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o29200 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o29200[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o29201 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o29201[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o29202 \x3d temp__5802__auto____$2;\nreturn (o29202[\x22make_reference\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.make_surrogate_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o29218 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o29218[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o29219 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o29219[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o29220 \x3d temp__5802__auto____$2;\nreturn (o29220[\x22make_surrogate\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.render_markup_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o29231 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o29231[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o29232 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o29232[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o29233 \x3d temp__5802__auto____$2;\nreturn (o29233[\x22render_markup\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format._LT_header_GT__fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o29244 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o29244[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o29245 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o29245[\x22markup\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o29246 \x3d temp__5802__auto____$2;\nreturn (o29246[\x22_LT_header_GT_\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format._LT_standard_body_GT__fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o29252 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o29252[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o29253 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o29253[\x22markup\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o29254 \x3d temp__5802__auto____$2;\nreturn (o29254[\x22_LT_standard_body_GT_\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\nif(cljs.core.truth_(devtools.format.make_template_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-template-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.make_group_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-group-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.make_reference_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-reference-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.make_surrogate_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-surrogate-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.render_markup_fn)){\n} else {\nthrow (new Error(\x22Assert failed: render-markup-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format._LT_header_GT__fn)){\n} else {\nthrow (new Error(\x22Assert failed: \x3cheader\x3e-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format._LT_standard_body_GT__fn)){\nreturn null;\n} else {\nthrow (new Error(\x22Assert failed: \x3cstandard-body\x3e-fn\x22));\n}\n}\n});\ndevtools.format.render_markup \x3d (function devtools$format$render_markup(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29465 \x3d arguments.length;\nvar i__5750__auto___29466 \x3d (0);\nwhile(true){\nif((i__5750__auto___29466 \x3c len__5749__auto___29465)){\nargs__5755__auto__.push((arguments[i__5750__auto___29466]));\n\nvar G__29467 \x3d (i__5750__auto___29466 + (1));\ni__5750__auto___29466 \x3d G__29467;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.render_markup_fn,args);\n}));\n\n(devtools.format.render_markup.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.render_markup.cljs$lang$applyTo \x3d (function (seq29270){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29270));\n}));\n\ndevtools.format.make_template \x3d (function devtools$format$make_template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29471 \x3d arguments.length;\nvar i__5750__auto___29472 \x3d (0);\nwhile(true){\nif((i__5750__auto___29472 \x3c len__5749__auto___29471)){\nargs__5755__auto__.push((arguments[i__5750__auto___29472]));\n\nvar G__29473 \x3d (i__5750__auto___29472 + (1));\ni__5750__auto___29472 \x3d G__29473;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.make_template.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.make_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_template_fn,args);\n}));\n\n(devtools.format.make_template.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.make_template.cljs$lang$applyTo \x3d (function (seq29296){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29296));\n}));\n\ndevtools.format.make_group \x3d (function devtools$format$make_group(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29478 \x3d arguments.length;\nvar i__5750__auto___29480 \x3d (0);\nwhile(true){\nif((i__5750__auto___29480 \x3c len__5749__auto___29478)){\nargs__5755__auto__.push((arguments[i__5750__auto___29480]));\n\nvar G__29481 \x3d (i__5750__auto___29480 + (1));\ni__5750__auto___29480 \x3d G__29481;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.make_group.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.make_group.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_group_fn,args);\n}));\n\n(devtools.format.make_group.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.make_group.cljs$lang$applyTo \x3d (function (seq29318){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29318));\n}));\n\ndevtools.format.make_surrogate \x3d (function devtools$format$make_surrogate(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29484 \x3d arguments.length;\nvar i__5750__auto___29485 \x3d (0);\nwhile(true){\nif((i__5750__auto___29485 \x3c len__5749__auto___29484)){\nargs__5755__auto__.push((arguments[i__5750__auto___29485]));\n\nvar G__29488 \x3d (i__5750__auto___29485 + (1));\ni__5750__auto___29485 \x3d G__29488;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.make_surrogate.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.make_surrogate.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_surrogate_fn,args);\n}));\n\n(devtools.format.make_surrogate.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.make_surrogate.cljs$lang$applyTo \x3d (function (seq29327){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29327));\n}));\n\ndevtools.format.template \x3d (function devtools$format$template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29498 \x3d arguments.length;\nvar i__5750__auto___29499 \x3d (0);\nwhile(true){\nif((i__5750__auto___29499 \x3c len__5749__auto___29498)){\nargs__5755__auto__.push((arguments[i__5750__auto___29499]));\n\nvar G__29500 \x3d (i__5750__auto___29499 + (1));\ni__5750__auto___29499 \x3d G__29500;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.template.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_template_fn,args);\n}));\n\n(devtools.format.template.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.template.cljs$lang$applyTo \x3d (function (seq29341){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29341));\n}));\n\ndevtools.format.group \x3d (function devtools$format$group(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29515 \x3d arguments.length;\nvar i__5750__auto___29517 \x3d (0);\nwhile(true){\nif((i__5750__auto___29517 \x3c len__5749__auto___29515)){\nargs__5755__auto__.push((arguments[i__5750__auto___29517]));\n\nvar G__29518 \x3d (i__5750__auto___29517 + (1));\ni__5750__auto___29517 \x3d G__29518;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.group.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.group.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_group_fn,args);\n}));\n\n(devtools.format.group.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.group.cljs$lang$applyTo \x3d (function (seq29349){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29349));\n}));\n\ndevtools.format.surrogate \x3d (function devtools$format$surrogate(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29522 \x3d arguments.length;\nvar i__5750__auto___29523 \x3d (0);\nwhile(true){\nif((i__5750__auto___29523 \x3c len__5749__auto___29522)){\nargs__5755__auto__.push((arguments[i__5750__auto___29523]));\n\nvar G__29527 \x3d (i__5750__auto___29523 + (1));\ni__5750__auto___29523 \x3d G__29527;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.surrogate.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.surrogate.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_surrogate_fn,args);\n}));\n\n(devtools.format.surrogate.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.surrogate.cljs$lang$applyTo \x3d (function (seq29367){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29367));\n}));\n\ndevtools.format.reference \x3d (function devtools$format$reference(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29529 \x3d arguments.length;\nvar i__5750__auto___29531 \x3d (0);\nwhile(true){\nif((i__5750__auto___29531 \x3c len__5749__auto___29529)){\nargs__5755__auto__.push((arguments[i__5750__auto___29531]));\n\nvar G__29535 \x3d (i__5750__auto___29531 + (1));\ni__5750__auto___29531 \x3d G__29535;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.format.reference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.format.reference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,p__29381){\nvar vec__29383 \x3d p__29381;\nvar state_override \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29383,(0),null);\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_reference_fn,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [object,(function (p1__29377_SHARP_){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1__29377_SHARP_,state_override], 0));\n})], null));\n}));\n\n(devtools.format.reference.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.format.reference.cljs$lang$applyTo \x3d (function (seq29378){\nvar G__29379 \x3d cljs.core.first(seq29378);\nvar seq29378__$1 \x3d cljs.core.next(seq29378);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29379,seq29378__$1);\n}));\n\ndevtools.format.standard_reference \x3d (function devtools$format$standard_reference(target){\ndevtools.format.setup_BANG_();\n\nvar G__29391 \x3d new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051);\nvar G__29392 \x3d new cljs.core.Keyword(null,\x22standard-ol-style\x22,\x22standard-ol-style\x22,2143825615);\nvar G__29393 \x3d (function (){var G__29396 \x3d new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921);\nvar G__29397 \x3d new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955);\nvar G__29398 \x3d (devtools.format.make_reference_fn.cljs$core$IFn$_invoke$arity$1 ? devtools.format.make_reference_fn.cljs$core$IFn$_invoke$arity$1(target) : devtools.format.make_reference_fn.call(null,target));\nreturn (devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3 ? devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3(G__29396,G__29397,G__29398) : devtools.format.make_template_fn.call(null,G__29396,G__29397,G__29398));\n})();\nreturn (devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3 ? devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3(G__29391,G__29392,G__29393) : devtools.format.make_template_fn.call(null,G__29391,G__29392,G__29393));\n});\ndevtools.format.build_header \x3d (function devtools$format$build_header(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29550 \x3d arguments.length;\nvar i__5750__auto___29551 \x3d (0);\nwhile(true){\nif((i__5750__auto___29551 \x3c len__5749__auto___29550)){\nargs__5755__auto__.push((arguments[i__5750__auto___29551]));\n\nvar G__29552 \x3d (i__5750__auto___29551 + (1));\ni__5750__auto___29551 \x3d G__29552;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.build_header.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.build_header.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format._LT_header_GT__fn,args)], 0));\n}));\n\n(devtools.format.build_header.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.build_header.cljs$lang$applyTo \x3d (function (seq29401){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29401));\n}));\n\ndevtools.format.standard_body_template \x3d (function devtools$format$standard_body_template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29557 \x3d arguments.length;\nvar i__5750__auto___29558 \x3d (0);\nwhile(true){\nif((i__5750__auto___29558 \x3c len__5749__auto___29557)){\nargs__5755__auto__.push((arguments[i__5750__auto___29558]));\n\nvar G__29559 \x3d (i__5750__auto___29558 + (1));\ni__5750__auto___29558 \x3d G__29559;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.format.standard_body_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.format.standard_body_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (lines,rest){\ndevtools.format.setup_BANG_();\n\nvar args \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [x], null);\n}),lines)], null),rest);\nreturn devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format._LT_standard_body_GT__fn,args)], 0));\n}));\n\n(devtools.format.standard_body_template.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.format.standard_body_template.cljs$lang$applyTo \x3d (function (seq29414){\nvar G__29415 \x3d cljs.core.first(seq29414);\nvar seq29414__$1 \x3d cljs.core.next(seq29414);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29415,seq29414__$1);\n}));\n\n");
SHADOW_ENV.evalLoad("devtools.protocols.js", true, "goog.provide(\x27devtools.protocols\x27);\n\n/**\n * Marker protocol indicating a devtools template.\n * @interface\n */\ndevtools.protocols.ITemplate \x3d function(){};\n\n\n/**\n * Marker protocol indicating a devtools group.\n * @interface\n */\ndevtools.protocols.IGroup \x3d function(){};\n\n\n/**\n * Marker protocol indicating a devtools surrogate object.\n * @interface\n */\ndevtools.protocols.ISurrogate \x3d function(){};\n\n\n/**\n * @interface\n */\ndevtools.protocols.IFormat \x3d function(){};\n\nvar devtools$protocols$IFormat$_header$dyn_28948 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.protocols._header[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.protocols._header[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IFormat.-header\x22,value);\n}\n}\n});\ndevtools.protocols._header \x3d (function devtools$protocols$_header(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$protocols$IFormat$_header$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$protocols$IFormat$_header$arity$1(value);\n} else {\nreturn devtools$protocols$IFormat$_header$dyn_28948(value);\n}\n});\n\nvar devtools$protocols$IFormat$_has_body$dyn_28957 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.protocols._has_body[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.protocols._has_body[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IFormat.-has-body\x22,value);\n}\n}\n});\ndevtools.protocols._has_body \x3d (function devtools$protocols$_has_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$protocols$IFormat$_has_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$protocols$IFormat$_has_body$arity$1(value);\n} else {\nreturn devtools$protocols$IFormat$_has_body$dyn_28957(value);\n}\n});\n\nvar devtools$protocols$IFormat$_body$dyn_28972 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.protocols._body[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.protocols._body[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IFormat.-body\x22,value);\n}\n}\n});\ndevtools.protocols._body \x3d (function devtools$protocols$_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$protocols$IFormat$_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$protocols$IFormat$_body$arity$1(value);\n} else {\nreturn devtools$protocols$IFormat$_body$dyn_28972(value);\n}\n});\n\n");
SHADOW_ENV.evalLoad("devtools.reporter.js", true, "goog.provide(\x27devtools.reporter\x27);\ndevtools.reporter.issues_url \x3d \x22https://github.com/binaryage/cljs-devtools/issues\x22;\ndevtools.reporter.report_internal_error_BANG_ \x3d (function devtools$reporter$report_internal_error_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31224 \x3d arguments.length;\nvar i__5750__auto___31225 \x3d (0);\nwhile(true){\nif((i__5750__auto___31225 \x3c len__5749__auto___31224)){\nargs__5755__auto__.push((arguments[i__5750__auto___31225]));\n\nvar G__31229 \x3d (i__5750__auto___31225 + (1));\ni__5750__auto___31225 \x3d G__31229;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (e,p__31206){\nvar vec__31207 \x3d p__31206;\nvar context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31207,(0),null);\nvar footer \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31207,(1),null);\nvar console__$1 \x3d devtools.context.get_console.call(null);\ntry{var message \x3d (((e instanceof Error))?(function (){var or__5025__auto__ \x3d e.message;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn e;\n}\n})():e);\nvar header \x3d [\x22%cCLJS DevTools Error%c%s\x22,\x22background-color:red;color:white;font-weight:bold;padding:0px 3px;border-radius:2px;\x22,\x22color:red\x22,[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(message)].join(\x27\x27)];\nvar context_msg \x3d [\x22In \x22,devtools.util.get_lib_info(),(cljs.core.truth_(context)?[\x22, \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(context),\x22.\x22].join(\x27\x27):\x22.\x22),\x22\\n\\n\x22].join(\x27\x27);\nvar footer_msg \x3d (((!((footer \x3d\x3d null))))?footer:[\x22\\n\\n\x22,\x22---\\n\x22,\x22Please report the issue here: \x22,devtools.reporter.issues_url].join(\x27\x27));\nvar details \x3d [context_msg,e,footer_msg];\nvar group_collapsed \x3d (console__$1[\x22groupCollapsed\x22]);\nvar log \x3d (console__$1[\x22log\x22]);\nvar group_end \x3d (console__$1[\x22groupEnd\x22]);\nif(cljs.core.truth_(group_collapsed)){\n} else {\nthrow (new Error(\x22Assert failed: group-collapsed\x22));\n}\n\nif(cljs.core.truth_(log)){\n} else {\nthrow (new Error(\x22Assert failed: log\x22));\n}\n\nif(cljs.core.truth_(group_end)){\n} else {\nthrow (new Error(\x22Assert failed: group-end\x22));\n}\n\ngroup_collapsed.apply(console__$1,header);\n\nlog.apply(console__$1,details);\n\nreturn group_end.call(console__$1);\n}catch (e31210){var e__$1 \x3d e31210;\nreturn console__$1.error(\x22FATAL: report-internal-error! failed\x22,e__$1);\n}}));\n\n(devtools.reporter.report_internal_error_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.reporter.report_internal_error_BANG_.cljs$lang$applyTo \x3d (function (seq31202){\nvar G__31203 \x3d cljs.core.first(seq31202);\nvar seq31202__$1 \x3d cljs.core.next(seq31202);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31203,seq31202__$1);\n}));\n\n");
SHADOW_ENV.evalLoad("clojure.walk.js", true, "goog.provide(\x27clojure.walk\x27);\n/**\n * Traverses form, an arbitrary data structure.  inner and outer are\n *   functions.  Applies inner to each element of form, building up a\n *   data structure of the same type, then applies outer to the result.\n *   Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.walk \x3d (function clojure$walk$walk(inner,outer,form){\nif(cljs.core.list_QMARK_(form)){\nvar G__29135 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29135) : outer.call(null,G__29135));\n} else {\nif(cljs.core.map_entry_QMARK_(form)){\nvar G__29136 \x3d (new cljs.core.MapEntry((function (){var G__29137 \x3d cljs.core.key(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__29137) : inner.call(null,G__29137));\n})(),(function (){var G__29138 \x3d cljs.core.val(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__29138) : inner.call(null,G__29138));\n})(),null));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29136) : outer.call(null,G__29136));\n} else {\nif(cljs.core.seq_QMARK_(form)){\nvar G__29147 \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29147) : outer.call(null,G__29147));\n} else {\nif(cljs.core.record_QMARK_(form)){\nvar G__29154 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,x){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(x) : inner.call(null,x)));\n}),form,form);\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29154) : outer.call(null,G__29154));\n} else {\nif(cljs.core.coll_QMARK_(form)){\nvar G__29158 \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(form),cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29158) : outer.call(null,G__29158));\n} else {\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(form) : outer.call(null,form));\n\n}\n}\n}\n}\n}\n});\n/**\n * Performs a depth-first, post-order traversal of form.  Calls f on\n *   each sub-form, uses f\x27s return value in place of the original.\n *   Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.postwalk \x3d (function clojure$walk$postwalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.postwalk,f),f,form);\n});\n/**\n * Like postwalk, but does pre-order traversal.\n */\nclojure.walk.prewalk \x3d (function clojure$walk$prewalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.prewalk,f),cljs.core.identity,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(form) : f.call(null,form)));\n});\n/**\n * Recursively transforms all map keys from strings to keywords.\n */\nclojure.walk.keywordize_keys \x3d (function clojure$walk$keywordize_keys(m){\nvar f \x3d (function (p__29191){\nvar vec__29193 \x3d p__29191;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29193,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29193,(1),null);\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms all map keys from keywords to strings.\n */\nclojure.walk.stringify_keys \x3d (function clojure$walk$stringify_keys(m){\nvar f \x3d (function (p__29222){\nvar vec__29223 \x3d p__29222;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29223,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29223,(1),null);\nif((k instanceof cljs.core.Keyword)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.name(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n *   values.  Like clojure/replace but works on any data structure.  Does\n *   replacement at the root of the tree first.\n */\nclojure.walk.prewalk_replace \x3d (function clojure$walk$prewalk_replace(smap,form){\nreturn clojure.walk.prewalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n *   values.  Like clojure/replace but works on any data structure.  Does\n *   replacement at the leaves of the tree first.\n */\nclojure.walk.postwalk_replace \x3d (function clojure$walk$postwalk_replace(smap,form){\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n");
SHADOW_ENV.evalLoad("devtools.munging.js", true, "goog.provide(\x27devtools.munging\x27);\ngoog.scope(function(){\n  devtools.munging.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ndevtools.munging.dollar_replacement \x3d \x22~\\uFE69~\x22;\ndevtools.munging.max_fixed_arity_to_scan \x3d (64);\ndevtools.munging.get_global_scope \x3d (function devtools$munging$get_global_scope(){\nreturn devtools.context.get_root.call(null);\n});\ndevtools.munging.js_reserved_QMARK_ \x3d (function devtools$munging$js_reserved_QMARK_(x){\nvar temp__5802__auto__ \x3d (function (){var temp__5802__auto__ \x3d (devtools.munging.get_global_scope.call(null)[\x22cljs\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o29354 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o29354[\x22core\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o29355 \x3d temp__5802__auto____$1;\nreturn (o29355[\x22js_reserved_QMARK_\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar js_reserved_fn \x3d temp__5802__auto__;\nreturn (js_reserved_fn.cljs$core$IFn$_invoke$arity$1 ? js_reserved_fn.cljs$core$IFn$_invoke$arity$1(x) : js_reserved_fn.call(null,x));\n} else {\nreturn null;\n}\n});\ndevtools.munging.get_fn_source_safely \x3d (function devtools$munging$get_fn_source_safely(f){\ntry{if(cljs.core.truth_(\x22toString\x22 in f)){\nvar o__28962__auto__ \x3d f;\nreturn (o__28962__auto__[\x22toString\x22]).call(o__28962__auto__);\n} else {\nreturn \x22\x22;\n}\n}catch (e29373){var _ \x3d e29373;\nreturn \x22\x22;\n}});\ndevtools.munging.get_fn_fixed_arity \x3d (function devtools$munging$get_fn_fixed_arity(f,n){\nreturn (f[[\x22cljs$core$IFn$_invoke$arity$\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)]);\n});\ndevtools.munging.get_fn_variadic_arity \x3d (function devtools$munging$get_fn_variadic_arity(f){\nreturn (f[\x22cljs$core$IFn$_invoke$arity$variadic\x22]);\n});\ndevtools.munging.get_fn_max_fixed_arity \x3d (function devtools$munging$get_fn_max_fixed_arity(f){\nreturn (f[\x22cljs$lang$maxFixedArity\x22]);\n});\ndevtools.munging.get_type_name \x3d (function devtools$munging$get_type_name(t){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\ntry{var o__28962__auto___29820 \x3d t;\n(o__28962__auto___29820[\x22cljs$lang$ctorPrWriter\x22]).call(o__28962__auto___29820,t,writer);\n}catch (e29387){var __29821 \x3d e29387;\n}\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n});\n/**\n * Given a character with a single digit converts it into a subscript character.\n *   Zero character maps to unicode \x27SUBSCRIPT ZERO\x27 (U+2080).\n */\ndevtools.munging.char_to_subscript \x3d (function devtools$munging$char_to_subscript(char$){\nif(typeof char$ \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? char)\x22));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(char$),(1))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3d (count char) 1)\x22));\n}\n\nvar char_code \x3d (function (){var o__28962__auto__ \x3d (new String(char$));\nreturn (o__28962__auto__[\x22charCodeAt\x22]).call(o__28962__auto__,(0));\n})();\nvar num_code \x3d (char_code - (48));\nvar subscript_code \x3d ((8320) + num_code);\nvar o__28962__auto__ \x3d String;\nreturn (o__28962__auto__[\x22fromCharCode\x22]).call(o__28962__auto__,subscript_code);\n});\n/**\n * Given a subscript number converts it into a string representation consisting of unicode subscript characters (digits).\n */\ndevtools.munging.make_subscript \x3d (function devtools$munging$make_subscript(subscript){\nif(typeof subscript \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? subscript)\x22));\n}\n\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.char_to_subscript,cljs.core.str.cljs$core$IFn$_invoke$arity$1(subscript)));\n});\n/**\n * Given a character with a single digit converts it into a superscript character.\n *   Zero character maps to unicode \x27SUPERSCRIPT ZERO\x27 (U+2070).\n */\ndevtools.munging.char_to_superscript \x3d (function devtools$munging$char_to_superscript(char$){\nif(typeof char$ \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? char)\x22));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(char$),(1))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3d (count char) 1)\x22));\n}\n\nvar char_code \x3d (function (){var o__28962__auto__ \x3d (new String(char$));\nreturn (o__28962__auto__[\x22charCodeAt\x22]).call(o__28962__auto__,(0));\n})();\nvar num_code \x3d (char_code - (48));\nvar superscript_code \x3d (function (){var G__29421 \x3d num_code;\nswitch (G__29421) {\ncase (1):\nreturn (185);\n\nbreak;\ncase (2):\nreturn (178);\n\nbreak;\ncase (3):\nreturn (179);\n\nbreak;\ndefault:\nreturn ((8304) + num_code);\n\n}\n})();\nvar o__28962__auto__ \x3d String;\nreturn (o__28962__auto__[\x22fromCharCode\x22]).call(o__28962__auto__,superscript_code);\n});\n/**\n * Given a superscript number converts it into a string representation consisting of unicode superscript characters (digits).\n */\ndevtools.munging.make_superscript \x3d (function devtools$munging$make_superscript(superscript){\nif(typeof superscript \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? superscript)\x22));\n}\n\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.char_to_superscript,cljs.core.str.cljs$core$IFn$_invoke$arity$1(superscript)));\n});\n/**\n * Given a Javascript name answers if the name was likely generated by ClojureScript.\n *   We use a simple heuristic here:\n *  The name must contain at least two separate dollars because we assume two-segment namespaces.\n */\ndevtools.munging.cljs_fn_name_QMARK_ \x3d (function devtools$munging$cljs_fn_name_QMARK_(munged_name){\nif(typeof munged_name \x3d\x3d\x3d \x27string\x27){\nreturn (!((cljs.core.re_matches(/^[^$]*\\$[^$]+\\$.*$/,munged_name) \x3d\x3d null)));\n} else {\nreturn null;\n}\n});\n/**\n * Given a function source code parses out [name args]. Note that both strings are still munged.\n *   Suitable for further processing.\n * \n *   For example for input below the function will return [\x22devtools_sample$core$hello\x22 \x22name, unused_param\x22]:\n * \n *   function devtools_sample$core$hello(name, unused_param){\n *  return [cljs.core.str(\x22hello, \x22),cljs.core.str(name),cljs.core.str(\x22!\x22)].join(\x27\x27);\n *   }\n *   \n */\ndevtools.munging.parse_fn_source \x3d (function devtools$munging$parse_fn_source(fn_source){\nvar temp__5802__auto__ \x3d cljs.core.second(cljs.core.re_find(/function\\s(.*?)\\{/,fn_source));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar meat \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d cljs.core.re_find(/(.*?)\\((.*)\\)/,meat);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar match \x3d temp__5802__auto____$1;\nreturn cljs.core.rest(match);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ndevtools.munging.trivial_fn_source_QMARK_ \x3d (function devtools$munging$trivial_fn_source_QMARK_(fn_source){\nif(typeof fn_source \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? fn-source)\x22));\n}\n\nreturn (((!((cljs.core.re_matches(/function\\s*\\(\\s*\\)\\s*\\{\\s*\\}\\s*/,fn_source) \x3d\x3d null)))) || ((((!((cljs.core.re_matches(/function.*\\(\\)\\s*\\{\\s*\\[native code\\]\\s*\\}\\s*/,fn_source) \x3d\x3d null)))) || ((!((cljs.core.re_matches(/function anonymous\\(\\s*\\)\\s*\\{\\s*\\}/,fn_source) \x3d\x3d null)))))));\n});\n/**\n * Given a Javascript function object returns true if the function looks like a ClojureScript function.\n * \n *   Uses various heuristics:\n *  1. must be fn? (is javascript function or satisfies Fn and IFn protocols)\n *  2. and name must be cljs-fn-name? (name can come from f.name or parsed out of function source)\n *  3. or if anonymous function, must be non-trivial\n */\ndevtools.munging.cljs_fn_QMARK_ \x3d (function devtools$munging$cljs_fn_QMARK_(f){\nif(cljs.core.truth_((function (){try{return cljs.core.fn_QMARK_(f);\n}catch (e29447){var _e__29009__auto__ \x3d e29447;\nreturn false;\n}})())){\nvar name \x3d (f[cljs.core.name]);\nif((!(cljs.core.empty_QMARK_(name)))){\nreturn devtools.munging.cljs_fn_name_QMARK_(name);\n} else {\nvar fn_source \x3d devtools.munging.get_fn_source_safely(f);\nvar vec__29450 \x3d devtools.munging.parse_fn_source(fn_source);\nvar name__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29450,(0),null);\nif((!(cljs.core.empty_QMARK_(name__$1)))){\nreturn devtools.munging.cljs_fn_name_QMARK_(name__$1);\n} else {\nreturn (!(devtools.munging.trivial_fn_source_QMARK_(fn_source)));\n}\n}\n} else {\nreturn null;\n}\n});\n/**\n * Standard cljs.core/demunge is too aggressive in replacing dollars.\n *   This wrapper function works around it by leaving dollars intact.\n */\ndevtools.munging.dollar_preserving_demunge \x3d (function devtools$munging$dollar_preserving_demunge(munged_name){\nreturn clojure.string.replace(cljs.core.demunge(clojure.string.replace(munged_name,\x22$\x22,devtools.munging.dollar_replacement)),devtools.munging.dollar_replacement,\x22$\x22);\n});\ndevtools.munging.revert_reserved \x3d (function devtools$munging$revert_reserved(s){\nvar or__5025__auto__ \x3d (function (){var temp__5802__auto__ \x3d cljs.core.re_matches(/(.*)\\$/,s);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar m \x3d temp__5802__auto__;\nif(cljs.core.truth_(devtools.munging.js_reserved_QMARK_(cljs.core.second(m)))){\nreturn cljs.core.second(m);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn s;\n}\n});\ndevtools.munging.reserved_aware_demunge \x3d (function devtools$munging$reserved_aware_demunge(munged_name){\nreturn devtools.munging.revert_reserved(devtools.munging.dollar_preserving_demunge(munged_name));\n});\ndevtools.munging.proper_demunge \x3d (function devtools$munging$proper_demunge(munged_name){\nreturn devtools.munging.reserved_aware_demunge(munged_name);\n});\ndevtools.munging.proper_arg_demunge \x3d (function devtools$munging$proper_arg_demunge(munged_arg_name){\nreturn clojure.string.replace(devtools.munging.proper_demunge(munged_arg_name),/^-(.*)$/,\x22_$1\x22);\n});\ndevtools.munging.proper_ns_demunge \x3d (function devtools$munging$proper_ns_demunge(munged_ns_name){\nreturn clojure.string.replace(devtools.munging.proper_demunge(munged_ns_name),\x22$\x22,\x22.\x22);\n});\ndevtools.munging.ns_exists_QMARK_ \x3d (function devtools$munging$ns_exists_QMARK_(ns_module_name){\nif(typeof ns_module_name \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? ns-module-name)\x22));\n}\n\nvar temp__5806__auto__ \x3d devtools.munging.goog$module$goog$object.getValueByKeys(devtools.munging.get_global_scope.call(null),ns_module_name.split(\x22.\x22));\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar ns_obj \x3d temp__5806__auto__;\nreturn cljs.core.object_QMARK_(ns_obj);\n}\n});\n/**\n * Given a name broken into namespace parts returns [detected-ns remaining-parts],\n *   where detected-ns is a string representing longest detected existing namespace and\n *   remaining-parts is a vector of remaining input parts not included in the detected-ns concatenation.\n * \n *   For given input [\x22cljs\x22 \x22core\x22 \x22first\x22] returns [\x22cljs.core\x22 [\x22first\x22]] (assuming cljs.core exists)\n */\ndevtools.munging.detect_namespace_prefix \x3d (function devtools$munging$detect_namespace_prefix(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29840 \x3d arguments.length;\nvar i__5750__auto___29841 \x3d (0);\nwhile(true){\nif((i__5750__auto___29841 \x3c len__5749__auto___29840)){\nargs__5755__auto__.push((arguments[i__5750__auto___29841]));\n\nvar G__29842 \x3d (i__5750__auto___29841 + (1));\ni__5750__auto___29841 \x3d G__29842;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tokens,p__29502){\nvar vec__29505 \x3d p__29502;\nvar ns_detector \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29505,(0),null);\nvar effective_detector \x3d (function (){var or__5025__auto__ \x3d ns_detector;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.munging.ns_exists_QMARK_;\n}\n})();\nvar name_tokens \x3d cljs.core.PersistentVector.EMPTY;\nvar remaining_tokens \x3d tokens;\nwhile(true){\nif(cljs.core.empty_QMARK_(remaining_tokens)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,name_tokens], null);\n} else {\nvar ns_name \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,remaining_tokens);\nif(cljs.core.truth_((effective_detector.cljs$core$IFn$_invoke$arity$1 ? effective_detector.cljs$core$IFn$_invoke$arity$1(ns_name) : effective_detector.call(null,ns_name)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns_name,name_tokens], null);\n} else {\nvar G__29848 \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.last(remaining_tokens)], null),name_tokens);\nvar G__29849 \x3d cljs.core.butlast(remaining_tokens);\nname_tokens \x3d G__29848;\nremaining_tokens \x3d G__29849;\ncontinue;\n}\n}\nbreak;\n}\n}));\n\n(devtools.munging.detect_namespace_prefix.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.munging.detect_namespace_prefix.cljs$lang$applyTo \x3d (function (seq29492){\nvar G__29493 \x3d cljs.core.first(seq29492);\nvar seq29492__$1 \x3d cljs.core.next(seq29492);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29493,seq29492__$1);\n}));\n\ndevtools.munging.normalize_arity \x3d (function devtools$munging$normalize_arity(arity_tokens){\nif((!(cljs.core.empty_QMARK_(arity_tokens)))){\nvar arity \x3d cljs.core.first(arity_tokens);\nvar G__29528 \x3d arity;\nswitch (G__29528) {\ncase \x22variadic\x22:\nreturn arity;\n\nbreak;\ndefault:\nreturn parseInt(arity,(10));\n\n}\n} else {\nreturn null;\n}\n});\ndevtools.munging.strip_arity \x3d (function devtools$munging$strip_arity(tokens){\nvar vec__29538 \x3d cljs.core.split_with((function (p1__29537_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(p1__29537_SHARP_,\x22arity\x22);\n}),tokens);\nvar prefix_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29538,(0),null);\nvar arity_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29538,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [prefix_tokens,devtools.munging.normalize_arity(cljs.core.rest(arity_tokens))], null);\n});\ndevtools.munging.parse_protocol \x3d (function devtools$munging$parse_protocol(tokens,detector){\nvar remaining_tokens \x3d tokens;\nvar name_tokens \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(remaining_tokens)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name_tokens], null);\n} else {\nvar vec__29553 \x3d devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic(remaining_tokens,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([detector], 0));\nvar protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29553,(0),null);\nvar name_and_method_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29553,(1),null);\nif(cljs.core.empty_QMARK_(protocol_ns)){\nvar G__29858 \x3d cljs.core.rest(remaining_tokens);\nvar G__29859 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(name_tokens,cljs.core.first(remaining_tokens));\nremaining_tokens \x3d G__29858;\nname_tokens \x3d G__29859;\ncontinue;\n} else {\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [name_tokens,protocol_ns,cljs.core.first(name_and_method_tokens),cljs.core.rest(name_and_method_tokens)], null);\n}\n}\nbreak;\n}\n});\n/**\n * Given a munged-name from Javascript lands attempts to break it into:\n *   [fn-ns fn-name protocol-ns protocol-name protocol-method arity].\n * \n *   Protocol and arity elements are optional. Function elements are always present or \x22\x22.\n * \n *   examples for input:\n *  cljs$core$rest \x3d\x3e [\x27cljs.core\x27, \x27rest\x27]\n *  cljs.core.reduce$cljs$core$IFn$_invoke$arity$3 \x3d\x3e [\x27cljs.core\x27 \x27reduce\x27 \x27cljs.core\x27 \x27IFn\x27 \x27_invoke\x27 3]\n */\ndevtools.munging.break_munged_name \x3d (function devtools$munging$break_munged_name(var_args){\nvar G__29561 \x3d arguments.length;\nswitch (G__29561) {\ncase 1:\nreturn devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$1 \x3d (function (munged_name){\nreturn devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2(munged_name,null);\n}));\n\n(devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2 \x3d (function (munged_name,ns_detector){\nif(cljs.core.empty_QMARK_(munged_name)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22], null);\n} else {\nvar effective_detector \x3d (function (){var or__5025__auto__ \x3d ns_detector;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.munging.ns_exists_QMARK_;\n}\n})();\nvar tokens \x3d cljs.core.vec(munged_name.split(/[$.]/));\nvar vec__29565 \x3d devtools.munging.strip_arity(tokens);\nvar tokens__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29565,(0),null);\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29565,(1),null);\nvar vec__29568 \x3d devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic(tokens__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([effective_detector], 0));\nvar fn_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29568,(0),null);\nvar tokens__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29568,(1),null);\nvar vec__29571 \x3d devtools.munging.parse_protocol(tokens__$2,effective_detector);\nvar fn_name_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29571,(0),null);\nvar protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29571,(1),null);\nvar protocol_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29571,(2),null);\nvar protocol_method_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29571,(3),null);\nvar fn_name \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22$\x22,fn_name_tokens);\nvar protocol_method \x3d (cljs.core.truth_(protocol_method_tokens)?clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22$\x22,protocol_method_tokens):null);\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [fn_ns,fn_name,protocol_ns,protocol_name,protocol_method,arity], null);\n}\n}));\n\n(devtools.munging.break_munged_name.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Given a munged-name from Javascript lands attempts to break it into a namespace part and remaining short name.\n *   Then applies appropriate demunging on them and returns ClojureScript versions of the names.\n */\ndevtools.munging.break_and_demunge_name \x3d (function devtools$munging$break_and_demunge_name(var_args){\nvar G__29587 \x3d arguments.length;\nswitch (G__29587) {\ncase 1:\nreturn devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$1 \x3d (function (munged_name){\nreturn devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2(munged_name,null);\n}));\n\n(devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2 \x3d (function (munged_name,ns_detector){\nvar result \x3d devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2(munged_name,ns_detector);\nvar vec__29593 \x3d result;\nvar munged_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29593,(0),null);\nvar munged_name__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29593,(1),null);\nvar munged_protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29593,(2),null);\nvar munged_protocol_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29593,(3),null);\nvar munged_protocol_method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29593,(4),null);\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29593,(5),null);\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.munging.proper_ns_demunge(munged_ns),devtools.munging.proper_demunge(munged_name__$1),(cljs.core.truth_(munged_protocol_ns)?devtools.munging.proper_ns_demunge(munged_protocol_ns):null),(cljs.core.truth_(munged_protocol_name)?devtools.munging.proper_demunge(munged_protocol_name):null),(cljs.core.truth_(munged_protocol_method)?devtools.munging.proper_demunge(munged_protocol_method):null),arity], null);\n}));\n\n(devtools.munging.break_and_demunge_name.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Given function source code tries to retrieve [ns name \x26 args] on best effort basis, where\n *   ns is demunged namespace part of the function name (or \x22\x22 if namespace cannot be detected)\n *   name is demunged short name (or \x22\x22 if function is anonymous or name cannot be retrieved)\n *   args is optional number of demunged argument names.\n * \n *   Please note that this function always returns a vector with something. In worst cases [\x22\x22 \x22\x22].\n *   \n */\ndevtools.munging.parse_fn_source_info \x3d (function devtools$munging$parse_fn_source_info(fn_source){\nvar temp__5802__auto__ \x3d devtools.munging.parse_fn_source(fn_source);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__29610 \x3d temp__5802__auto__;\nvar munged_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29610,(0),null);\nvar args \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29610,(1),null);\nvar vec__29613 \x3d devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$1(munged_name);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29613,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29613,(1),null);\nvar demunged_args \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(devtools.munging.proper_arg_demunge,clojure.string.trim),clojure.string.split.cljs$core$IFn$_invoke$arity$2(args,/,/));\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,name], null),demunged_args);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22], null);\n}\n});\n/**\n * Given Javascript function object tries to retrieve [ns name \x26 args] as in parse-fn-source-info (on best effort basis).\n */\ndevtools.munging.parse_fn_info \x3d (function devtools$munging$parse_fn_info(f){\nvar fn_source \x3d devtools.munging.get_fn_source_safely(f);\nreturn devtools.munging.parse_fn_source_info(fn_source);\n});\n/**\n * Given a Javascript function object tries to retrieve [ns name \x26 args] as in parse-fn-info (on best effort basis).\n * \n *   The difference from parse-fn-info is that this function prefers to read args from arities if available.\n *   It recurse arbitrary deep following IFn protocol leads.\n * \n *   If we hit multi-arity situation in leaf, we don\x27t attempt to list arguments and return ::multi-arity placeholder instead.\n * \n *   The reason for reading arities is that it gives more accurate parameter names in some cases.\n *   We observed that variadic functions don\x27t always contain original parameter names, but individual IFn arity functions do.\n */\ndevtools.munging.parse_fn_info_deep \x3d (function devtools$munging$parse_fn_info_deep(f){\nvar fn_info \x3d devtools.munging.parse_fn_info(f);\nvar arities \x3d (devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1 ? devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1(f) : devtools.munging.collect_fn_arities.call(null,f));\nif((!((arities \x3d\x3d null)))){\nif((cljs.core.count(arities) \x3e (1))){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.take.cljs$core$IFn$_invoke$arity$2((2),fn_info),new cljs.core.Keyword(\x22devtools.munging\x22,\x22multi-arity\x22,\x22devtools.munging/multi-arity\x22,-2011705837));\n} else {\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.take.cljs$core$IFn$_invoke$arity$2((2),fn_info),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((2),(function (){var G__29622 \x3d cljs.core.second(cljs.core.first(arities));\nreturn (devtools.munging.parse_fn_info_deep.cljs$core$IFn$_invoke$arity$1 ? devtools.munging.parse_fn_info_deep.cljs$core$IFn$_invoke$arity$1(G__29622) : devtools.munging.parse_fn_info_deep.call(null,G__29622));\n})()));\n}\n} else {\nreturn fn_info;\n}\n});\n/**\n * Given a demunged ClojureScript parameter name. Tries to detect human readable part and returns the index where it ends.\n *   Returns nil if no prefix can be detected.\n * \n *   The idea is to convert macro-generated parameters and other generated names to more friendly names.\n *   We observed that param names generated by gensym have prefix followed by big numbers.\n *   Other generated names contain two dashes after prefix (originally probably using underscores).\n */\ndevtools.munging.find_index_of_human_prefix \x3d (function devtools$munging$find_index_of_human_prefix(name){\nvar sep_start \x3d name.indexOf(\x22--\x22);\nvar num_prefix \x3d cljs.core.count(cljs.core.second(cljs.core.re_find(/(.*?)\\d{2,}/,name)));\nvar finds \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.pos_QMARK_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sep_start,num_prefix], null));\nif((!(cljs.core.empty_QMARK_(finds)))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.min,finds);\n} else {\nreturn null;\n}\n});\n/**\n * Given a name and intermediate state. Convert name to a human readable version by keeping human readable prefix with\n *   optional subscript postfix and store it in ::result. Subscript number is picked based on state. State keeps track of\n *   previously assigned subscripts. Returns a new state.\n */\ndevtools.munging.humanize_name \x3d (function devtools$munging$humanize_name(state,name){\nvar index \x3d devtools.munging.find_index_of_human_prefix(name);\nvar prefix \x3d (((index \x3e (0)))?name.substring((0),index):name);\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(state,prefix);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar subscript \x3d temp__5802__auto__;\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166),cljs.core.conj,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),devtools.munging.make_subscript(subscript)].join(\x27\x27)),prefix,cljs.core.inc);\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166),cljs.core.conj,prefix),prefix,(2));\n}\n});\n/**\n * Given a list of names, returns a list of human-readable versions of those names.\n *   It detects human-readable prefix using a simple heuristics. When names repeat it assigns simple subscripts starting with 2.\n *   Subscripts are assigned left-to-right.\n * \n *   Given [\x22p--a\x22 \x22p--b\x22 \x22x\x22 \x22p--c\x22] returns [\x22p\x22 \x22p\u2082\x22 \x22x\x22 \x22p\u2083\x22]\n */\ndevtools.munging.humanize_names \x3d (function devtools$munging$humanize_names(names){\nreturn cljs.core.with_meta(new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166).cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(devtools.munging.humanize_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166),cljs.core.PersistentVector.EMPTY], null),names)),cljs.core.meta(names));\n});\ndevtools.munging.collect_fn_fixed_arities \x3d (function devtools$munging$collect_fn_fixed_arities(f,max_arity){\nvar arity \x3d (0);\nvar collection \x3d cljs.core.PersistentArrayMap.EMPTY;\nwhile(true){\nif((arity \x3e max_arity)){\nreturn collection;\n} else {\nvar G__29878 \x3d (arity + (1));\nvar G__29879 \x3d (function (){var temp__5802__auto__ \x3d devtools.munging.get_fn_fixed_arity(f,arity);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar arity_fn \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(collection,arity,arity_fn);\n} else {\nreturn collection;\n}\n})();\narity \x3d G__29878;\ncollection \x3d G__29879;\ncontinue;\n}\nbreak;\n}\n});\ndevtools.munging.collect_fn_variadic_arities \x3d (function devtools$munging$collect_fn_variadic_arities(f){\nvar temp__5802__auto__ \x3d devtools.munging.get_fn_variadic_arity(f);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar variadic_arity \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),variadic_arity], null);\n} else {\nreturn null;\n}\n});\ndevtools.munging.review_arity \x3d (function devtools$munging$review_arity(p__29669){\nvar vec__29671 \x3d p__29669;\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29671,(0),null);\nvar arity_fn \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29671,(1),null);\nvar sub_arities \x3d (devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1 ? devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1(arity_fn) : devtools.munging.collect_fn_arities.call(null,arity_fn));\nif(cljs.core.truth_(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908).cljs$core$IFn$_invoke$arity$1(sub_arities))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),arity_fn], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arity,arity_fn], null);\n}\n});\n/**\n * Some arities can be marked as fixed arity but in fact point to a variadic-arity function. We want to detect this case\n *   and turn such improperly categorized arities to ::variadic.\n */\ndevtools.munging.review_arities \x3d (function devtools$munging$review_arities(arities){\nif(cljs.core.truth_(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908).cljs$core$IFn$_invoke$arity$1(arities))){\nreturn arities;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.review_arity,arities));\n}\n});\n/**\n * Given a Javascript function object, tries to inspect known arity properties generated by ClojureScript compiler and\n *   collects all available arity functions into a map. Arities are keyed by arity count and variadic arity gets ::variadic key.\n */\ndevtools.munging.collect_fn_arities \x3d (function devtools$munging$collect_fn_arities(f){\nvar max_fixed_arity \x3d devtools.munging.get_fn_max_fixed_arity(f);\nvar fixed_arities \x3d devtools.munging.collect_fn_fixed_arities(f,(function (){var or__5025__auto__ \x3d max_fixed_arity;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.munging.max_fixed_arity_to_scan;\n}\n})());\nvar variadic_arities \x3d devtools.munging.collect_fn_variadic_arities(f);\nvar arities \x3d devtools.munging.review_arities(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fixed_arities,variadic_arities], 0)));\nif((!(cljs.core.empty_QMARK_(arities)))){\nreturn arities;\n} else {\nreturn null;\n}\n});\n/**\n * ::variadic goes last, other keywords compare by name.\n */\ndevtools.munging.arity_keywords_comparator \x3d (function devtools$munging$arity_keywords_comparator(x,y){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),x)){\nreturn (1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),y)){\nreturn (-1);\n} else {\nreturn cljs.core.compare(cljs.core.name(x),cljs.core.name(y));\n\n}\n}\n});\n/**\n * numbers go first (ordered), then keywords (ordered by name), and then ::variadic sticks last\n */\ndevtools.munging.arities_key_comparator \x3d (function devtools$munging$arities_key_comparator(x,y){\nvar kx_QMARK_ \x3d (x instanceof cljs.core.Keyword);\nvar ky_QMARK_ \x3d (y instanceof cljs.core.Keyword);\nif(((kx_QMARK_) \x26\x26 (ky_QMARK_))){\nreturn devtools.munging.arity_keywords_comparator(x,y);\n} else {\nif(kx_QMARK_){\nreturn (1);\n} else {\nif(ky_QMARK_){\nreturn (-1);\n} else {\nreturn cljs.core.compare(x,y);\n\n}\n}\n}\n});\ndevtools.munging.arities_to_args_lists_STAR_ \x3d (function devtools$munging$arities_to_args_lists_STAR_(arities){\nvar sorted_keys \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2(devtools.munging.arities_key_comparator,cljs.core.keys(arities));\nvar sorted_fns \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29690_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(arities,p1__29690_SHARP_);\n}),sorted_keys);\nvar sorted_infos \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.parse_fn_info_deep,sorted_fns);\nvar sorted_args_lists \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29691_SHARP_){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((2),p1__29691_SHARP_);\n}),sorted_infos);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.last(sorted_keys),new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908))){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.butlast(sorted_args_lists),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(cljs.core.last(sorted_args_lists),cljs.core.assoc,new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),true)], null));\n} else {\nreturn sorted_args_lists;\n}\n});\n/**\n * Given a map of arity functions. Tries to parse individual functions and prepare an arguments list for each arity.\n *   Returned list of arguments list is sorted by arity count, variadic arity goes last if available.\n * \n *   The function also optionally humanizes argument names in each arguments list if requested.\n */\ndevtools.munging.arities_to_args_lists \x3d (function devtools$munging$arities_to_args_lists(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29886 \x3d arguments.length;\nvar i__5750__auto___29887 \x3d (0);\nwhile(true){\nif((i__5750__auto___29887 \x3c len__5749__auto___29886)){\nargs__5755__auto__.push((arguments[i__5750__auto___29887]));\n\nvar G__29888 \x3d (i__5750__auto___29887 + (1));\ni__5750__auto___29887 \x3d G__29888;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.munging.arities_to_args_lists.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.munging.arities_to_args_lists.cljs$core$IFn$_invoke$arity$variadic \x3d (function (arities,p__29701){\nvar vec__29702 \x3d p__29701;\nvar humanize_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29702,(0),null);\nvar args_lists \x3d devtools.munging.arities_to_args_lists_STAR_(arities);\nif(cljs.core.truth_(humanize_QMARK_)){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.humanize_names,args_lists);\n} else {\nreturn args_lists;\n}\n}));\n\n(devtools.munging.arities_to_args_lists.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.munging.arities_to_args_lists.cljs$lang$applyTo \x3d (function (seq29697){\nvar G__29698 \x3d cljs.core.first(seq29697);\nvar seq29697__$1 \x3d cljs.core.next(seq29697);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29698,seq29697__$1);\n}));\n\n/**\n * Converts a list of arguments lists into a list of strings suitable for UI presentation.\n */\ndevtools.munging.args_lists_to_strings \x3d (function devtools$munging$args_lists_to_strings(args_lists,spacer_symbol,multi_arity_symbol,rest_symbol){\nvar string_mapper \x3d (function (arg){\nvar G__29707 \x3d arg;\nvar G__29707__$1 \x3d (((G__29707 instanceof cljs.core.Keyword))?G__29707.fqn:null);\nswitch (G__29707__$1) {\ncase \x22devtools.munging/multi-arity\x22:\nreturn multi_arity_symbol;\n\nbreak;\ndefault:\nreturn arg;\n\n}\n});\nvar printer \x3d (function (args_list){\nvar variadic_QMARK_ \x3d new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(args_list));\nvar args_strings \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(string_mapper,args_list);\nreturn [clojure.string.join.cljs$core$IFn$_invoke$arity$2(spacer_symbol,cljs.core.butlast(args_strings)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(variadic_QMARK_)?rest_symbol:spacer_symbol)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.last(args_strings))].join(\x27\x27);\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.string.trim,cljs.core.map.cljs$core$IFn$_invoke$arity$2(printer,args_lists));\n});\ndevtools.munging.extract_arities \x3d (function devtools$munging$extract_arities(f,humanize_QMARK_,spacer_symbol,multi_arity_symbol,rest_symbol){\nreturn devtools.munging.args_lists_to_strings(devtools.munging.arities_to_args_lists.cljs$core$IFn$_invoke$arity$variadic((function (){var or__5025__auto__ \x3d devtools.munging.collect_fn_arities(f);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22naked\x22,\x22naked\x22,373474222),f], null);\n}\n})(),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([humanize_QMARK_], 0)),spacer_symbol,multi_arity_symbol,rest_symbol);\n});\ndevtools.munging.common_protocol_QMARK_ \x3d (function devtools$munging$common_protocol_QMARK_(protocol_ns,protocol_name){\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(protocol_ns,\x22cljs.core\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(protocol_name,\x22IFn\x22)));\n});\ndevtools.munging.present_fn_part \x3d (function devtools$munging$present_fn_part(fn_ns,fn_name,include_ns_QMARK_){\nreturn [(cljs.core.truth_((function (){var and__5023__auto__ \x3d include_ns_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(cljs.core.empty_QMARK_(fn_ns)));\n} else {\nreturn and__5023__auto__;\n}\n})())?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_ns),\x22/\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_name)].join(\x27\x27);\n});\ndevtools.munging.present_protocol_part \x3d (function devtools$munging$present_protocol_part(protocol_ns,protocol_name,protocol_method,include_protocol_ns_QMARK_){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(include_protocol_ns_QMARK_)?protocol_ns:null)),(((!(cljs.core.empty_QMARK_(protocol_name))))?[(cljs.core.truth_(include_protocol_ns_QMARK_)?\x22.\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(\x27\x27):null),(((!(cljs.core.empty_QMARK_(protocol_method))))?[(cljs.core.truth_((function (){var or__5025__auto__ \x3d include_protocol_ns_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (!(cljs.core.empty_QMARK_(protocol_name)));\n}\n})())?\x22:\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_method)].join(\x27\x27):null)].join(\x27\x27);\n});\n/**\n * Given javascript function name tries to present it as plain string for display in UI on best effort basis.\n */\ndevtools.munging.present_function_name \x3d (function devtools$munging$present_function_name(munged_name,options){\nvar map__29732 \x3d options;\nvar map__29732__$1 \x3d cljs.core.__destructure_map(map__29732);\nvar include_ns_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29732__$1,new cljs.core.Keyword(null,\x22include-ns?\x22,\x22include-ns?\x22,-341372810));\nvar include_protocol_ns_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29732__$1,new cljs.core.Keyword(null,\x22include-protocol-ns?\x22,\x22include-protocol-ns?\x22,989250951));\nvar silence_common_protocols_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29732__$1,new cljs.core.Keyword(null,\x22silence-common-protocols?\x22,\x22silence-common-protocols?\x22,2012431893));\nvar ns_detector \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29732__$1,new cljs.core.Keyword(null,\x22ns-detector\x22,\x22ns-detector\x22,-2041592760));\nvar vec__29733 \x3d devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2(munged_name,ns_detector);\nvar fn_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29733,(0),null);\nvar fn_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29733,(1),null);\nvar protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29733,(2),null);\nvar protocol_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29733,(3),null);\nvar protocol_method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29733,(4),null);\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29733,(5),null);\nvar arity_str \x3d (((!((arity \x3d\x3d null))))?((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arity,\x22variadic\x22))?\x22\\u207F\x22:devtools.munging.make_superscript(arity)):null);\nif(cljs.core.empty_QMARK_(fn_name)){\nreturn munged_name;\n} else {\nvar fn_part \x3d devtools.munging.present_fn_part(fn_ns,fn_name,include_ns_QMARK_);\nvar protocol_part \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d protocol_ns;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not((function (){var and__5023__auto____$1 \x3d silence_common_protocols_QMARK_;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn devtools.munging.common_protocol_QMARK_(protocol_ns,protocol_name);\n} else {\nreturn and__5023__auto____$1;\n}\n})());\n} else {\nreturn and__5023__auto__;\n}\n})())?devtools.munging.present_protocol_part(protocol_ns,protocol_name,protocol_method,include_protocol_ns_QMARK_):null);\nreturn [(function (){var or__5025__auto__ \x3d protocol_part;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn fn_part;\n}\n})(),arity_str,(cljs.core.truth_(protocol_part)?[\x22 (\x22,fn_part,\x22)\x22].join(\x27\x27):null)].join(\x27\x27);\n}\n});\ndevtools.munging.get_basis \x3d (function devtools$munging$get_basis(f){\nvar o__28962__auto__ \x3d f;\nreturn (o__28962__auto__[\x22getBasis\x22]).call(o__28962__auto__);\n});\n/**\n * Given a Javascript constructor function tries to retrieve [ns name basis]. Returns nil if not a cljs type.\n */\ndevtools.munging.parse_constructor_info \x3d (function devtools$munging$parse_constructor_info(f){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d goog.isObject(f);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn f.cljs$lang$type;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar type_name \x3d devtools.munging.get_type_name(f);\nvar parts \x3d type_name.split(/\\//);\nvar basis \x3d (function (){try{return devtools.munging.get_basis(f);\n}catch (e29752){var _e__29009__auto__ \x3d e29752;\nreturn cljs.core.PersistentVector.EMPTY;\n}})();\nif((cljs.core.count(parts) \x3c\x3d (2))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c\x3d (count parts) 2)\x22));\n}\n\nwhile(true){\nif((cljs.core.count(parts) \x3c (2))){\nparts.unshift(null);\n\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(parts),basis);\n} else {\nreturn null;\n}\n});\ndevtools.munging.protocol_path \x3d (function devtools$munging$protocol_path(protocol_selector){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2(protocol_selector,/\\./);\n});\ndevtools.munging.get_protocol_object \x3d (function devtools$munging$get_protocol_object(protocol_selector){\nvar obj \x3d devtools.munging.get_global_scope.call(null);\nvar path \x3d devtools.munging.protocol_path(protocol_selector);\nwhile(true){\nif(cljs.core.empty_QMARK_(path)){\nreturn obj;\n} else {\nif(cljs.core.truth_(goog.isObject(obj))){\nvar G__29902 \x3d (obj[cljs.core.first(path)]);\nvar G__29903 \x3d cljs.core.rest(path);\nobj \x3d G__29902;\npath \x3d G__29903;\ncontinue;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ndevtools.munging.protocol_exists_QMARK_ \x3d (function devtools$munging$protocol_exists_QMARK_(protocol_selector){\nreturn (!((devtools.munging.get_protocol_object(protocol_selector) \x3d\x3d null)));\n});\ndevtools.munging.get_protocol_selector \x3d (function devtools$munging$get_protocol_selector(key){\nvar temp__5802__auto__ \x3d cljs.core.re_matches(/(.*)\\$$/,key);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar m \x3d temp__5802__auto__;\nif((!(clojure.string.includes_QMARK_(key,\x22cljs$lang$protocol_mask$partition\x22)))){\nvar protocol_selector \x3d clojure.string.replace(cljs.core.second(m),\x22$\x22,\x22.\x22);\nif(devtools.munging.protocol_exists_QMARK_(protocol_selector)){\nreturn protocol_selector;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ndevtools.munging.demunge_protocol_selector \x3d (function devtools$munging$demunge_protocol_selector(protocol_selector){\nvar parts \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.proper_demunge,devtools.munging.protocol_path(protocol_selector));\nvar _ \x3d (((cljs.core.count(parts) \x3e\x3d (2)))?null:(function(){throw (new Error([\x22Assert failed: \x22,[\x22expected protocol selector to contain at least one dot: \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_selector),\x22\x27\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3e\x3d (count parts) 2)\x22].join(\x27\x27)))})());\nvar ns \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,cljs.core.butlast(parts));\nvar name \x3d cljs.core.last(parts);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,name,protocol_selector], null);\n});\ndevtools.munging.fast_path_protocols_lookup_table \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentArrayMap(null, 2, [(0),cljs.core.PersistentHashMap.fromArrays([(8192),(4096),(524288),(128),(1048576),(1),(32768),(4),(268435456),(512),(33554432),(32),(256),(1024),(134217728),(16777216),(64),(262144),(2),(4194304),(131072),(67108864),(8388608),(16),(2097152),(1073741824),(2147483648),(2048),(8),(65536),(16384)],[new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IStack\x22,\x22cljs.core.IStack\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISet\x22,\x22cljs.core.ISet\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IReduce\x22,\x22cljs.core.IReduce\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22INext\x22,\x22cljs.core.INext\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IKVReduce\x22,\x22cljs.core.IKVReduce\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IFn\x22,\x22cljs.core.IFn\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IDeref\x22,\x22cljs.core.IDeref\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IEmptyableCollection\x22,\x22cljs.core.IEmptyableCollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISorted\x22,\x22cljs.core.ISorted\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IAssociative\x22,\x22cljs.core.IAssociative\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IList\x22,\x22cljs.core.IList\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ASeq\x22,\x22cljs.core.ASeq\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ILookup\x22,\x22cljs.core.ILookup\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMap\x22,\x22cljs.core.IMap\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IReversible\x22,\x22cljs.core.IReversible\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISequential\x22,\x22cljs.core.ISequential\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISeq\x22,\x22cljs.core.ISeq\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IWithMeta\x22,\x22cljs.core.IWithMeta\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ICounted\x22,\x22cljs.core.ICounted\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IHash\x22,\x22cljs.core.IHash\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMeta\x22,\x22cljs.core.IMeta\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IRecord\x22,\x22cljs.core.IRecord\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISeqable\x22,\x22cljs.core.ISeqable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IIndexed\x22,\x22cljs.core.IIndexed\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IEquiv\x22,\x22cljs.core.IEquiv\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IWriter\x22,\x22cljs.core.IWriter\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IPrintWithWriter\x22,\x22cljs.core.IPrintWithWriter\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMapEntry\x22,\x22cljs.core.IMapEntry\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ICollection\x22,\x22cljs.core.ICollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IDerefWithTimeout\x22,\x22cljs.core.IDerefWithTimeout\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IVector\x22,\x22cljs.core.IVector\x22], null)]),(1),cljs.core.PersistentHashMap.fromArrays([(8192),(4096),(128),(1),(32768),(4),(512),(32),(256),(1024),(64),(262144),(2),(131072),(16),(2048),(8),(65536),(16384)],[new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ICloneable\x22,\x22cljs.core.ICloneable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22INamed\x22,\x22cljs.core.INamed\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientSet\x22,\x22cljs.core.ITransientSet\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IPending\x22,\x22cljs.core.IPending\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IReset\x22,\x22cljs.core.IReset\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IEditableCollection\x22,\x22cljs.core.IEditableCollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IChunkedSeq\x22,\x22cljs.core.IChunkedSeq\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientMap\x22,\x22cljs.core.ITransientMap\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMultiFn\x22,\x22cljs.core.IMultiFn\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IChunkedNext\x22,\x22cljs.core.IChunkedNext\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientVector\x22,\x22cljs.core.ITransientVector\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IDrop\x22,\x22cljs.core.IDrop\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IWatchable\x22,\x22cljs.core.IWatchable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IIterable\x22,\x22cljs.core.IIterable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientAssociative\x22,\x22cljs.core.ITransientAssociative\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IComparable\x22,\x22cljs.core.IComparable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientCollection\x22,\x22cljs.core.ITransientCollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISwap\x22,\x22cljs.core.ISwap\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IAtom\x22,\x22cljs.core.IAtom\x22], null)])], null);\n}),null));\ndevtools.munging.key_for_protocol_partition \x3d (function devtools$munging$key_for_protocol_partition(partition){\nreturn [\x22cljs$lang$protocol_mask$partition\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(partition),\x22$\x22].join(\x27\x27);\n});\ndevtools.munging.scan_fast_path_protocols_partition \x3d (function devtools$munging$scan_fast_path_protocols_partition(obj,partition){\nif(typeof partition \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? partition)\x22));\n}\n\nvar partition_key \x3d devtools.munging.key_for_protocol_partition(partition);\nvar partition_bits \x3d (function (){var or__5025__auto__ \x3d (obj[partition_key]);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nif((partition_bits \x3e (0))){\nvar lookup_table \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.munging.fast_path_protocols_lookup_table),partition);\nvar _ \x3d ((cljs.core.map_QMARK_(lookup_table))?null:(function(){throw (new Error([\x22Assert failed: \x22,[\x22fast-path-protocols-lookup-table does not contain lookup table for partition \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(partition)].join(\x27\x27),\x22\\n\x22,\x22(map? lookup-table)\x22].join(\x27\x27)))})());\nvar _STAR_ \x3d (function (accum,p__29774){\nvar vec__29776 \x3d p__29774;\nvar bit \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29776,(0),null);\nvar protocol \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29776,(1),null);\nif(((partition_bits \x26 bit) \x3d\x3d\x3d (0))){\nreturn accum;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(accum,protocol);\n}\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(_STAR_,cljs.core.PersistentVector.EMPTY,lookup_table);\n} else {\nreturn null;\n}\n});\ndevtools.munging.scan_fast_path_protocols \x3d (function devtools$munging$scan_fast_path_protocols(obj){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.munging.scan_fast_path_protocols_partition,obj),cljs.core.range.cljs$core$IFn$_invoke$arity$1((2))));\n});\ndevtools.munging.scan_slow_path_protocols \x3d (function devtools$munging$scan_slow_path_protocols(obj){\nvar keys \x3d devtools.munging.goog$module$goog$object.getKeys(obj);\nvar selectors \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.munging.get_protocol_selector,keys);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.demunge_protocol_selector,selectors);\n});\ndevtools.munging.make_protocol_descriptor \x3d (function devtools$munging$make_protocol_descriptor(ns,name,selector,fast_QMARK_){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name,new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866),selector,new cljs.core.Keyword(null,\x22fast?\x22,\x22fast?\x22,-1813307150),fast_QMARK_], null);\n});\ndevtools.munging.convert_to_protocol_descriptor \x3d (function devtools$munging$convert_to_protocol_descriptor(fast_QMARK_,p__29784){\nvar vec__29786 \x3d p__29784;\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29786,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29786,(1),null);\nvar selector \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29786,(2),null);\nreturn devtools.munging.make_protocol_descriptor(ns,name,selector,fast_QMARK_);\n});\ndevtools.munging.protocol_descriptors_comparator \x3d (function devtools$munging$protocol_descriptors_comparator(a,b){\nreturn cljs.core.compare(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(b));\n});\ndevtools.munging.scan_protocols \x3d (function devtools$munging$scan_protocols(obj){\nvar fast_path_protocols \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.munging.convert_to_protocol_descriptor,true),devtools.munging.scan_fast_path_protocols(obj));\nvar slow_path_protocols \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.munging.convert_to_protocol_descriptor,false),devtools.munging.scan_slow_path_protocols(obj));\nvar all_protocols \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fast_path_protocols,slow_path_protocols);\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(devtools.munging.protocol_descriptors_comparator,all_protocols);\n});\ndevtools.munging.collect_protocol_methods \x3d (function devtools$munging$collect_protocol_methods(obj,protocol_selector){\nvar key_prefix \x3d clojure.string.replace(protocol_selector,/\\./,\x22\\\\$\x22);\nvar pattern \x3d cljs.core.re_pattern([\x22^\x22,key_prefix,\x22\\\\$(.*)\\\\$arity\\\\$(\\\\d+)$\x22].join(\x27\x27));\nvar all_keys \x3d devtools.munging.goog$module$goog$object.getKeys(obj);\nvar matches \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.re_matches,pattern),all_keys);\nvar methods$ \x3d cljs.core.group_by(cljs.core.second,matches);\nvar match_to_arity \x3d (function (match){\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(match,(2));\nreturn parseInt(arity,(10));\n});\nvar match_arity_comparator \x3d (function (a,b){\nreturn cljs.core.compare(match_to_arity(a),match_to_arity(b));\n});\nvar post_process \x3d (function (p__29797){\nvar vec__29798 \x3d p__29797;\nvar munged_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29798,(0),null);\nvar matches__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29798,(1),null);\nvar name \x3d devtools.munging.proper_demunge(munged_name);\nvar sorted_matches \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2(match_arity_comparator,matches__$1);\nvar sorted_fns \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29795_SHARP_){\nreturn (obj[cljs.core.first(p1__29795_SHARP_)]);\n}),sorted_matches);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,sorted_fns], null);\n});\nvar by_name_comparator \x3d (function (a,b){\nreturn cljs.core.compare(cljs.core.first(a),cljs.core.first(b));\n});\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(by_name_comparator,cljs.core.map.cljs$core$IFn$_invoke$arity$2(post_process,methods$));\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.helpers.js", true, "goog.provide(\x27devtools.formatters.helpers\x27);\ndevtools.formatters.helpers.pref \x3d (function devtools$formatters$helpers$pref(v){\nwhile(true){\nif((v instanceof cljs.core.Keyword)){\nvar G__29876 \x3d devtools.prefs.pref(v);\nv \x3d G__29876;\ncontinue;\n} else {\nreturn v;\n}\nbreak;\n}\n});\ndevtools.formatters.helpers.get_prototype \x3d (function devtools$formatters$helpers$get_prototype(o){\nreturn o.prototype;\n});\ndevtools.formatters.helpers.get_constructor \x3d (function devtools$formatters$helpers$get_constructor(o){\nreturn o.constructor;\n});\ndevtools.formatters.helpers.is_prototype_QMARK_ \x3d (function devtools$formatters$helpers$is_prototype_QMARK_(o){\nreturn (devtools.formatters.helpers.get_prototype(devtools.formatters.helpers.get_constructor(o)) \x3d\x3d\x3d o);\n});\ndevtools.formatters.helpers.is_js_symbol_QMARK_ \x3d (function devtools$formatters$helpers$is_js_symbol_QMARK_(o){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(goog.typeOf(o),\x22symbol\x22);\n});\ndevtools.formatters.helpers.cljs_function_QMARK_ \x3d (function devtools$formatters$helpers$cljs_function_QMARK_(value){\nvar and__5023__auto__ \x3d cljs.core.not(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22disable-cljs-fn-formatting\x22,\x22disable-cljs-fn-formatting\x22,1903786837)));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (!(cljs.core.var_QMARK_(value)));\nif(and__5023__auto____$1){\nreturn devtools.munging.cljs_fn_QMARK_(value);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.has_formatting_protocol_QMARK_ \x3d (function devtools$formatters$helpers$has_formatting_protocol_QMARK_(value){\nvar or__5025__auto__ \x3d (function (){try{if((!((value \x3d\x3d null)))){\nif((((value.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$IPrintWithWriter$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,value);\n}\n}catch (e29825){var _e__29009__auto__ \x3d e29825;\nreturn false;\n}})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e29827){var _e__29009__auto__ \x3d e29827;\nreturn false;\n}})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\ntry{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e29831){var _e__29009__auto__ \x3d e29831;\nreturn false;\n}}\n}\n});\ndevtools.formatters.helpers.cljs_type_QMARK_ \x3d (function devtools$formatters$helpers$cljs_type_QMARK_(f){\nvar and__5023__auto__ \x3d goog.isObject(f);\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (!(devtools.formatters.helpers.is_prototype_QMARK_(f)));\nif(and__5023__auto____$1){\nreturn f.cljs$lang$type;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.cljs_instance_QMARK_ \x3d (function devtools$formatters$helpers$cljs_instance_QMARK_(value){\nvar and__5023__auto__ \x3d goog.isObject(value);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.formatters.helpers.cljs_type_QMARK_(devtools.formatters.helpers.get_constructor(value));\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.cljs_land_value_QMARK_ \x3d (function devtools$formatters$helpers$cljs_land_value_QMARK_(value){\nvar or__5025__auto__ \x3d devtools.formatters.helpers.cljs_instance_QMARK_(value);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.has_formatting_protocol_QMARK_(value);\n}\n});\ndevtools.formatters.helpers.cljs_value_QMARK_ \x3d (function devtools$formatters$helpers$cljs_value_QMARK_(value){\nvar and__5023__auto__ \x3d (function (){var or__5025__auto__ \x3d devtools.formatters.helpers.cljs_land_value_QMARK_(value);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.cljs_function_QMARK_(value);\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((!(devtools.formatters.helpers.is_prototype_QMARK_(value)))) \x26\x26 ((!(devtools.formatters.helpers.is_js_symbol_QMARK_(value)))));\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.bool_QMARK_ \x3d (function devtools$formatters$helpers$bool_QMARK_(value){\nreturn ((value \x3d\x3d\x3d true) || (value \x3d\x3d\x3d false));\n});\ndevtools.formatters.helpers.instance_of_a_well_known_type_QMARK_ \x3d (function devtools$formatters$helpers$instance_of_a_well_known_type_QMARK_(value){\nvar well_known_types \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22well-known-types\x22,\x22well-known-types\x22,70638649));\nvar constructor_fn \x3d devtools.formatters.helpers.get_constructor(value);\nvar vec__29853 \x3d devtools.munging.parse_constructor_info(constructor_fn);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29853,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29853,(1),null);\nvar fully_qualified_type_name \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(\x27\x27);\nreturn cljs.core.contains_QMARK_(well_known_types,fully_qualified_type_name);\n});\ndevtools.formatters.helpers.should_render_instance_QMARK_ \x3d (function devtools$formatters$helpers$should_render_instance_QMARK_(value){\nvar and__5023__auto__ \x3d devtools.formatters.helpers.cljs_instance_QMARK_(value);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(devtools.formatters.helpers.instance_of_a_well_known_type_QMARK_(value)));\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.directly_printable_QMARK_ \x3d (function devtools$formatters$helpers$directly_printable_QMARK_(value){\nreturn ((typeof value \x3d\x3d\x3d \x27string\x27) || (((typeof value \x3d\x3d\x3d \x27number\x27) || (devtools.formatters.helpers.bool_QMARK_(value)))));\n});\ndevtools.formatters.helpers.abbreviated_QMARK_ \x3d (function devtools$formatters$helpers$abbreviated_QMARK_(template){\nreturn cljs.core.some((function (p1__29865_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935)),p1__29865_SHARP_);\n}),template);\n});\ndevtools.formatters.helpers.abbreviate_long_string \x3d (function devtools$formatters$helpers$abbreviate_long_string(string,marker,prefix_limit,postfix_limit){\nvar prefix \x3d string.slice((0),prefix_limit);\nvar postfix \x3d string.slice((string.length - postfix_limit));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),cljs.core.str.cljs$core$IFn$_invoke$arity$1(marker),cljs.core.str.cljs$core$IFn$_invoke$arity$1(postfix)].join(\x27\x27);\n});\ndevtools.formatters.helpers.get_more_marker \x3d (function devtools$formatters$helpers$get_more_marker(more_count){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22plus-symbol\x22,\x22plus-symbol\x22,-1984915189))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(more_count),cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242)))].join(\x27\x27);\n});\ndevtools.formatters.helpers.wrap_arity \x3d (function devtools$formatters$helpers$wrap_arity(arity){\nvar args_open_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22args-open-symbol\x22,\x22args-open-symbol\x22,-1336957557));\nvar args_close_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22args-close-symbol\x22,\x22args-close-symbol\x22,777697973));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(args_open_symbol),cljs.core.str.cljs$core$IFn$_invoke$arity$1(arity),cljs.core.str.cljs$core$IFn$_invoke$arity$1(args_close_symbol)].join(\x27\x27);\n});\ndevtools.formatters.helpers.fetch_field_value \x3d (function devtools$formatters$helpers$fetch_field_value(obj,field){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [field,(obj[cljs.core.munge(field)])], null);\n});\ndevtools.formatters.helpers.fetch_fields_values \x3d (function devtools$formatters$helpers$fetch_fields_values(obj,fields){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.fetch_field_value,obj),fields);\n});\ndevtools.formatters.helpers.expandable_QMARK_ \x3d (function devtools$formatters$helpers$expandable_QMARK_(obj){\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$ISeqable$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,obj))){\nvar temp__5802__auto__ \x3d devtools.formatters.helpers.pref(((devtools.formatters.helpers.instance_of_a_well_known_type_QMARK_(obj))?new cljs.core.Keyword(null,\x22min-expandable-sequable-count-for-well-known-types\x22,\x22min-expandable-sequable-count-for-well-known-types\x22,-1879576081):new cljs.core.Keyword(null,\x22min-expandable-sequable-count\x22,\x22min-expandable-sequable-count\x22,63566227)));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar min_count \x3d temp__5802__auto__;\nif((!(cljs.core.empty_QMARK_(obj)))){\nvar actual_count \x3d cljs.core.bounded_count(min_count,obj);\nreturn (actual_count \x3e\x3d min_count);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.helpers.should_render_QMARK_ \x3d (function devtools$formatters$helpers$should_render_QMARK_(pref_key,value,default_check){\nvar temp__5802__auto__ \x3d devtools.formatters.helpers.pref(pref_key);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar render_pref \x3d temp__5802__auto__;\nif(render_pref \x3d\x3d\x3d true){\nreturn (default_check.cljs$core$IFn$_invoke$arity$1 ? default_check.cljs$core$IFn$_invoke$arity$1(value) : default_check.call(null,value));\n} else {\nif(cljs.core.fn_QMARK_(render_pref)){\nreturn (render_pref.cljs$core$IFn$_invoke$arity$1 ? render_pref.cljs$core$IFn$_invoke$arity$1(value) : render_pref.call(null,value));\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.state.js", true, "goog.provide(\x27devtools.formatters.state\x27);\ndevtools.formatters.state._STAR_current_state_STAR_ \x3d null;\ndevtools.formatters.state.valid_current_state_QMARK_ \x3d (function devtools$formatters$state$valid_current_state_QMARK_(){\nreturn (!((devtools.formatters.state._STAR_current_state_STAR_ \x3d\x3d null)));\n});\ndevtools.formatters.state.get_default_state \x3d (function devtools$formatters$state$get_default_state(){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n});\ndevtools.formatters.state.get_current_state \x3d (function devtools$formatters$state$get_current_state(){\nif(devtools.formatters.state.valid_current_state_QMARK_()){\n} else {\nthrow (new Error(\x22Assert failed: (valid-current-state?)\x22));\n}\n\nreturn devtools.formatters.state._STAR_current_state_STAR_;\n});\ndevtools.formatters.state.update_current_state_BANG_ \x3d (function devtools$formatters$state$update_current_state_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29642 \x3d arguments.length;\nvar i__5750__auto___29643 \x3d (0);\nwhile(true){\nif((i__5750__auto___29643 \x3c len__5749__auto___29642)){\nargs__5755__auto__.push((arguments[i__5750__auto___29643]));\n\nvar G__29644 \x3d (i__5750__auto___29643 + (1));\ni__5750__auto___29643 \x3d G__29644;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nif(devtools.formatters.state.valid_current_state_QMARK_()){\n} else {\nthrow (new Error(\x22Assert failed: (valid-current-state?)\x22));\n}\n\nreturn (devtools.formatters.state._STAR_current_state_STAR_ \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,devtools.formatters.state._STAR_current_state_STAR_,args));\n}));\n\n(devtools.formatters.state.update_current_state_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.state.update_current_state_BANG_.cljs$lang$applyTo \x3d (function (seq29457){\nvar G__29458 \x3d cljs.core.first(seq29457);\nvar seq29457__$1 \x3d cljs.core.next(seq29457);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29458,seq29457__$1);\n}));\n\ndevtools.formatters.state.push_object_to_current_history_BANG_ \x3d (function devtools$formatters$state$push_object_to_current_history_BANG_(object){\nreturn devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220),cljs.core.conj,object], 0));\n});\ndevtools.formatters.state.get_current_history \x3d (function devtools$formatters$state$get_current_history(){\nreturn new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.is_circular_QMARK_ \x3d (function devtools$formatters$state$is_circular_QMARK_(object){\nvar history__$1 \x3d devtools.formatters.state.get_current_history();\nreturn cljs.core.some((function (p1__29476_SHARP_){\nreturn (p1__29476_SHARP_ \x3d\x3d\x3d object);\n}),history__$1);\n});\ndevtools.formatters.state.get_last_object_from_current_history \x3d (function devtools$formatters$state$get_last_object_from_current_history(){\nreturn cljs.core.first(devtools.formatters.state.get_current_history());\n});\ndevtools.formatters.state.get_second_last_object_from_current_history \x3d (function devtools$formatters$state$get_second_last_object_from_current_history(){\nreturn cljs.core.second(devtools.formatters.state.get_current_history());\n});\ndevtools.formatters.state.present_path_segment \x3d (function devtools$formatters$state$present_path_segment(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29678 \x3d arguments.length;\nvar i__5750__auto___29679 \x3d (0);\nwhile(true){\nif((i__5750__auto___29679 \x3c len__5749__auto___29678)){\nargs__5755__auto__.push((arguments[i__5750__auto___29679]));\n\nvar G__29680 \x3d (i__5750__auto___29679 + (1));\ni__5750__auto___29679 \x3d G__29680;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.state.present_path_segment.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.state.present_path_segment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (v,p__29503){\nvar vec__29508 \x3d p__29503;\nvar starting_index \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29508,(0),null);\nif(typeof v \x3d\x3d\x3d \x27string\x27){\nreturn v;\n} else {\nif((v instanceof cljs.core.Keyword)){\nreturn v;\n} else {\nif(((typeof v \x3d\x3d\x3d \x27number\x27) \x26\x26 (typeof starting_index \x3d\x3d\x3d \x27number\x27))){\nreturn (v + starting_index);\n} else {\nif(typeof v \x3d\x3d\x3d \x27number\x27){\nreturn v;\n} else {\nreturn \x22?\x22;\n\n}\n}\n}\n}\n}));\n\n(devtools.formatters.state.present_path_segment.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.state.present_path_segment.cljs$lang$applyTo \x3d (function (seq29494){\nvar G__29495 \x3d cljs.core.first(seq29494);\nvar seq29494__$1 \x3d cljs.core.next(seq29494);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29495,seq29494__$1);\n}));\n\ndevtools.formatters.state.seek_path_segment \x3d (function devtools$formatters$state$seek_path_segment(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29684 \x3d arguments.length;\nvar i__5750__auto___29685 \x3d (0);\nwhile(true){\nif((i__5750__auto___29685 \x3c len__5749__auto___29684)){\nargs__5755__auto__.push((arguments[i__5750__auto___29685]));\n\nvar G__29686 \x3d (i__5750__auto___29685 + (1));\ni__5750__auto___29685 \x3d G__29686;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.state.seek_path_segment.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.state.seek_path_segment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,val,p__29532){\nvar vec__29533 \x3d p__29532;\nvar seq_SINGLEQUOTE_d_map_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29533,(0),null);\nvar starting_index \x3d new cljs.core.Keyword(null,\x22index\x22,\x22index\x22,-1531685915).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(devtools.formatters.state.get_last_object_from_current_history()));\nvar _STAR_ \x3d (function (p__29541){\nvar vec__29542 \x3d p__29541;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29542,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29542,(1),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d seq_SINGLEQUOTE_d_map_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (k \x3d\x3d\x3d val);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn devtools.formatters.state.present_path_segment(k);\n} else {\nif((v \x3d\x3d\x3d val)){\nreturn devtools.formatters.state.present_path_segment.cljs$core$IFn$_invoke$arity$variadic(k,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([starting_index], 0));\n} else {\nreturn null;\n}\n}\n});\nreturn cljs.core.some(_STAR_,coll);\n}));\n\n(devtools.formatters.state.seek_path_segment.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.state.seek_path_segment.cljs$lang$applyTo \x3d (function (seq29524){\nvar G__29525 \x3d cljs.core.first(seq29524);\nvar seq29524__$1 \x3d cljs.core.next(seq29524);\nvar G__29526 \x3d cljs.core.first(seq29524__$1);\nvar seq29524__$2 \x3d cljs.core.next(seq29524__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29525,G__29526,seq29524__$2);\n}));\n\ndevtools.formatters.state.build_path_segment \x3d (function devtools$formatters$state$build_path_segment(parent_object,object){\nif(cljs.core.map_QMARK_(parent_object)){\nreturn devtools.formatters.state.seek_path_segment.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(parent_object),object,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([true], 0));\n} else {\nif(cljs.core.sequential_QMARK_(parent_object)){\nreturn devtools.formatters.state.seek_path_segment(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (i,x){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [i,x], null);\n}),parent_object),object);\n} else {\nif(((cljs.core.set_QMARK_(parent_object)) \x26\x26 (((cljs.core.contains_QMARK_(parent_object,object)) \x26\x26 (((typeof object \x3d\x3d\x3d \x27string\x27) || ((((object instanceof cljs.core.Keyword)) || (cljs.core.integer_QMARK_(object)))))))))){\nreturn object;\n} else {\nif(((cljs.core.set_QMARK_(parent_object)) \x26\x26 (cljs.core.contains_QMARK_(parent_object,object)))){\nreturn devtools.formatters.state.seek_path_segment(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (i,x){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [i,x], null);\n}),parent_object),object);\n} else {\nreturn null;\n}\n}\n}\n}\n});\ndevtools.formatters.state.mapping_QMARK_ \x3d (function devtools$formatters$state$mapping_QMARK_(history,obj){\nvar first_kw \x3d ((((cljs.core.vector_QMARK_(obj)) \x26\x26 (cljs.core.map_QMARK_(history))))?cljs.core.nth.cljs$core$IFn$_invoke$arity$3(obj,(0),null):null);\nvar valid_kw_QMARK_ \x3d (function (){var and__5023__auto__ \x3d first_kw;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((((first_kw instanceof cljs.core.Keyword)) || (((typeof first_kw \x3d\x3d\x3d \x27string\x27) || (typeof first_kw \x3d\x3d\x3d \x27number\x27))))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(obj),(2))));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(valid_kw_QMARK_)){\nreturn cljs.core.contains_QMARK_(history,first_kw);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.state.ignore_path_in_fake_vector \x3d (function devtools$formatters$state$ignore_path_in_fake_vector(history,obj,path){\nif(cljs.core.truth_(devtools.formatters.state.mapping_QMARK_(history,obj))){\nvar or__5025__auto__ \x3d path;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.state.find_path_in_fake_vector \x3d (function devtools$formatters$state$find_path_in_fake_vector(history,path){\nvar second_last_history \x3d devtools.formatters.state.get_second_last_object_from_current_history();\nif(cljs.core.truth_(devtools.formatters.state.mapping_QMARK_(second_last_history,history))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d path;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.nth.cljs$core$IFn$_invoke$arity$3(history,(0),null));\n} else {\nreturn null;\n}\n});\ndevtools.formatters.state.find_path \x3d (function devtools$formatters$state$find_path(history,obj,path){\nvar path_segment \x3d devtools.formatters.state.build_path_segment(history,obj);\nif((!((path_segment \x3d\x3d null)))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d path;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),path_segment);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.state.extend_path_info \x3d (function devtools$formatters$state$extend_path_info(path_info,object){\nvar parent_object \x3d devtools.formatters.state.get_last_object_from_current_history();\nvar or__5025__auto__ \x3d devtools.formatters.state.ignore_path_in_fake_vector(parent_object,object,path_info);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d devtools.formatters.state.find_path_in_fake_vector(parent_object,path_info);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d devtools.formatters.state.find_path(parent_object,object,path_info);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn path_info;\n}\n}\n}\n});\ndevtools.formatters.state.add_object_to_current_path_info_BANG_ \x3d (function devtools$formatters$state$add_object_to_current_path_info_BANG_(object){\nreturn devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22path-info\x22,\x22path-info\x22,-1932254250),devtools.formatters.state.extend_path_info,object], 0));\n});\ndevtools.formatters.state.get_current_path_info \x3d (function devtools$formatters$state$get_current_path_info(){\nreturn new cljs.core.Keyword(null,\x22path-info\x22,\x22path-info\x22,-1932254250).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.prevent_recursion_QMARK_ \x3d (function devtools$formatters$state$prevent_recursion_QMARK_(){\nreturn cljs.core.boolean$(new cljs.core.Keyword(null,\x22prevent-recursion\x22,\x22prevent-recursion\x22,-1498371606).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state()));\n});\ndevtools.formatters.state.set_prevent_recursion \x3d (function devtools$formatters$state$set_prevent_recursion(state,val){\nif((!((val \x3d\x3d null)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22prevent-recursion\x22,\x22prevent-recursion\x22,-1498371606),val);\n} else {\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.Keyword(null,\x22prevent-recursion\x22,\x22prevent-recursion\x22,-1498371606));\n}\n});\ndevtools.formatters.state.get_managed_print_level \x3d (function devtools$formatters$state$get_managed_print_level(){\nreturn new cljs.core.Keyword(null,\x22managed-print-level\x22,\x22managed-print-level\x22,-844058473).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.set_managed_print_level \x3d (function devtools$formatters$state$set_managed_print_level(state,val){\nif((!((val \x3d\x3d null)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22managed-print-level\x22,\x22managed-print-level\x22,-844058473),val);\n} else {\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.Keyword(null,\x22managed-print-level\x22,\x22managed-print-level\x22,-844058473));\n}\n});\ndevtools.formatters.state.get_depth_budget \x3d (function devtools$formatters$state$get_depth_budget(){\nreturn new cljs.core.Keyword(null,\x22depth-budget\x22,\x22depth-budget\x22,-335905888).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.set_depth_budget \x3d (function devtools$formatters$state$set_depth_budget(state,val){\nif((!((val \x3d\x3d null)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22depth-budget\x22,\x22depth-budget\x22,-335905888),val);\n} else {\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.Keyword(null,\x22depth-budget\x22,\x22depth-budget\x22,-335905888));\n}\n});\ndevtools.formatters.state.reset_depth_limits \x3d (function devtools$formatters$state$reset_depth_limits(state){\nreturn devtools.formatters.state.set_managed_print_level(devtools.formatters.state.set_depth_budget(state,null),null);\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.templating.js", true, "goog.provide(\x27devtools.formatters.templating\x27);\ndevtools.formatters.templating.mark_as_group_BANG_ \x3d (function devtools$formatters$templating$mark_as_group_BANG_(value){\nvar x31204_31416 \x3d value;\n(x31204_31416.devtools$protocols$IGroup$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n\nreturn value;\n});\ndevtools.formatters.templating.group_QMARK_ \x3d (function devtools$formatters$templating$group_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IGroup$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IGroup,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IGroup,value);\n}\n});\ndevtools.formatters.templating.mark_as_template_BANG_ \x3d (function devtools$formatters$templating$mark_as_template_BANG_(value){\nvar x31211_31419 \x3d value;\n(x31211_31419.devtools$protocols$ITemplate$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n\nreturn value;\n});\ndevtools.formatters.templating.template_QMARK_ \x3d (function devtools$formatters$templating$template_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$ITemplate$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ITemplate,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ITemplate,value);\n}\n});\ndevtools.formatters.templating.mark_as_surrogate_BANG_ \x3d (function devtools$formatters$templating$mark_as_surrogate_BANG_(value){\nvar x31223_31424 \x3d value;\n(x31223_31424.devtools$protocols$ISurrogate$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n\nreturn value;\n});\ndevtools.formatters.templating.surrogate_QMARK_ \x3d (function devtools$formatters$templating$surrogate_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$ISurrogate$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ISurrogate,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ISurrogate,value);\n}\n});\ndevtools.formatters.templating.reference_QMARK_ \x3d (function devtools$formatters$templating$reference_QMARK_(value){\nreturn ((devtools.formatters.templating.group_QMARK_(value)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((value[(0)]),\x22object\x22)));\n});\ndevtools.formatters.templating.make_group \x3d (function devtools$formatters$templating$make_group(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31426 \x3d arguments.length;\nvar i__5750__auto___31427 \x3d (0);\nwhile(true){\nif((i__5750__auto___31427 \x3c len__5749__auto___31426)){\nargs__5755__auto__.push((arguments[i__5750__auto___31427]));\n\nvar G__31428 \x3d (i__5750__auto___31427 + (1));\ni__5750__auto___31427 \x3d G__31428;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic \x3d (function (items){\nvar group \x3d devtools.formatters.templating.mark_as_group_BANG_([]);\nvar seq__31249_31429 \x3d cljs.core.seq(items);\nvar chunk__31250_31430 \x3d null;\nvar count__31251_31431 \x3d (0);\nvar i__31252_31432 \x3d (0);\nwhile(true){\nif((i__31252_31432 \x3c count__31251_31431)){\nvar item_31433 \x3d chunk__31250_31430.cljs$core$IIndexed$_nth$arity$2(null,i__31252_31432);\nif((!((item_31433 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(item_31433)){\n(group[\x22push\x22]).apply(group,devtools.formatters.templating.mark_as_group_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(item_31433)));\n} else {\ngroup.push(devtools.formatters.helpers.pref(item_31433));\n}\n} else {\n}\n\n\nvar G__31435 \x3d seq__31249_31429;\nvar G__31436 \x3d chunk__31250_31430;\nvar G__31437 \x3d count__31251_31431;\nvar G__31438 \x3d (i__31252_31432 + (1));\nseq__31249_31429 \x3d G__31435;\nchunk__31250_31430 \x3d G__31436;\ncount__31251_31431 \x3d G__31437;\ni__31252_31432 \x3d G__31438;\ncontinue;\n} else {\nvar temp__5804__auto___31440 \x3d cljs.core.seq(seq__31249_31429);\nif(temp__5804__auto___31440){\nvar seq__31249_31442__$1 \x3d temp__5804__auto___31440;\nif(cljs.core.chunked_seq_QMARK_(seq__31249_31442__$1)){\nvar c__5548__auto___31444 \x3d cljs.core.chunk_first(seq__31249_31442__$1);\nvar G__31445 \x3d cljs.core.chunk_rest(seq__31249_31442__$1);\nvar G__31446 \x3d c__5548__auto___31444;\nvar G__31447 \x3d cljs.core.count(c__5548__auto___31444);\nvar G__31448 \x3d (0);\nseq__31249_31429 \x3d G__31445;\nchunk__31250_31430 \x3d G__31446;\ncount__31251_31431 \x3d G__31447;\ni__31252_31432 \x3d G__31448;\ncontinue;\n} else {\nvar item_31449 \x3d cljs.core.first(seq__31249_31442__$1);\nif((!((item_31449 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(item_31449)){\n(group[\x22push\x22]).apply(group,devtools.formatters.templating.mark_as_group_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(item_31449)));\n} else {\ngroup.push(devtools.formatters.helpers.pref(item_31449));\n}\n} else {\n}\n\n\nvar G__31450 \x3d cljs.core.next(seq__31249_31442__$1);\nvar G__31451 \x3d null;\nvar G__31452 \x3d (0);\nvar G__31453 \x3d (0);\nseq__31249_31429 \x3d G__31450;\nchunk__31250_31430 \x3d G__31451;\ncount__31251_31431 \x3d G__31452;\ni__31252_31432 \x3d G__31453;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn group;\n}));\n\n(devtools.formatters.templating.make_group.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.templating.make_group.cljs$lang$applyTo \x3d (function (seq31234){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31234));\n}));\n\ndevtools.formatters.templating.make_template \x3d (function devtools$formatters$templating$make_template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31454 \x3d arguments.length;\nvar i__5750__auto___31455 \x3d (0);\nwhile(true){\nif((i__5750__auto___31455 \x3c len__5749__auto___31454)){\nargs__5755__auto__.push((arguments[i__5750__auto___31455]));\n\nvar G__31458 \x3d (i__5750__auto___31455 + (1));\ni__5750__auto___31455 \x3d G__31458;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tag,style,children){\nvar tag__$1 \x3d devtools.formatters.helpers.pref(tag);\nvar style__$1 \x3d devtools.formatters.helpers.pref(style);\nvar template \x3d devtools.formatters.templating.mark_as_template_BANG_([tag__$1,((cljs.core.empty_QMARK_(style__$1))?({}):({\x22style\x22: style__$1}))]);\nvar seq__31269_31466 \x3d cljs.core.seq(children);\nvar chunk__31270_31467 \x3d null;\nvar count__31271_31468 \x3d (0);\nvar i__31272_31469 \x3d (0);\nwhile(true){\nif((i__31272_31469 \x3c count__31271_31468)){\nvar child_31471 \x3d chunk__31270_31467.cljs$core$IIndexed$_nth$arity$2(null,i__31272_31469);\nif((!((child_31471 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(child_31471)){\n(template[\x22push\x22]).apply(template,devtools.formatters.templating.mark_as_template_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,child_31471))));\n} else {\nvar temp__5802__auto___31485 \x3d devtools.formatters.helpers.pref(child_31471);\nif(cljs.core.truth_(temp__5802__auto___31485)){\nvar child_value_31486 \x3d temp__5802__auto___31485;\ntemplate.push(child_value_31486);\n} else {\n}\n}\n} else {\n}\n\n\nvar G__31491 \x3d seq__31269_31466;\nvar G__31492 \x3d chunk__31270_31467;\nvar G__31493 \x3d count__31271_31468;\nvar G__31494 \x3d (i__31272_31469 + (1));\nseq__31269_31466 \x3d G__31491;\nchunk__31270_31467 \x3d G__31492;\ncount__31271_31468 \x3d G__31493;\ni__31272_31469 \x3d G__31494;\ncontinue;\n} else {\nvar temp__5804__auto___31499 \x3d cljs.core.seq(seq__31269_31466);\nif(temp__5804__auto___31499){\nvar seq__31269_31501__$1 \x3d temp__5804__auto___31499;\nif(cljs.core.chunked_seq_QMARK_(seq__31269_31501__$1)){\nvar c__5548__auto___31503 \x3d cljs.core.chunk_first(seq__31269_31501__$1);\nvar G__31504 \x3d cljs.core.chunk_rest(seq__31269_31501__$1);\nvar G__31505 \x3d c__5548__auto___31503;\nvar G__31506 \x3d cljs.core.count(c__5548__auto___31503);\nvar G__31507 \x3d (0);\nseq__31269_31466 \x3d G__31504;\nchunk__31270_31467 \x3d G__31505;\ncount__31271_31468 \x3d G__31506;\ni__31272_31469 \x3d G__31507;\ncontinue;\n} else {\nvar child_31508 \x3d cljs.core.first(seq__31269_31501__$1);\nif((!((child_31508 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(child_31508)){\n(template[\x22push\x22]).apply(template,devtools.formatters.templating.mark_as_template_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,child_31508))));\n} else {\nvar temp__5802__auto___31510 \x3d devtools.formatters.helpers.pref(child_31508);\nif(cljs.core.truth_(temp__5802__auto___31510)){\nvar child_value_31512 \x3d temp__5802__auto___31510;\ntemplate.push(child_value_31512);\n} else {\n}\n}\n} else {\n}\n\n\nvar G__31513 \x3d cljs.core.next(seq__31269_31501__$1);\nvar G__31514 \x3d null;\nvar G__31515 \x3d (0);\nvar G__31516 \x3d (0);\nseq__31269_31466 \x3d G__31513;\nchunk__31270_31467 \x3d G__31514;\ncount__31271_31468 \x3d G__31515;\ni__31272_31469 \x3d G__31516;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn template;\n}));\n\n(devtools.formatters.templating.make_template.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.templating.make_template.cljs$lang$applyTo \x3d (function (seq31263){\nvar G__31264 \x3d cljs.core.first(seq31263);\nvar seq31263__$1 \x3d cljs.core.next(seq31263);\nvar G__31265 \x3d cljs.core.first(seq31263__$1);\nvar seq31263__$2 \x3d cljs.core.next(seq31263__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31264,G__31265,seq31263__$2);\n}));\n\ndevtools.formatters.templating.concat_templates_BANG_ \x3d (function devtools$formatters$templating$concat_templates_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31517 \x3d arguments.length;\nvar i__5750__auto___31518 \x3d (0);\nwhile(true){\nif((i__5750__auto___31518 \x3c len__5749__auto___31517)){\nargs__5755__auto__.push((arguments[i__5750__auto___31518]));\n\nvar G__31519 \x3d (i__5750__auto___31518 + (1));\ni__5750__auto___31518 \x3d G__31519;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (template,templates){\nreturn devtools.formatters.templating.mark_as_template_BANG_((template[\x22concat\x22]).apply(template,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.into_array,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,templates)))));\n}));\n\n(devtools.formatters.templating.concat_templates_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.templating.concat_templates_BANG_.cljs$lang$applyTo \x3d (function (seq31285){\nvar G__31286 \x3d cljs.core.first(seq31285);\nvar seq31285__$1 \x3d cljs.core.next(seq31285);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31286,seq31285__$1);\n}));\n\ndevtools.formatters.templating.extend_template_BANG_ \x3d (function devtools$formatters$templating$extend_template_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31525 \x3d arguments.length;\nvar i__5750__auto___31526 \x3d (0);\nwhile(true){\nif((i__5750__auto___31526 \x3c len__5749__auto___31525)){\nargs__5755__auto__.push((arguments[i__5750__auto___31526]));\n\nvar G__31527 \x3d (i__5750__auto___31526 + (1));\ni__5750__auto___31526 \x3d G__31527;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.templating.extend_template_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.extend_template_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (template,args){\nreturn devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic(template,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));\n}));\n\n(devtools.formatters.templating.extend_template_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.templating.extend_template_BANG_.cljs$lang$applyTo \x3d (function (seq31292){\nvar G__31293 \x3d cljs.core.first(seq31292);\nvar seq31292__$1 \x3d cljs.core.next(seq31292);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31293,seq31292__$1);\n}));\n\ndevtools.formatters.templating.make_surrogate \x3d (function devtools$formatters$templating$make_surrogate(var_args){\nvar G__31302 \x3d arguments.length;\nswitch (G__31302) {\ncase 1:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$1 \x3d (function (object){\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2(object,null);\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2 \x3d (function (object,header){\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3(object,header,null);\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3 \x3d (function (object,header,body){\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4(object,header,body,(0));\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4 \x3d (function (object,header,body,start_index){\nreturn devtools.formatters.templating.mark_as_surrogate_BANG_((function (){var obj31305 \x3d ({\x22target\x22:object,\x22header\x22:header,\x22body\x22:body,\x22startIndex\x22:(function (){var or__5025__auto__ \x3d start_index;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})()});\nreturn obj31305;\n})());\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$lang$maxFixedArity \x3d 4);\n\ndevtools.formatters.templating.get_surrogate_target \x3d (function devtools$formatters$templating$get_surrogate_target(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22target\x22]);\n});\ndevtools.formatters.templating.get_surrogate_header \x3d (function devtools$formatters$templating$get_surrogate_header(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22header\x22]);\n});\ndevtools.formatters.templating.get_surrogate_body \x3d (function devtools$formatters$templating$get_surrogate_body(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22body\x22]);\n});\ndevtools.formatters.templating.get_surrogate_start_index \x3d (function devtools$formatters$templating$get_surrogate_start_index(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22startIndex\x22]);\n});\ndevtools.formatters.templating.make_reference \x3d (function devtools$formatters$templating$make_reference(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31557 \x3d arguments.length;\nvar i__5750__auto___31559 \x3d (0);\nwhile(true){\nif((i__5750__auto___31559 \x3c len__5749__auto___31557)){\nargs__5755__auto__.push((arguments[i__5750__auto___31559]));\n\nvar G__31560 \x3d (i__5750__auto___31559 + (1));\ni__5750__auto___31559 \x3d G__31560;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.templating.make_reference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.make_reference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,p__31312){\nvar vec__31313 \x3d p__31312;\nvar state_override_fn \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31313,(0),null);\nif((((state_override_fn \x3d\x3d null)) || (cljs.core.fn_QMARK_(state_override_fn)))){\n} else {\nthrow (new Error(\x22Assert failed: (or (nil? state-override-fn) (fn? state-override-fn))\x22));\n}\n\nif((object \x3d\x3d null)){\nreturn devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22nil-style\x22,\x22nil-style\x22,-1505044832),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22nil-label\x22,\x22nil-label\x22,-587789203)], 0));\n} else {\nvar sub_state \x3d (((!((state_override_fn \x3d\x3d null))))?(function (){var G__31320 \x3d devtools.formatters.state.get_current_state();\nreturn (state_override_fn.cljs$core$IFn$_invoke$arity$1 ? state_override_fn.cljs$core$IFn$_invoke$arity$1(G__31320) : state_override_fn.call(null,G__31320));\n})():devtools.formatters.state.get_current_state());\nreturn devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22object\x22,({\x22object\x22: object, \x22config\x22: sub_state})], 0));\n}\n}));\n\n(devtools.formatters.templating.make_reference.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.templating.make_reference.cljs$lang$applyTo \x3d (function (seq31308){\nvar G__31309 \x3d cljs.core.first(seq31308);\nvar seq31308__$1 \x3d cljs.core.next(seq31308);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31309,seq31308__$1);\n}));\n\ndevtools.formatters.templating.make_annotation \x3d (function devtools$formatters$templating$make_annotation(data,markups){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.templating.make_group,\x22annotation\x22,cljs.core.clj__GT_js(data),markups);\n});\ndevtools.formatters.templating._STAR_current_render_stack_STAR_ \x3d cljs.core.PersistentVector.EMPTY;\ndevtools.formatters.templating._STAR_current_render_path_STAR_ \x3d cljs.core.PersistentVector.EMPTY;\ndevtools.formatters.templating.print_preview \x3d (function devtools$formatters$templating$print_preview(markup){\nvar _STAR_print_level_STAR__orig_val__31325 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__31326 \x3d (1);\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__31326);\n\ntry{return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([markup], 0));\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__31325);\n}});\ndevtools.formatters.templating.add_stack_separators \x3d (function devtools$formatters$templating$add_stack_separators(stack){\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22-------------\x22,stack);\n});\ndevtools.formatters.templating.replace_fns_with_markers \x3d (function devtools$formatters$templating$replace_fns_with_markers(stack){\nvar f \x3d (function (v){\nif(cljs.core.fn_QMARK_(v)){\nreturn \x22##fn##\x22;\n} else {\nreturn v;\n}\n});\nreturn clojure.walk.prewalk(f,stack);\n});\ndevtools.formatters.templating.pprint_render_calls \x3d (function devtools$formatters$templating$pprint_render_calls(stack){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.util.pprint_str,stack);\n});\ndevtools.formatters.templating.pprint_render_stack \x3d (function devtools$formatters$templating$pprint_render_stack(stack){\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,devtools.formatters.templating.add_stack_separators(devtools.formatters.templating.pprint_render_calls(devtools.formatters.templating.replace_fns_with_markers(cljs.core.reverse(stack)))));\n});\ndevtools.formatters.templating.pprint_render_path \x3d (function devtools$formatters$templating$pprint_render_path(path){\nreturn devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path], 0));\n});\ndevtools.formatters.templating.assert_markup_error \x3d (function devtools$formatters$templating$assert_markup_error(msg){\nthrow (new Error([\x22Assert failed: \x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg),\x22\\n\x22,\x22Render path: \x22,devtools.formatters.templating.pprint_render_path(devtools.formatters.templating._STAR_current_render_path_STAR_),\x22\\n\x22,\x22Render stack:\\n\x22,devtools.formatters.templating.pprint_render_stack(devtools.formatters.templating._STAR_current_render_stack_STAR_)].join(\x27\x27),\x22\\n\x22,\x22false\x22].join(\x27\x27)));\n\n});\ndevtools.formatters.templating.surrogate_markup_QMARK_ \x3d (function devtools$formatters$templating$surrogate_markup_QMARK_(markup){\nreturn ((cljs.core.sequential_QMARK_(markup)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(markup),\x22surrogate\x22)));\n});\ndevtools.formatters.templating.render_special \x3d (function devtools$formatters$templating$render_special(name,args){\nvar G__31351 \x3d name;\nswitch (G__31351) {\ncase \x22surrogate\x22:\nvar obj \x3d cljs.core.first(args);\nvar converted_args \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.render_json_ml_STAR_,cljs.core.rest(args));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.make_surrogate,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [obj], null),converted_args));\n\nbreak;\ncase \x22reference\x22:\nvar obj \x3d cljs.core.first(args);\nvar converted_obj \x3d ((devtools.formatters.templating.surrogate_markup_QMARK_(obj))?(devtools.formatters.templating.render_json_ml_STAR_.cljs$core$IFn$_invoke$arity$1 ? devtools.formatters.templating.render_json_ml_STAR_.cljs$core$IFn$_invoke$arity$1(obj) : devtools.formatters.templating.render_json_ml_STAR_.call(null,obj)):obj);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.make_reference,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [converted_obj], null),cljs.core.rest(args)));\n\nbreak;\ncase \x22annotation\x22:\nvar data \x3d cljs.core.first(args);\nvar converted_args \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.render_json_ml_STAR_,cljs.core.rest(args));\nreturn devtools.formatters.templating.make_annotation(data,converted_args);\n\nbreak;\ndefault:\nreturn devtools.formatters.templating.assert_markup_error([\x22no matching special tag name: \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27\x22].join(\x27\x27));\n\n}\n});\ndevtools.formatters.templating.emptyish_QMARK_ \x3d (function devtools$formatters$templating$emptyish_QMARK_(v){\nif(((cljs.core.seqable_QMARK_(v)) || (((cljs.core.array_QMARK_(v)) || (typeof v \x3d\x3d\x3d \x27string\x27))))){\nreturn cljs.core.empty_QMARK_(v);\n} else {\nreturn false;\n}\n});\ndevtools.formatters.templating.render_subtree \x3d (function devtools$formatters$templating$render_subtree(tag,children){\nvar vec__31368 \x3d tag;\nvar html_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31368,(0),null);\nvar style \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31368,(1),null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.templating.make_template,html_tag,style,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.render_json_ml_STAR_,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.emptyish_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,children))));\n});\ndevtools.formatters.templating.render_json_ml_STAR_ \x3d (function devtools$formatters$templating$render_json_ml_STAR_(markup){\nif((!(cljs.core.sequential_QMARK_(markup)))){\nreturn markup;\n} else {\nvar _STAR_current_render_path_STAR__orig_val__31379 \x3d devtools.formatters.templating._STAR_current_render_path_STAR_;\nvar _STAR_current_render_path_STAR__temp_val__31380 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating._STAR_current_render_path_STAR_,cljs.core.first(markup));\n(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__temp_val__31380);\n\ntry{var tag \x3d devtools.formatters.helpers.pref(cljs.core.first(markup));\nif(typeof tag \x3d\x3d\x3d \x27string\x27){\nreturn devtools.formatters.templating.render_special(tag,cljs.core.rest(markup));\n} else {\nif(cljs.core.sequential_QMARK_(tag)){\nreturn devtools.formatters.templating.render_subtree(tag,cljs.core.rest(markup));\n} else {\nreturn devtools.formatters.templating.assert_markup_error([\x22invalid json-ml markup at \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.templating.print_preview(markup)),\x22:\x22].join(\x27\x27));\n\n}\n}\n}finally {(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__orig_val__31379);\n}}\n});\ndevtools.formatters.templating.render_json_ml \x3d (function devtools$formatters$templating$render_json_ml(markup){\nvar _STAR_current_render_stack_STAR__orig_val__31392 \x3d devtools.formatters.templating._STAR_current_render_stack_STAR_;\nvar _STAR_current_render_path_STAR__orig_val__31393 \x3d devtools.formatters.templating._STAR_current_render_path_STAR_;\nvar _STAR_current_render_stack_STAR__temp_val__31394 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating._STAR_current_render_stack_STAR_,markup);\nvar _STAR_current_render_path_STAR__temp_val__31395 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating._STAR_current_render_path_STAR_,\x22\x3crender-json-ml\x3e\x22);\n(devtools.formatters.templating._STAR_current_render_stack_STAR_ \x3d _STAR_current_render_stack_STAR__temp_val__31394);\n\n(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__temp_val__31395);\n\ntry{return devtools.formatters.templating.render_json_ml_STAR_(markup);\n}finally {(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__orig_val__31393);\n\n(devtools.formatters.templating._STAR_current_render_stack_STAR_ \x3d _STAR_current_render_stack_STAR__orig_val__31392);\n}});\ndevtools.formatters.templating.assert_failed_markup_rendering \x3d (function devtools$formatters$templating$assert_failed_markup_rendering(initial_value,value){\nthrow (new Error([\x22Assert failed: \x22,[\x22result of markup rendering must be a template,\\n\x22,\x22resolved to \x22,devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0)),\x22initial value: \x22,devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([initial_value], 0))].join(\x27\x27),\x22\\n\x22,\x22false\x22].join(\x27\x27)));\n\n});\ndevtools.formatters.templating.render_markup_STAR_ \x3d (function devtools$formatters$templating$render_markup_STAR_(initial_value,value){\nwhile(true){\nif(cljs.core.fn_QMARK_(value)){\nvar G__31654 \x3d initial_value;\nvar G__31655 \x3d (value.cljs$core$IFn$_invoke$arity$0 ? value.cljs$core$IFn$_invoke$arity$0() : value.call(null));\ninitial_value \x3d G__31654;\nvalue \x3d G__31655;\ncontinue;\n} else {\nif((value instanceof cljs.core.Keyword)){\nvar G__31660 \x3d initial_value;\nvar G__31661 \x3d devtools.formatters.helpers.pref(value);\ninitial_value \x3d G__31660;\nvalue \x3d G__31661;\ncontinue;\n} else {\nif(cljs.core.sequential_QMARK_(value)){\nvar G__31662 \x3d initial_value;\nvar G__31663 \x3d devtools.formatters.templating.render_json_ml(value);\ninitial_value \x3d G__31662;\nvalue \x3d G__31663;\ncontinue;\n} else {\nif(devtools.formatters.templating.template_QMARK_(value)){\nreturn value;\n} else {\nif(devtools.formatters.templating.surrogate_QMARK_(value)){\nreturn value;\n} else {\nif(devtools.formatters.templating.reference_QMARK_(value)){\nreturn value;\n} else {\nreturn devtools.formatters.templating.assert_failed_markup_rendering.call(null,initial_value,value);\n\n}\n}\n}\n}\n}\n}\nbreak;\n}\n});\ndevtools.formatters.templating.render_markup \x3d (function devtools$formatters$templating$render_markup(value){\nreturn devtools.formatters.templating.render_markup_STAR_(value,value);\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.printing.js", true, "goog.provide(\x27devtools.formatters.printing\x27);\ndevtools.formatters.printing.markup_QMARK_ \x3d (function devtools$formatters$printing$markup_QMARK_(value){\nreturn new cljs.core.Keyword(\x22devtools.formatters.printing\x22,\x22markup\x22,\x22devtools.formatters.printing/markup\x22,-1990109186).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(value));\n});\ndevtools.formatters.printing.mark_as_markup \x3d (function devtools$formatters$printing$mark_as_markup(value){\nreturn cljs.core.with_meta(value,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22devtools.formatters.printing\x22,\x22markup\x22,\x22devtools.formatters.printing/markup\x22,-1990109186),true], null));\n});\ndevtools.formatters.printing.build_markup \x3d (function devtools$formatters$printing$build_markup(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29934 \x3d arguments.length;\nvar i__5750__auto___29935 \x3d (0);\nwhile(true){\nif((i__5750__auto___29935 \x3c len__5749__auto___29934)){\nargs__5755__auto__.push((arguments[i__5750__auto___29935]));\n\nvar G__29936 \x3d (i__5750__auto___29935 + (1));\ni__5750__auto___29935 \x3d G__29936;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic \x3d (function (markup_db,fn_key,args){\nvar f \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(markup_db,fn_key);\nif(cljs.core.truth_(f)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22missing markup method in markup-db: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_key)].join(\x27\x27),\x22\\n\x22,\x22f\x22].join(\x27\x27)));\n}\n\nreturn devtools.formatters.printing.mark_as_markup(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args));\n}));\n\n(devtools.formatters.printing.build_markup.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.printing.build_markup.cljs$lang$applyTo \x3d (function (seq29883){\nvar G__29884 \x3d cljs.core.first(seq29883);\nvar seq29883__$1 \x3d cljs.core.next(seq29883);\nvar G__29885 \x3d cljs.core.first(seq29883__$1);\nvar seq29883__$2 \x3d cljs.core.next(seq29883__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29884,G__29885,seq29883__$2);\n}));\n\ndevtools.formatters.printing.wrap_value_as_reference_if_needed \x3d (function devtools$formatters$printing$wrap_value_as_reference_if_needed(markup_db,value){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d devtools.formatters.helpers.directly_printable_QMARK_(value);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.printing.markup_QMARK_(value);\n}\n})())){\nreturn value;\n} else {\nreturn devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22reference-surrogate\x22,\x22reference-surrogate\x22,274031791),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0));\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\ndevtools.formatters.printing.TemplateWriter \x3d (function (group,markup_db){\nthis.group \x3d group;\nthis.markup_db \x3d markup_db;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(devtools.formatters.printing.TemplateWriter.prototype.merge \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.group \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(self__.group,a));\n}));\n\n(devtools.formatters.printing.TemplateWriter.prototype.get_group \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.group;\n}));\n\n(devtools.formatters.printing.TemplateWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,o){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.group \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(self__.group,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.printing.wrap_value_as_reference_if_needed(self__.markup_db,o)], null)));\n}));\n\n(devtools.formatters.printing.TemplateWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(devtools.formatters.printing.TemplateWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22group\x22,\x22group\x22,-2071839637,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22markup-db\x22,\x22markup-db\x22,-1841597035,null)], null);\n}));\n\n(devtools.formatters.printing.TemplateWriter.cljs$lang$type \x3d true);\n\n(devtools.formatters.printing.TemplateWriter.cljs$lang$ctorStr \x3d \x22devtools.formatters.printing/TemplateWriter\x22);\n\n(devtools.formatters.printing.TemplateWriter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22devtools.formatters.printing/TemplateWriter\x22);\n}));\n\n/**\n * Positional factory function for devtools.formatters.printing/TemplateWriter.\n */\ndevtools.formatters.printing.__GT_TemplateWriter \x3d (function devtools$formatters$printing$__GT_TemplateWriter(group,markup_db){\nreturn (new devtools.formatters.printing.TemplateWriter(group,markup_db));\n});\n\ndevtools.formatters.printing.make_template_writer \x3d (function devtools$formatters$printing$make_template_writer(markup_db){\nreturn (new devtools.formatters.printing.TemplateWriter(cljs.core.PersistentVector.EMPTY,markup_db));\n});\ndevtools.formatters.printing.already_reference_QMARK_ \x3d (function devtools$formatters$printing$already_reference_QMARK_(group){\nvar temp__5802__auto__ \x3d cljs.core.first(cljs.core.first(group));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar tag \x3d temp__5802__auto__;\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(tag,\x22reference\x22);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.printing.wrap_group_in_reference_if_needed \x3d (function devtools$formatters$printing$wrap_group_in_reference_if_needed(group,obj,markup_db){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(devtools.formatters.printing.already_reference_QMARK_(group));\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d devtools.formatters.helpers.expandable_QMARK_(obj);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.abbreviated_QMARK_(group);\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar expandable_markup \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.printing.build_markup,markup_db,new cljs.core.Keyword(null,\x22expandable\x22,\x22expandable\x22,-704609097),group);\nvar surrogate_markup \x3d devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22raw-surrogate\x22,\x22raw-surrogate\x22,904931181),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj,expandable_markup,new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721)], 0));\nvar reference_markup \x3d devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22reference\x22,\x22reference\x22,-1711695023),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([surrogate_markup], 0));\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [reference_markup], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.wrap_group_in_circular_warning_if_needed \x3d (function devtools$formatters$printing$wrap_group_in_circular_warning_if_needed(group,markup_db,circular_QMARK_){\nif(cljs.core.truth_(circular_QMARK_)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.printing.build_markup,markup_db,new cljs.core.Keyword(null,\x22circular-reference\x22,\x22circular-reference\x22,970308727),group)], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.wrap_group_in_meta_if_needed \x3d (function devtools$formatters$printing$wrap_group_in_meta_if_needed(group,value,markup_db){\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-metas\x22,\x22render-metas\x22,1141294116),value,(function (p1__29907_SHARP_){\nreturn (!((cljs.core.meta(p1__29907_SHARP_) \x3d\x3d null)));\n})))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22meta-wrapper\x22,\x22meta-wrapper\x22,-1989845587).cljs$core$IFn$_invoke$arity$1(markup_db),cljs.core.meta(value)),group)], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.detect_edge_case_and_patch_it \x3d (function devtools$formatters$printing$detect_edge_case_and_patch_it(group,obj,markup_db){\nif(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(5))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#object[\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(4)),\x22\\\x22]\x22)))))) || (((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(5))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#object[\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(4)),\x22]\x22)))))) || (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(3))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#object[\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(2)),\x22]\x22)))))))))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22native-reference\x22,\x22native-reference\x22,-2013708658),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(3))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#\x3c\x22)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(1)))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(2)),\x22\x3e\x22)))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),devtools.formatters.printing.build_markup(new cljs.core.Keyword(null,\x22native-reference\x22,\x22native-reference\x22,-2013708658),obj),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(2))], null);\n} else {\nreturn group;\n\n}\n}\n});\ndevtools.formatters.printing.wrap_group_with_path_annotation \x3d (function devtools$formatters$printing$wrap_group_with_path_annotation(group,path_info){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22render-path-annotations\x22,\x22render-path-annotations\x22,-1890931512));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!((path_info \x3d\x3d null)));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22annotation\x22,new cljs.core.PersistentArrayMap(null, 1, [\x22path\x22,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(path_info)], null)], null),group)], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.post_process_printed_output \x3d (function devtools$formatters$printing$post_process_printed_output(output_group,obj,markup_db,circular_QMARK_,path_info){\nreturn devtools.formatters.printing.wrap_group_with_path_annotation(devtools.formatters.printing.wrap_group_in_meta_if_needed(devtools.formatters.printing.wrap_group_in_circular_warning_if_needed(devtools.formatters.printing.wrap_group_in_reference_if_needed(devtools.formatters.printing.detect_edge_case_and_patch_it(output_group,obj,markup_db),obj,markup_db),markup_db,circular_QMARK_),obj,markup_db),path_info);\n});\ndevtools.formatters.printing.alt_printer_job \x3d (function devtools$formatters$printing$alt_printer_job(obj,writer,opts){\nvar map__29913 \x3d opts;\nvar map__29913__$1 \x3d cljs.core.__destructure_map(map__29913);\nvar markup_db \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29913__$1,new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734));\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d (function (){try{if((!((obj \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,obj);\n}\n}catch (e29914){var _e__29009__auto__ \x3d e29914;\nreturn false;\n}})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\ntry{if((!((obj \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,obj);\n}\n}catch (e29919){var _e__29009__auto__ \x3d e29919;\nreturn false;\n}}\n})())){\nreturn cljs.core._write(writer,devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22reference\x22,\x22reference\x22,-1711695023),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n} else {\nvar temp__5802__auto__ \x3d devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22atomic\x22,\x22atomic\x22,-120459460),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar atomic_markup \x3d temp__5802__auto__;\nreturn cljs.core._write(writer,atomic_markup);\n} else {\nvar default_impl \x3d new cljs.core.Keyword(null,\x22fallback-impl\x22,\x22fallback-impl\x22,-1501286995).cljs$core$IFn$_invoke$arity$1(opts);\nvar inner_opts \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._STAR_print_level_STAR_,(1)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),(0)):opts);\nreturn (default_impl.cljs$core$IFn$_invoke$arity$3 ? default_impl.cljs$core$IFn$_invoke$arity$3(obj,writer,inner_opts) : default_impl.call(null,obj,writer,inner_opts));\n}\n}\n});\ndevtools.formatters.printing.alt_printer_impl \x3d (function devtools$formatters$printing$alt_printer_impl(obj,writer,opts){\nvar _STAR_current_state_STAR__orig_val__29924 \x3d devtools.formatters.state._STAR_current_state_STAR_;\nvar _STAR_current_state_STAR__temp_val__29925 \x3d devtools.formatters.state.get_current_state();\n(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__temp_val__29925);\n\ntry{if(cljs.core.truth_(devtools.prefs.pref(new cljs.core.Keyword(null,\x22render-path-annotations\x22,\x22render-path-annotations\x22,-1890931512)))){\ndevtools.formatters.state.add_object_to_current_path_info_BANG_(obj);\n} else {\n}\n\nvar map__29926 \x3d opts;\nvar map__29926__$1 \x3d cljs.core.__destructure_map(map__29926);\nvar markup_db \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29926__$1,new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734));\nvar circular_QMARK_ \x3d devtools.formatters.state.is_circular_QMARK_(obj);\nvar inner_writer \x3d devtools.formatters.printing.make_template_writer(new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734).cljs$core$IFn$_invoke$arity$1(opts));\nvar path_info \x3d devtools.formatters.state.get_current_path_info();\ndevtools.formatters.state.push_object_to_current_history_BANG_(obj);\n\ndevtools.formatters.printing.alt_printer_job(obj,inner_writer,opts);\n\nreturn writer.merge(devtools.formatters.printing.post_process_printed_output(inner_writer.get_group(),obj,markup_db,circular_QMARK_,path_info));\n}finally {(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__orig_val__29924);\n}});\ndevtools.formatters.printing.managed_print \x3d (function devtools$formatters$printing$managed_print(tag,markup_db,printer){\nvar writer \x3d devtools.formatters.printing.make_template_writer(markup_db);\nvar opts \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22alt-impl\x22,\x22alt-impl\x22,670969595),devtools.formatters.printing.alt_printer_impl,new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734),markup_db,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),devtools.prefs.pref(new cljs.core.Keyword(null,\x22max-header-elements\x22,\x22max-header-elements\x22,713629864)),new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935),devtools.prefs.pref(new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935))], null);\nvar job_fn \x3d (function (){\nreturn (printer.cljs$core$IFn$_invoke$arity$2 ? printer.cljs$core$IFn$_invoke$arity$2(writer,opts) : printer.call(null,writer,opts));\n});\nvar temp__5802__auto___29961 \x3d devtools.formatters.state.get_managed_print_level();\nif(cljs.core.truth_(temp__5802__auto___29961)){\nvar managed_print_level_29962 \x3d temp__5802__auto___29961;\nvar _STAR_print_level_STAR__orig_val__29928_29963 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__29929_29964 \x3d managed_print_level_29962;\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__29929_29964);\n\ntry{devtools.formatters.state.update_current_state_BANG_((function (p1__29927_SHARP_){\nreturn devtools.formatters.state.set_managed_print_level(p1__29927_SHARP_,null);\n}));\n\njob_fn();\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__29928_29963);\n}} else {\njob_fn();\n}\n\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.prefs.pref(tag)], null),writer.get_group());\n});\ndevtools.formatters.printing.managed_print_via_writer \x3d (function devtools$formatters$printing$managed_print_via_writer(value,tag,markup_db){\nreturn devtools.formatters.printing.managed_print(tag,markup_db,(function (writer,opts){\nreturn cljs.core.pr_seq_writer(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [value], null),writer,opts);\n}));\n});\ndevtools.formatters.printing.managed_print_via_protocol \x3d (function devtools$formatters$printing$managed_print_via_protocol(value,tag,markup_db){\nreturn devtools.formatters.printing.managed_print(tag,markup_db,(function (writer,opts){\nreturn cljs.core._pr_writer(value,writer,opts);\n}));\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.markup.js", true, "goog.provide(\x27devtools.formatters.markup\x27);\ndevtools.formatters.markup.print_with \x3d (function devtools$formatters$markup$print_with(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32134 \x3d arguments.length;\nvar i__5750__auto___32135 \x3d (0);\nwhile(true){\nif((i__5750__auto___32135 \x3c len__5749__auto___32134)){\nargs__5755__auto__.push((arguments[i__5750__auto___32135]));\n\nvar G__32136 \x3d (i__5750__auto___32135 + (1));\ni__5750__auto___32135 \x3d G__32136;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic \x3d (function (method,value,tag,p__31578){\nvar vec__31580 \x3d p__31578;\nvar max_level \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31580,(0),null);\nvar job_fn \x3d (function (){\nvar G__31584 \x3d value;\nvar G__31585 \x3d tag;\nvar G__31586 \x3d (devtools.formatters.markup.get_markup_db.cljs$core$IFn$_invoke$arity$0 ? devtools.formatters.markup.get_markup_db.cljs$core$IFn$_invoke$arity$0() : devtools.formatters.markup.get_markup_db.call(null));\nreturn (method.cljs$core$IFn$_invoke$arity$3 ? method.cljs$core$IFn$_invoke$arity$3(G__31584,G__31585,G__31586) : method.call(null,G__31584,G__31585,G__31586));\n});\nif((!((max_level \x3d\x3d null)))){\nvar _STAR_print_level_STAR__orig_val__31596 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__31597 \x3d (max_level + (1));\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__31597);\n\ntry{return job_fn();\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__31596);\n}} else {\nreturn job_fn();\n}\n}));\n\n(devtools.formatters.markup.print_with.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(devtools.formatters.markup.print_with.cljs$lang$applyTo \x3d (function (seq31569){\nvar G__31570 \x3d cljs.core.first(seq31569);\nvar seq31569__$1 \x3d cljs.core.next(seq31569);\nvar G__31571 \x3d cljs.core.first(seq31569__$1);\nvar seq31569__$2 \x3d cljs.core.next(seq31569__$1);\nvar G__31572 \x3d cljs.core.first(seq31569__$2);\nvar seq31569__$3 \x3d cljs.core.next(seq31569__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31570,G__31571,G__31572,seq31569__$3);\n}));\n\ndevtools.formatters.markup.print_via_writer \x3d (function devtools$formatters$markup$print_via_writer(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32139 \x3d arguments.length;\nvar i__5750__auto___32140 \x3d (0);\nwhile(true){\nif((i__5750__auto___32140 \x3c len__5749__auto___32139)){\nargs__5755__auto__.push((arguments[i__5750__auto___32140]));\n\nvar G__32141 \x3d (i__5750__auto___32140 + (1));\ni__5750__auto___32140 \x3d G__32141;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (value,tag,p__31629){\nvar vec__31630 \x3d p__31629;\nvar max_level \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31630,(0),null);\nreturn devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.printing.managed_print_via_writer,value,tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_level], 0));\n}));\n\n(devtools.formatters.markup.print_via_writer.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup.print_via_writer.cljs$lang$applyTo \x3d (function (seq31612){\nvar G__31617 \x3d cljs.core.first(seq31612);\nvar seq31612__$1 \x3d cljs.core.next(seq31612);\nvar G__31618 \x3d cljs.core.first(seq31612__$1);\nvar seq31612__$2 \x3d cljs.core.next(seq31612__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31617,G__31618,seq31612__$2);\n}));\n\ndevtools.formatters.markup.print_via_protocol \x3d (function devtools$formatters$markup$print_via_protocol(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32149 \x3d arguments.length;\nvar i__5750__auto___32150 \x3d (0);\nwhile(true){\nif((i__5750__auto___32150 \x3c len__5749__auto___32149)){\nargs__5755__auto__.push((arguments[i__5750__auto___32150]));\n\nvar G__32151 \x3d (i__5750__auto___32150 + (1));\ni__5750__auto___32150 \x3d G__32151;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup.print_via_protocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup.print_via_protocol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (value,tag,p__31667){\nvar vec__31668 \x3d p__31667;\nvar max_level \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31668,(0),null);\nreturn devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.printing.managed_print_via_protocol,value,tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_level], 0));\n}));\n\n(devtools.formatters.markup.print_via_protocol.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup.print_via_protocol.cljs$lang$applyTo \x3d (function (seq31650){\nvar G__31651 \x3d cljs.core.first(seq31650);\nvar seq31650__$1 \x3d cljs.core.next(seq31650);\nvar G__31653 \x3d cljs.core.first(seq31650__$1);\nvar seq31650__$2 \x3d cljs.core.next(seq31650__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31651,G__31653,seq31650__$2);\n}));\n\ndevtools.formatters.markup._LT_expandable_GT_ \x3d (function devtools$formatters$markup$_LT_expandable_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32154 \x3d arguments.length;\nvar i__5750__auto___32155 \x3d (0);\nwhile(true){\nif((i__5750__auto___32155 \x3c len__5749__auto___32154)){\nargs__5755__auto__.push((arguments[i__5750__auto___32155]));\n\nvar G__32156 \x3d (i__5750__auto___32155 + (1));\ni__5750__auto___32155 \x3d G__32156;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_expandable_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_expandable_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (children){\nvar inner_markup \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22expandable-inner-tag\x22,\x22expandable-inner-tag\x22,-799648560)], null),children);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22expandable-tag\x22,\x22expandable-tag\x22,151027578),new cljs.core.Keyword(null,\x22expandable-symbol\x22,\x22expandable-symbol\x22,1644611290),inner_markup], null);\n}));\n\n(devtools.formatters.markup._LT_expandable_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_expandable_GT_.cljs$lang$applyTo \x3d (function (seq31675){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31675));\n}));\n\ndevtools.formatters.markup._LT_raw_surrogate_GT_ \x3d (function devtools$formatters$markup$_LT_raw_surrogate_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32157 \x3d arguments.length;\nvar i__5750__auto___32158 \x3d (0);\nwhile(true){\nif((i__5750__auto___32158 \x3c len__5749__auto___32157)){\nargs__5755__auto__.push((arguments[i__5750__auto___32158]));\n\nvar G__32159 \x3d (i__5750__auto___32158 + (1));\ni__5750__auto___32158 \x3d G__32159;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22surrogate\x22], null),args);\n}));\n\n(devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$lang$applyTo \x3d (function (seq31681){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31681));\n}));\n\ndevtools.formatters.markup._LT_surrogate_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32161 \x3d arguments.length;\nvar i__5750__auto___32162 \x3d (0);\nwhile(true){\nif((i__5750__auto___32162 \x3c len__5749__auto___32161)){\nargs__5755__auto__.push((arguments[i__5750__auto___32162]));\n\nvar G__32164 \x3d (i__5750__auto___32162 + (1));\ni__5750__auto___32162 \x3d G__32164;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__31688){\nvar vec__31689 \x3d p__31688;\nvar object \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31689,(0),null);\nvar header \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31689,(1),null);\nvar body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31689,(2),null);\nvar start_index \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31689,(3),null);\nvar header__$1 \x3d (((!((body \x3d\x3d null))))?devtools.formatters.markup._LT_expandable_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([header], 0)):header);\nreturn devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([object,header__$1,body,start_index], 0));\n}));\n\n(devtools.formatters.markup._LT_surrogate_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_surrogate_GT_.cljs$lang$applyTo \x3d (function (seq31687){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31687));\n}));\n\ndevtools.formatters.markup._LT_reference_GT_ \x3d (function devtools$formatters$markup$_LT_reference_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32165 \x3d arguments.length;\nvar i__5750__auto___32166 \x3d (0);\nwhile(true){\nif((i__5750__auto___32166 \x3c len__5749__auto___32165)){\nargs__5755__auto__.push((arguments[i__5750__auto___32166]));\n\nvar G__32167 \x3d (i__5750__auto___32166 + (1));\ni__5750__auto___32166 \x3d G__32167;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22reference\x22], null),args);\n}));\n\n(devtools.formatters.markup._LT_reference_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_reference_GT_.cljs$lang$applyTo \x3d (function (seq31692){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31692));\n}));\n\ndevtools.formatters.markup._LT_reference_surrogate_GT_ \x3d (function devtools$formatters$markup$_LT_reference_surrogate_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32172 \x3d arguments.length;\nvar i__5750__auto___32173 \x3d (0);\nwhile(true){\nif((i__5750__auto___32173 \x3c len__5749__auto___32172)){\nargs__5755__auto__.push((arguments[i__5750__auto___32173]));\n\nvar G__32174 \x3d (i__5750__auto___32173 + (1));\ni__5750__auto___32173 \x3d G__32174;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_surrogate_GT_,args)], 0));\n}));\n\n(devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$lang$applyTo \x3d (function (seq31694){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31694));\n}));\n\ndevtools.formatters.markup._LT_circular_reference_GT_ \x3d (function devtools$formatters$markup$_LT_circular_reference_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32182 \x3d arguments.length;\nvar i__5750__auto___32183 \x3d (0);\nwhile(true){\nif((i__5750__auto___32183 \x3c len__5749__auto___32182)){\nargs__5755__auto__.push((arguments[i__5750__auto___32183]));\n\nvar G__32185 \x3d (i__5750__auto___32183 + (1));\ni__5750__auto___32183 \x3d G__32185;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_circular_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_circular_reference_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (children){\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circular-reference-tag\x22,\x22circular-reference-tag\x22,858973471),new cljs.core.Keyword(null,\x22circular-ref-icon\x22,\x22circular-ref-icon\x22,-2087682919)], null),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circular-reference-body-tag\x22,\x22circular-reference-body-tag\x22,-1301830023)], null),children)], 0));\n}));\n\n(devtools.formatters.markup._LT_circular_reference_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_circular_reference_GT_.cljs$lang$applyTo \x3d (function (seq31697){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31697));\n}));\n\ndevtools.formatters.markup._LT_native_reference_GT_ \x3d (function devtools$formatters$markup$_LT_native_reference_GT_(object){\nvar reference \x3d devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([object,(function (p1__31703_SHARP_){\nreturn devtools.formatters.state.set_prevent_recursion(p1__31703_SHARP_,true);\n})], 0));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-reference-wrapper-tag\x22,\x22native-reference-wrapper-tag\x22,2047690940),new cljs.core.Keyword(null,\x22native-reference-background\x22,\x22native-reference-background\x22,-286129550),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-reference-tag\x22,\x22native-reference-tag\x22,-1516119079),reference], null)], null);\n});\ndevtools.formatters.markup._LT_header_expander_GT_ \x3d (function devtools$formatters$markup$_LT_header_expander_GT_(object){\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([object,new cljs.core.Keyword(null,\x22header-expander-symbol\x22,\x22header-expander-symbol\x22,907531743),new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721)], 0)),devtools.formatters.state.reset_depth_limits], 0));\n});\ndevtools.formatters.markup._LT_cljs_land_GT_ \x3d (function devtools$formatters$markup$_LT_cljs_land_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32192 \x3d arguments.length;\nvar i__5750__auto___32193 \x3d (0);\nwhile(true){\nif((i__5750__auto___32193 \x3c len__5749__auto___32192)){\nargs__5755__auto__.push((arguments[i__5750__auto___32193]));\n\nvar G__32194 \x3d (i__5750__auto___32193 + (1));\ni__5750__auto___32193 \x3d G__32194;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_cljs_land_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_cljs_land_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (children){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22cljs-land-tag\x22,\x22cljs-land-tag\x22,-7524377)], null),children);\n}));\n\n(devtools.formatters.markup._LT_cljs_land_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_cljs_land_GT_.cljs$lang$applyTo \x3d (function (seq31704){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31704));\n}));\n\ndevtools.formatters.markup._LT_nil_GT_ \x3d (function devtools$formatters$markup$_LT_nil_GT_(){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22nil-tag\x22,\x22nil-tag\x22,-1587449115),new cljs.core.Keyword(null,\x22nil-label\x22,\x22nil-label\x22,-587789203)], null);\n});\ndevtools.formatters.markup._LT_bool_GT_ \x3d (function devtools$formatters$markup$_LT_bool_GT_(bool){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22bool-tag\x22,\x22bool-tag\x22,-10409808),cljs.core.str.cljs$core$IFn$_invoke$arity$1(bool)], null);\n});\ndevtools.formatters.markup._LT_keyword_GT_ \x3d (function devtools$formatters$markup$_LT_keyword_GT_(keyword){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22keyword-tag\x22,\x22keyword-tag\x22,1587228387),cljs.core.str.cljs$core$IFn$_invoke$arity$1(keyword)], null);\n});\ndevtools.formatters.markup._LT_symbol_GT_ \x3d (function devtools$formatters$markup$_LT_symbol_GT_(symbol){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22symbol-tag\x22,\x22symbol-tag\x22,-100807517),cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol)], null);\n});\ndevtools.formatters.markup._LT_number_GT_ \x3d (function devtools$formatters$markup$_LT_number_GT_(number){\nif(cljs.core.truth_(isFinite(number))){\nif(cljs.core.integer_QMARK_(number)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22integer-tag\x22,\x22integer-tag\x22,698000472),number], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22float-tag\x22,\x22float-tag\x22,-390834106),number], null);\n}\n} else {\nif(cljs.core.truth_(isNaN(number))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22float-nan-tag\x22,\x22float-nan-tag\x22,557403379),cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([number], 0))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22float-infinity-tag\x22,\x22float-infinity-tag\x22,-289254297),cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([number], 0))], null);\n}\n}\n});\ndevtools.formatters.markup._LT_string_GT_ \x3d (function devtools$formatters$markup$_LT_string_GT_(string){\nvar dq \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22dq\x22,\x22dq\x22,-1690275860));\nvar re_nl \x3d (new RegExp(\x22\\n\x22,\x22g\x22));\nvar nl_marker \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22new-line-string-replacer\x22,\x22new-line-string-replacer\x22,-753206206));\nvar inline_string \x3d string.replace(re_nl,nl_marker);\nvar max_inline_string_size \x3d (devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-prefix-limit\x22,\x22string-prefix-limit\x22,1256106332)) + devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-postfix-limit\x22,\x22string-postfix-limit\x22,-1282205963)));\nvar quote_string \x3d (function (s){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(dq),cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),cljs.core.str.cljs$core$IFn$_invoke$arity$1(dq)].join(\x27\x27);\n});\nvar should_abbreviate_QMARK_ \x3d (cljs.core.count(inline_string) \x3e max_inline_string_size);\nif(should_abbreviate_QMARK_){\nvar abbreviated_string \x3d devtools.formatters.helpers.abbreviate_long_string(inline_string,devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-abbreviation-marker\x22,\x22string-abbreviation-marker\x22,-347785112)),devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-prefix-limit\x22,\x22string-prefix-limit\x22,1256106332)),devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-postfix-limit\x22,\x22string-postfix-limit\x22,-1282205963)));\nvar abbreviated_string_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22string-tag\x22,\x22string-tag\x22,1639024494),quote_string(abbreviated_string)], null);\nvar string_with_nl_markers \x3d string.replace(re_nl,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(nl_marker),\x22\\n\x22].join(\x27\x27));\nvar details_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22expanded-string-tag\x22,\x22expanded-string-tag\x22,-2125162127),string_with_nl_markers], null);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([string,abbreviated_string_markup,details_markup], 0));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22string-tag\x22,\x22string-tag\x22,1639024494),quote_string(inline_string)], null);\n}\n});\ndevtools.formatters.markup._LT_preview_GT_ \x3d (function devtools$formatters$markup$_LT_preview_GT_(value){\nreturn devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic(value,new cljs.core.Keyword(null,\x22header-tag\x22,\x22header-tag\x22,1594852433),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-print-level\x22,\x22max-print-level\x22,-462237413))], 0));\n});\ndevtools.formatters.markup._LT_body_GT_ \x3d (function devtools$formatters$markup$_LT_body_GT_(markup){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-tag\x22,\x22body-tag\x22,433527431),markup], null);\n});\ndevtools.formatters.markup._LT_aligned_body_GT_ \x3d (function devtools$formatters$markup$_LT_aligned_body_GT_(markups_lists){\nvar prepend_li_tag \x3d (function (line){\nif(cljs.core.truth_(line)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22aligned-li-tag\x22,\x22aligned-li-tag\x22,1727029722)], null),line);\n} else {\nreturn null;\n}\n});\nvar aligned_lines \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(prepend_li_tag,markups_lists);\nreturn devtools.formatters.markup._LT_body_GT_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22standard-ol-no-margin-tag\x22,\x22standard-ol-no-margin-tag\x22,583023747)], null),aligned_lines));\n});\ndevtools.formatters.markup._LT_standard_body_GT_ \x3d (function devtools$formatters$markup$_LT_standard_body_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32217 \x3d arguments.length;\nvar i__5750__auto___32218 \x3d (0);\nwhile(true){\nif((i__5750__auto___32218 \x3c len__5749__auto___32217)){\nargs__5755__auto__.push((arguments[i__5750__auto___32218]));\n\nvar G__32219 \x3d (i__5750__auto___32218 + (1));\ni__5750__auto___32218 \x3d G__32219;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_standard_body_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_standard_body_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (markups_lists,p__31745){\nvar vec__31746 \x3d p__31745;\nvar no_margin_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31746,(0),null);\nvar ol_tag \x3d (cljs.core.truth_(no_margin_QMARK_)?new cljs.core.Keyword(null,\x22standard-ol-no-margin-tag\x22,\x22standard-ol-no-margin-tag\x22,583023747):new cljs.core.Keyword(null,\x22standard-ol-tag\x22,\x22standard-ol-tag\x22,1120081433));\nvar li_tag \x3d (cljs.core.truth_(no_margin_QMARK_)?new cljs.core.Keyword(null,\x22standard-li-no-margin-tag\x22,\x22standard-li-no-margin-tag\x22,-844555468):new cljs.core.Keyword(null,\x22standard-li-tag\x22,\x22standard-li-tag\x22,-932749876));\nvar prepend_li_tag \x3d (function (line){\nif(cljs.core.truth_(line)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [li_tag], null),line);\n} else {\nreturn null;\n}\n});\nvar lines_markups \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(prepend_li_tag,markups_lists);\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ol_tag], null),lines_markups);\n}));\n\n(devtools.formatters.markup._LT_standard_body_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_standard_body_GT_.cljs$lang$applyTo \x3d (function (seq31739){\nvar G__31740 \x3d cljs.core.first(seq31739);\nvar seq31739__$1 \x3d cljs.core.next(seq31739);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31740,seq31739__$1);\n}));\n\ndevtools.formatters.markup._LT_standard_body_reference_GT_ \x3d (function devtools$formatters$markup$_LT_standard_body_reference_GT_(o){\nreturn devtools.formatters.markup._LT_standard_body_GT_(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([o], 0))], null)], null));\n});\ndevtools.formatters.markup._LT_index_GT_ \x3d (function devtools$formatters$markup$_LT_index_GT_(value){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22index-tag\x22,\x22index-tag\x22,693492486),value,new cljs.core.Keyword(null,\x22line-index-separator\x22,\x22line-index-separator\x22,-1735989246)], null);\n});\ndevtools.formatters.markup.body_line \x3d (function devtools$formatters$markup$body_line(index,value){\nvar index_markup \x3d devtools.formatters.markup._LT_index_GT_(index);\nvar value_markup \x3d devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic(value,new cljs.core.Keyword(null,\x22item-tag\x22,\x22item-tag\x22,-988763304),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22body-line-max-print-level\x22,\x22body-line-max-print-level\x22,571158623))], 0));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [index_markup,value_markup], null);\n});\ndevtools.formatters.markup.prepare_body_lines \x3d (function devtools$formatters$markup$prepare_body_lines(data,starting_index){\nvar work \x3d data;\nvar index \x3d starting_index;\nvar lines \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(work)){\nreturn lines;\n} else {\nvar G__32229 \x3d cljs.core.rest(work);\nvar G__32230 \x3d (index + (1));\nvar G__32231 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lines,devtools.formatters.markup.body_line(index,cljs.core.first(work)));\nwork \x3d G__32229;\nindex \x3d G__32230;\nlines \x3d G__32231;\ncontinue;\n}\nbreak;\n}\n});\ndevtools.formatters.markup.body_lines \x3d (function devtools$formatters$markup$body_lines(value,starting_index){\nvar seq \x3d cljs.core.seq(value);\nvar max_number_body_items \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-number-body-items\x22,\x22max-number-body-items\x22,299914624));\nvar chunk \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_number_body_items,seq);\nvar rest \x3d cljs.core.drop.cljs$core$IFn$_invoke$arity$2(max_number_body_items,seq);\nvar lines \x3d devtools.formatters.markup.prepare_body_lines(chunk,starting_index);\nvar continue_QMARK_ \x3d (!(cljs.core.empty_QMARK_(cljs.core.take.cljs$core$IFn$_invoke$arity$2((1),rest))));\nif((!(continue_QMARK_))){\nreturn lines;\n} else {\nvar more_label_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-items-more-tag\x22,\x22body-items-more-tag\x22,867141569),new cljs.core.Keyword(null,\x22body-items-more-label\x22,\x22body-items-more-label\x22,-1561152123)], null);\nvar start_index \x3d (starting_index + max_number_body_items);\nvar more_markup \x3d devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([rest,more_label_markup,new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721),start_index], 0));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lines,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [more_markup], null));\n}\n});\ndevtools.formatters.markup._LT_details_GT_ \x3d (function devtools$formatters$markup$_LT_details_GT_(value,starting_index){\ndevtools.formatters.state.push_object_to_current_history_BANG_(cljs.core.with_meta(value,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22index\x22,\x22index\x22,-1531685915),starting_index], null)));\n\nvar has_continuation_QMARK_ \x3d (starting_index \x3e (0));\nvar body_markup \x3d devtools.formatters.markup._LT_standard_body_GT_.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup.body_lines(value,starting_index),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([has_continuation_QMARK_], 0));\nif(has_continuation_QMARK_){\nreturn body_markup;\n} else {\nreturn devtools.formatters.markup._LT_body_GT_(body_markup);\n}\n});\ndevtools.formatters.markup._LT_list_details_GT_ \x3d (function devtools$formatters$markup$_LT_list_details_GT_(items,_opts){\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.list,items));\n});\ndevtools.formatters.markup._LT_list_GT_ \x3d (function devtools$formatters$markup$_LT_list_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32238 \x3d arguments.length;\nvar i__5750__auto___32239 \x3d (0);\nwhile(true){\nif((i__5750__auto___32239 \x3c len__5749__auto___32238)){\nargs__5755__auto__.push((arguments[i__5750__auto___32239]));\n\nvar G__32240 \x3d (i__5750__auto___32239 + (1));\ni__5750__auto___32239 \x3d G__32240;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup._LT_list_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_list_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (items,max_count,p__31818){\nvar vec__31819 \x3d p__31818;\nvar opts \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31819,(0),null);\nvar items_markups \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_count,items);\nvar more_count \x3d (cljs.core.count(items) - max_count);\nvar more_QMARK_ \x3d (more_count \x3e (0));\nvar separator \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-separator\x22,\x22list-separator\x22,900562185);\n}\n})();\nvar more_symbol \x3d ((more_QMARK_)?(function (){var temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar more_symbol \x3d temp__5802__auto__;\nif(cljs.core.fn_QMARK_(more_symbol)){\nreturn (more_symbol.cljs$core$IFn$_invoke$arity$1 ? more_symbol.cljs$core$IFn$_invoke$arity$1(more_count) : more_symbol.call(null,more_count));\n} else {\nreturn more_symbol;\n}\n} else {\nreturn devtools.formatters.helpers.get_more_marker(more_count);\n}\n})():null);\nvar preview_markup \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-tag\x22,\x22list-tag\x22,1555796884);\n}\n})(),(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22open-symbol\x22,\x22open-symbol\x22,674247825).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-open-symbol\x22,\x22list-open-symbol\x22,-1162287443);\n}\n})()], null),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(separator,items_markups),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((more_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [separator,more_symbol], null):null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22close-symbol\x22,\x22close-symbol\x22,1051951165).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-close-symbol\x22,\x22list-close-symbol\x22,-1120016586);\n}\n})()], null)], 0));\nif(more_QMARK_){\nvar details_markup \x3d new cljs.core.Keyword(null,\x22details\x22,\x22details\x22,1956795411).cljs$core$IFn$_invoke$arity$1(opts);\nvar default_details_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$3(devtools.formatters.markup._LT_list_details_GT_,items,opts);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null,preview_markup,(function (){var or__5025__auto__ \x3d details_markup;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn default_details_fn;\n}\n})()], 0));\n} else {\nreturn preview_markup;\n}\n}));\n\n(devtools.formatters.markup._LT_list_GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_list_GT_.cljs$lang$applyTo \x3d (function (seq31804){\nvar G__31805 \x3d cljs.core.first(seq31804);\nvar seq31804__$1 \x3d cljs.core.next(seq31804);\nvar G__31806 \x3d cljs.core.first(seq31804__$1);\nvar seq31804__$2 \x3d cljs.core.next(seq31804__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31805,G__31806,seq31804__$2);\n}));\n\ndevtools.formatters.markup._LT_meta_GT_ \x3d (function devtools$formatters$markup$_LT_meta_GT_(metadata){\nvar body_fn \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-body-tag\x22,\x22meta-body-tag\x22,1689183121),devtools.formatters.markup._LT_preview_GT_(metadata)], null);\n});\nvar header \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-header-tag\x22,\x22meta-header-tag\x22,-1207812581),\x22meta\x22], null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-reference-tag\x22,\x22meta-reference-tag\x22,914791936),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([metadata,header,body_fn], 0))], null);\n});\ndevtools.formatters.markup._LT_meta_wrapper_GT_ \x3d (function devtools$formatters$markup$_LT_meta_wrapper_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32248 \x3d arguments.length;\nvar i__5750__auto___32249 \x3d (0);\nwhile(true){\nif((i__5750__auto___32249 \x3c len__5749__auto___32248)){\nargs__5755__auto__.push((arguments[i__5750__auto___32249]));\n\nvar G__32250 \x3d (i__5750__auto___32249 + (1));\ni__5750__auto___32249 \x3d G__32250;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (metadata,children){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-wrapper-tag\x22,\x22meta-wrapper-tag\x22,1927429038)], null),children,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.markup._LT_meta_GT_(metadata)], null)], 0));\n}));\n\n(devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$lang$applyTo \x3d (function (seq31836){\nvar G__31837 \x3d cljs.core.first(seq31836);\nvar seq31836__$1 \x3d cljs.core.next(seq31836);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31837,seq31836__$1);\n}));\n\ndevtools.formatters.markup._LT_function_details_GT_ \x3d (function devtools$formatters$markup$_LT_function_details_GT_(fn_obj,ns,_name,arities,prefix){\nif(cljs.core.fn_QMARK_(fn_obj)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? fn-obj)\x22));\n}\n\nvar arities__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.wrap_arity,arities);\nvar make_arity_markup_list \x3d (function (arity){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-tag\x22,\x22fn-multi-arity-args-indent-tag\x22,-1931373734),prefix], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-args-tag\x22,\x22fn-args-tag\x22,549126831),arity], null)], null);\n});\nvar arities_markupts_lists \x3d (((cljs.core.count(arities__$1) \x3e (1)))?cljs.core.map.cljs$core$IFn$_invoke$arity$2(make_arity_markup_list,arities__$1):null);\nvar ns_markups_list \x3d (((!(cljs.core.empty_QMARK_(ns))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-ns-name-tag\x22,\x22fn-ns-name-tag\x22,-900073712),ns], null)], null):null);\nvar native_markups_list \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(fn_obj)], null);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(arities_markupts_lists,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns_markups_list,native_markups_list], null)));\n});\ndevtools.formatters.markup._LT_arities_GT_ \x3d (function devtools$formatters$markup$_LT_arities_GT_(arities){\nvar multi_arity_QMARK_ \x3d (cljs.core.count(arities) \x3e (1));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-args-tag\x22,\x22fn-args-tag\x22,549126831),devtools.formatters.helpers.wrap_arity(((multi_arity_QMARK_)?devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22multi-arity-symbol\x22,\x22multi-arity-symbol\x22,-420139653)):cljs.core.first(arities)))], null);\n});\ndevtools.formatters.markup._LT_function_GT_ \x3d (function devtools$formatters$markup$_LT_function_GT_(fn_obj){\nif(cljs.core.fn_QMARK_(fn_obj)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? fn-obj)\x22));\n}\n\nvar vec__31847 \x3d devtools.munging.parse_fn_info(fn_obj);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31847,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31847,(1),null);\nvar lambda_QMARK_ \x3d cljs.core.empty_QMARK_(name);\nvar spacer_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22spacer\x22,\x22spacer\x22,2067425139));\nvar rest_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22rest-symbol\x22,\x22rest-symbol\x22,1021371174));\nvar multi_arity_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22multi-arity-symbol\x22,\x22multi-arity-symbol\x22,-420139653));\nvar arities \x3d devtools.munging.extract_arities(fn_obj,true,spacer_symbol,multi_arity_symbol,rest_symbol);\nvar arities_markup \x3d devtools.formatters.markup._LT_arities_GT_(arities);\nvar name_markup \x3d (((!(lambda_QMARK_)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-name-tag\x22,\x22fn-name-tag\x22,555823755),name], null):null);\nvar icon_markup \x3d ((lambda_QMARK_)?new cljs.core.Keyword(null,\x22lambda-icon\x22,\x22lambda-icon\x22,980753546):new cljs.core.Keyword(null,\x22fn-icon\x22,\x22fn-icon\x22,-1412665288));\nvar prefix_markup \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-prefix-tag\x22,\x22fn-prefix-tag\x22,1947411856),icon_markup,name_markup], null);\nvar preview_markup \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-header-tag\x22,\x22fn-header-tag\x22,-1262068349),prefix_markup,arities_markup], null);\nvar details_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup._LT_function_details_GT_,fn_obj,ns,name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arities,prefix_markup], 0));\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fn_obj,preview_markup,details_fn], 0));\n});\ndevtools.formatters.markup._LT_type_basis_item_GT_ \x3d (function devtools$formatters$markup$_LT_type_basis_item_GT_(basis_item){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-basis-item-tag\x22,\x22type-basis-item-tag\x22,50612816),cljs.core.name(basis_item)], null);\n});\ndevtools.formatters.markup._LT_type_basis_GT_ \x3d (function devtools$formatters$markup$_LT_type_basis_GT_(basis){\nvar item_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_type_basis_item_GT_,basis);\nvar children_markups \x3d cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-basis-item-separator\x22,\x22type-basis-item-separator\x22,-2029193896),item_markups);\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-basis-tag\x22,\x22type-basis-tag\x22,-2122159204)], null),children_markups);\n});\ndevtools.formatters.markup._LT_type_details_GT_ \x3d (function devtools$formatters$markup$_LT_type_details_GT_(constructor_fn,ns,_name,basis){\nvar ns_markup \x3d (((!(cljs.core.empty_QMARK_(ns))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-ns-name-tag\x22,\x22fn-ns-name-tag\x22,-900073712),ns], null)], null):null);\nvar basis_markup \x3d ((cljs.core.empty_QMARK_(basis))?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22empty-basis-symbol\x22,\x22empty-basis-symbol\x22,-1971559593)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22basis-icon\x22,\x22basis-icon\x22,1917779567),devtools.formatters.markup._LT_type_basis_GT_(basis)], null));\nvar native_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(constructor_fn)], null);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [basis_markup,ns_markup,native_markup], null));\n});\ndevtools.formatters.markup._LT_type_GT_ \x3d (function devtools$formatters$markup$_LT_type_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32265 \x3d arguments.length;\nvar i__5750__auto___32266 \x3d (0);\nwhile(true){\nif((i__5750__auto___32266 \x3c len__5749__auto___32265)){\nargs__5755__auto__.push((arguments[i__5750__auto___32266]));\n\nvar G__32267 \x3d (i__5750__auto___32266 + (1));\ni__5750__auto___32266 \x3d G__32267;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (constructor_fn,p__31874){\nvar vec__31875 \x3d p__31874;\nvar header_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31875,(0),null);\nvar vec__31878 \x3d devtools.munging.parse_constructor_info(constructor_fn);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31878,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31878,(1),null);\nvar basis \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31878,(2),null);\nvar name_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-name-tag\x22,\x22type-name-tag\x22,-1317275511),name], null);\nvar preview_markup \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5025__auto__ \x3d header_tag;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22type-header-tag\x22,\x22type-header-tag\x22,1645372265);\n}\n})(),new cljs.core.Keyword(null,\x22type-symbol\x22,\x22type-symbol\x22,-941894755),name_markup], null);\nvar details_markup_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup._LT_type_details_GT_,constructor_fn,ns,name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([basis], 0));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-wrapper-tag\x22,\x22type-wrapper-tag\x22,-1732366004),new cljs.core.Keyword(null,\x22type-header-background\x22,\x22type-header-background\x22,-810861696),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-ref-tag\x22,\x22type-ref-tag\x22,2126727355),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([constructor_fn,preview_markup,details_markup_fn], 0))], null)], null);\n}));\n\n(devtools.formatters.markup._LT_type_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_type_GT_.cljs$lang$applyTo \x3d (function (seq31861){\nvar G__31862 \x3d cljs.core.first(seq31861);\nvar seq31861__$1 \x3d cljs.core.next(seq31861);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31862,seq31861__$1);\n}));\n\ndevtools.formatters.markup._LT_standalone_type_GT_ \x3d (function devtools$formatters$markup$_LT_standalone_type_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32281 \x3d arguments.length;\nvar i__5750__auto___32282 \x3d (0);\nwhile(true){\nif((i__5750__auto___32282 \x3c len__5749__auto___32281)){\nargs__5755__auto__.push((arguments[i__5750__auto___32282]));\n\nvar G__32284 \x3d (i__5750__auto___32282 + (1));\ni__5750__auto___32282 \x3d G__32284;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_standalone_type_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_standalone_type_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (constructor_fn,p__31919){\nvar vec__31920 \x3d p__31919;\nvar header_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31920,(0),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22standalone-type-tag\x22,\x22standalone-type-tag\x22,-1677164791),devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic(constructor_fn,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([header_tag], 0))], null);\n}));\n\n(devtools.formatters.markup._LT_standalone_type_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_standalone_type_GT_.cljs$lang$applyTo \x3d (function (seq31911){\nvar G__31912 \x3d cljs.core.first(seq31911);\nvar seq31911__$1 \x3d cljs.core.next(seq31911);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31912,seq31911__$1);\n}));\n\ndevtools.formatters.markup._LT_protocol_method_arity_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_arity_GT_(arity_fn){\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arity_fn], 0));\n});\ndevtools.formatters.markup._LT_protocol_method_arities_details_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_arities_details_GT_(fns){\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_method_arity_GT_,fns));\n});\ndevtools.formatters.markup._LT_protocol_method_arities_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_arities_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32296 \x3d arguments.length;\nvar i__5750__auto___32298 \x3d (0);\nwhile(true){\nif((i__5750__auto___32298 \x3c len__5749__auto___32296)){\nargs__5755__auto__.push((arguments[i__5750__auto___32298]));\n\nvar G__32306 \x3d (i__5750__auto___32298 + (1));\ni__5750__auto___32298 \x3d G__32306;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (fns,p__31961){\nvar vec__31962 \x3d p__31961;\nvar max_fns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31962,(0),null);\nvar max_fns__$1 \x3d (function (){var or__5025__auto__ \x3d max_fns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-protocol-method-arities-list\x22,\x22max-protocol-method-arities-list\x22,-45936465));\n}\n})();\nvar more_QMARK_ \x3d (cljs.core.count(fns) \x3e max_fns__$1);\nvar aritites_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_method_arity_GT_,cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_fns__$1,fns));\nvar preview_markup \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-arities-header-tag\x22,\x22protocol-method-arities-header-tag\x22,734407707),new cljs.core.Keyword(null,\x22protocol-method-arities-header-open-symbol\x22,\x22protocol-method-arities-header-open-symbol\x22,1704200465)], null),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22protocol-method-arities-list-header-separator\x22,\x22protocol-method-arities-list-header-separator\x22,-115158954),aritites_markups),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((more_QMARK_)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-arities-more-symbol\x22,\x22protocol-method-arities-more-symbol\x22,-477018522)], null):null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-arities-header-close-symbol\x22,\x22protocol-method-arities-header-close-symbol\x22,-1375237120)], null)], 0));\nif(more_QMARK_){\nvar details_markup_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_method_arities_details_GT_,fns);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null,preview_markup,details_markup_fn], 0));\n} else {\nreturn preview_markup;\n}\n}));\n\n(devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$lang$applyTo \x3d (function (seq31944){\nvar G__31945 \x3d cljs.core.first(seq31944);\nvar seq31944__$1 \x3d cljs.core.next(seq31944);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31945,seq31944__$1);\n}));\n\ndevtools.formatters.markup._LT_protocol_method_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_GT_(name,arities){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-tag\x22,\x22protocol-method-tag\x22,2032279830),new cljs.core.Keyword(null,\x22method-icon\x22,\x22method-icon\x22,-1678775281),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-name-tag\x22,\x22protocol-method-name-tag\x22,-1030376744),name], null),devtools.formatters.markup._LT_protocol_method_arities_GT_(arities)], null);\n});\ndevtools.formatters.markup._LT_protocol_details_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_details_GT_(obj,ns,_name,selector,_fast_QMARK_){\nvar protocol_obj \x3d devtools.munging.get_protocol_object(selector);\nvar ns_markups_list \x3d (((!(cljs.core.empty_QMARK_(ns))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-ns-name-tag\x22,\x22protocol-ns-name-tag\x22,1832081510),ns], null)], null):null);\nvar native_markups_list \x3d (((!((protocol_obj \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(protocol_obj)], null):null);\nvar methods$ \x3d devtools.munging.collect_protocol_methods(obj,selector);\nvar methods_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__31981){\nvar vec__31982 \x3d p__31981;\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31982,(0),null);\nvar arities \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31982,(1),null);\nreturn devtools.formatters.markup._LT_protocol_method_GT_(name,arities);\n}),methods$);\nvar methods_markups_lists \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.list,methods_markups);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(methods_markups_lists,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns_markups_list,native_markups_list], null)));\n});\ndevtools.formatters.markup._LT_protocol_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32325 \x3d arguments.length;\nvar i__5750__auto___32326 \x3d (0);\nwhile(true){\nif((i__5750__auto___32326 \x3c len__5749__auto___32325)){\nargs__5755__auto__.push((arguments[i__5750__auto___32326]));\n\nvar G__32327 \x3d (i__5750__auto___32326 + (1));\ni__5750__auto___32326 \x3d G__32327;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup._LT_protocol_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_protocol_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,protocol,p__31996){\nvar vec__31997 \x3d p__31996;\nvar tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31997,(0),null);\nvar map__32001 \x3d protocol;\nvar map__32001__$1 \x3d cljs.core.__destructure_map(map__32001);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32001__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32001__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\nvar selector \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32001__$1,new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866));\nvar fast_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32001__$1,new cljs.core.Keyword(null,\x22fast?\x22,\x22fast?\x22,-1813307150));\nvar preview_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5025__auto__ \x3d tag;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22protocol-name-tag\x22,\x22protocol-name-tag\x22,1508238310);\n}\n})(),name], null);\nvar prefix_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.truth_(fast_QMARK_)?new cljs.core.Keyword(null,\x22fast-protocol-tag\x22,\x22fast-protocol-tag\x22,2066025065):new cljs.core.Keyword(null,\x22slow-protocol-tag\x22,\x22slow-protocol-tag\x22,2061129467)),new cljs.core.Keyword(null,\x22protocol-background\x22,\x22protocol-background\x22,1111513794)], null);\nif((!((obj \x3d\x3d null)))){\nvar details_markup_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup._LT_protocol_details_GT_,obj,ns,name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([selector,fast_QMARK_], 0));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(prefix_markup,devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj,preview_markup,details_markup_fn], 0)));\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(prefix_markup,preview_markup);\n}\n}));\n\n(devtools.formatters.markup._LT_protocol_GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_protocol_GT_.cljs$lang$applyTo \x3d (function (seq31989){\nvar G__31990 \x3d cljs.core.first(seq31989);\nvar seq31989__$1 \x3d cljs.core.next(seq31989);\nvar G__31991 \x3d cljs.core.first(seq31989__$1);\nvar seq31989__$2 \x3d cljs.core.next(seq31989__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31990,G__31991,seq31989__$2);\n}));\n\ndevtools.formatters.markup._LT_more_protocols_GT_ \x3d (function devtools$formatters$markup$_LT_more_protocols_GT_(more_count){\nvar fake_protocol \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),devtools.formatters.helpers.get_more_marker(more_count)], null);\nreturn devtools.formatters.markup._LT_protocol_GT_.cljs$core$IFn$_invoke$arity$variadic(null,fake_protocol,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22protocol-more-tag\x22,\x22protocol-more-tag\x22,2098702865)], 0));\n});\ndevtools.formatters.markup._LT_protocols_list_GT_ \x3d (function devtools$formatters$markup$_LT_protocols_list_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32347 \x3d arguments.length;\nvar i__5750__auto___32348 \x3d (0);\nwhile(true){\nif((i__5750__auto___32348 \x3c len__5749__auto___32347)){\nargs__5755__auto__.push((arguments[i__5750__auto___32348]));\n\nvar G__32349 \x3d (i__5750__auto___32348 + (1));\ni__5750__auto___32348 \x3d G__32349;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup._LT_protocols_list_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_protocols_list_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,protocols,p__32023){\nvar vec__32024 \x3d p__32023;\nvar max_protocols \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32024,(0),null);\nvar max_protocols__$1 \x3d (function (){var or__5025__auto__ \x3d max_protocols;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-list-protocols\x22,\x22max-list-protocols\x22,-537135129));\n}\n})();\nvar protocols_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_GT_,obj),protocols);\nreturn devtools.formatters.markup._LT_list_GT_.cljs$core$IFn$_invoke$arity$variadic(protocols_markups,max_protocols__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22protocols-header-tag\x22,\x22protocols-header-tag\x22,-734413384),new cljs.core.Keyword(null,\x22open-symbol\x22,\x22open-symbol\x22,674247825),new cljs.core.Keyword(null,\x22protocols-list-open-symbol\x22,\x22protocols-list-open-symbol\x22,-729713043),new cljs.core.Keyword(null,\x22close-symbol\x22,\x22close-symbol\x22,1051951165),new cljs.core.Keyword(null,\x22protocols-list-close-symbol\x22,\x22protocols-list-close-symbol\x22,652072902),new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),new cljs.core.Keyword(null,\x22header-protocol-separator\x22,\x22header-protocol-separator\x22,445531439),new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242),devtools.formatters.markup._LT_more_protocols_GT_], null)], 0));\n}));\n\n(devtools.formatters.markup._LT_protocols_list_GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_protocols_list_GT_.cljs$lang$applyTo \x3d (function (seq32016){\nvar G__32017 \x3d cljs.core.first(seq32016);\nvar seq32016__$1 \x3d cljs.core.next(seq32016);\nvar G__32018 \x3d cljs.core.first(seq32016__$1);\nvar seq32016__$2 \x3d cljs.core.next(seq32016__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32017,G__32018,seq32016__$2);\n}));\n\ndevtools.formatters.markup._LT_field_GT_ \x3d (function devtools$formatters$markup$_LT_field_GT_(name,value){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22header-field-tag\x22,\x22header-field-tag\x22,-1403476101),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22header-field-name-tag\x22,\x22header-field-name-tag\x22,82291956),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)], null),new cljs.core.Keyword(null,\x22header-field-value-spacer\x22,\x22header-field-value-spacer\x22,-1210630679),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22header-field-value-tag\x22,\x22header-field-value-tag\x22,-1708691701),devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0)),(function (p1__32030_SHARP_){\nreturn devtools.formatters.state.set_managed_print_level(p1__32030_SHARP_,(1));\n})], 0))], null),new cljs.core.Keyword(null,\x22header-field-separator\x22,\x22header-field-separator\x22,-774444018)], null);\n});\ndevtools.formatters.markup._LT_fields_details_row_GT_ \x3d (function devtools$formatters$markup$_LT_fields_details_row_GT_(field){\nvar vec__32038 \x3d field;\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32038,(0),null);\nvar value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32038,(1),null);\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-tr-tag\x22,\x22body-field-tr-tag\x22,37280691),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-td1-tag\x22,\x22body-field-td1-tag\x22,256357429),new cljs.core.Keyword(null,\x22body-field-symbol\x22,\x22body-field-symbol\x22,256897537),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-name-tag\x22,\x22body-field-name-tag\x22,917867601),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-td2-tag\x22,\x22body-field-td2-tag\x22,94501500),new cljs.core.Keyword(null,\x22body-field-value-spacer\x22,\x22body-field-value-spacer\x22,1279911362)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-td3-tag\x22,\x22body-field-td3-tag\x22,-803119922),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-value-tag\x22,\x22body-field-value-tag\x22,800789079),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0))], null)], null)], null);\n});\ndevtools.formatters.markup._LT_fields_GT_ \x3d (function devtools$formatters$markup$_LT_fields_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32357 \x3d arguments.length;\nvar i__5750__auto___32359 \x3d (0);\nwhile(true){\nif((i__5750__auto___32359 \x3c len__5749__auto___32357)){\nargs__5755__auto__.push((arguments[i__5750__auto___32359]));\n\nvar G__32360 \x3d (i__5750__auto___32359 + (1));\ni__5750__auto___32359 \x3d G__32360;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_fields_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_fields_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (fields,p__32062){\nvar vec__32067 \x3d p__32062;\nvar max_fields \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32067,(0),null);\nif((cljs.core.count(fields) \x3d\x3d\x3d (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fields-header-tag\x22,\x22fields-header-tag\x22,1339134308),new cljs.core.Keyword(null,\x22fields-header-no-fields-symbol\x22,\x22fields-header-no-fields-symbol\x22,-1749204979)], null);\n} else {\nvar max_fields__$1 \x3d (function (){var or__5025__auto__ \x3d max_fields;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-instance-header-fields\x22,\x22max-instance-header-fields\x22,-126007269));\n}\n})();\nvar more_QMARK_ \x3d (cljs.core.count(fields) \x3e max_fields__$1);\nvar fields_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__32070){\nvar vec__32071 \x3d p__32070;\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32071,(0),null);\nvar value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32071,(1),null);\nreturn devtools.formatters.markup._LT_field_GT_(name,value);\n}),cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_fields__$1,fields));\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fields-header-tag\x22,\x22fields-header-tag\x22,1339134308),new cljs.core.Keyword(null,\x22fields-header-open-symbol\x22,\x22fields-header-open-symbol\x22,-26243798)], null),fields_markups,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((more_QMARK_)?new cljs.core.Keyword(null,\x22more-fields-symbol\x22,\x22more-fields-symbol\x22,720022882):null),new cljs.core.Keyword(null,\x22fields-header-close-symbol\x22,\x22fields-header-close-symbol\x22,1615181116)], null)], 0));\n}\n}));\n\n(devtools.formatters.markup._LT_fields_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_fields_GT_.cljs$lang$applyTo \x3d (function (seq32045){\nvar G__32046 \x3d cljs.core.first(seq32045);\nvar seq32045__$1 \x3d cljs.core.next(seq32045);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32046,seq32045__$1);\n}));\n\ndevtools.formatters.markup._LT_fields_details_GT_ \x3d (function devtools$formatters$markup$_LT_fields_details_GT_(fields,obj){\nvar protocols \x3d devtools.munging.scan_protocols(obj);\nvar has_protocols_QMARK_ \x3d (!(cljs.core.empty_QMARK_(protocols)));\nvar fields_markup \x3d (((!((cljs.core.count(fields) \x3d\x3d\x3d (0)))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fields-icon\x22,\x22fields-icon\x22,-436030420),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-body-fields-table-tag\x22,\x22instance-body-fields-table-tag\x22,1306340776)], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_fields_details_row_GT_,fields))], null):null);\nvar protocols_list_markup \x3d ((has_protocols_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocols-icon\x22,\x22protocols-icon\x22,-517302494),devtools.formatters.markup._LT_protocols_list_GT_(obj,protocols)], null):null);\nvar native_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(obj)], null);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [fields_markup,protocols_list_markup,native_markup], null));\n});\ndevtools.formatters.markup._LT_instance_GT_ \x3d (function devtools$formatters$markup$_LT_instance_GT_(value){\nvar constructor_fn \x3d devtools.formatters.helpers.get_constructor(value);\nvar vec__32082 \x3d devtools.munging.parse_constructor_info(constructor_fn);\nvar _ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32082,(0),null);\nvar _name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32082,(1),null);\nvar basis \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32082,(2),null);\nvar custom_printing_QMARK_ \x3d (((!((value \x3d\x3d null))))?(((((value.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$IPrintWithWriter$))))?true:false):false);\nvar type_markup \x3d devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic(constructor_fn,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22instance-type-header-tag\x22,\x22instance-type-header-tag\x22,-1015702989)], 0));\nvar fields \x3d devtools.formatters.helpers.fetch_fields_values(value,basis);\nvar fields_markup \x3d devtools.formatters.markup._LT_fields_GT_.cljs$core$IFn$_invoke$arity$variadic(fields,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((custom_printing_QMARK_)?(0):null)], 0));\nvar fields_details_markup_fn \x3d (function (){\nreturn devtools.formatters.markup._LT_fields_details_GT_(fields,value);\n});\nvar fields_preview_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-value-tag\x22,\x22instance-value-tag\x22,-1739593896),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value,fields_markup,fields_details_markup_fn], 0))], null);\nvar custom_printing_markup \x3d ((custom_printing_QMARK_)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-tag\x22,\x22instance-custom-printing-wrapper-tag\x22,1461890684),new cljs.core.Keyword(null,\x22instance-custom-printing-background\x22,\x22instance-custom-printing-background\x22,-248433646),devtools.formatters.markup.print_via_protocol(value,new cljs.core.Keyword(null,\x22instance-custom-printing-tag\x22,\x22instance-custom-printing-tag\x22,-67034432))], null):null);\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-header-tag\x22,\x22instance-header-tag\x22,903623870),new cljs.core.Keyword(null,\x22instance-header-background\x22,\x22instance-header-background\x22,1510357287),fields_preview_markup,custom_printing_markup,type_markup], null);\n});\ndevtools.formatters.markup._LT_header_GT_ \x3d (function devtools$formatters$markup$_LT_header_GT_(value){\nreturn devtools.formatters.markup._LT_cljs_land_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.markup._LT_preview_GT_(value)], 0));\n});\ndevtools.formatters.markup._LT_surrogate_header_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_header_GT_(surrogate){\nvar or__5025__auto__ \x3d devtools.formatters.templating.get_surrogate_header(surrogate);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.markup._LT_preview_GT_(devtools.formatters.templating.get_surrogate_target(surrogate));\n}\n});\ndevtools.formatters.markup._LT_surrogate_target_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_target_GT_(surrogate){\nvar target \x3d devtools.formatters.templating.get_surrogate_target(surrogate);\nif(cljs.core.seqable_QMARK_(target)){\nvar starting_index \x3d devtools.formatters.templating.get_surrogate_start_index(surrogate);\nreturn devtools.formatters.markup._LT_details_GT_(target,starting_index);\n} else {\nreturn devtools.formatters.markup._LT_standard_body_reference_GT_(target);\n}\n});\ndevtools.formatters.markup._LT_surrogate_body_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_body_GT_(surrogate){\nvar temp__5802__auto__ \x3d devtools.formatters.templating.get_surrogate_body(surrogate);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar body \x3d temp__5802__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721),body)){\nreturn devtools.formatters.markup._LT_surrogate_target_GT_(surrogate);\n} else {\nreturn body;\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.markup._LT_atomic_GT_ \x3d (function devtools$formatters$markup$_LT_atomic_GT_(value){\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-nils\x22,\x22render-nils\x22,1360008699),value,cljs.core.nil_QMARK_))){\nreturn devtools.formatters.markup._LT_nil_GT_();\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-bools\x22,\x22render-bools\x22,1793659724),value,devtools.formatters.helpers.bool_QMARK_))){\nreturn devtools.formatters.markup._LT_bool_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-strings\x22,\x22render-strings\x22,-1497177335),value,cljs.core.string_QMARK_))){\nreturn devtools.formatters.markup._LT_string_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-numbers\x22,\x22render-numbers\x22,-1385392009),value,cljs.core.number_QMARK_))){\nreturn devtools.formatters.markup._LT_number_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-keywords\x22,\x22render-keywords\x22,1200455875),value,cljs.core.keyword_QMARK_))){\nreturn devtools.formatters.markup._LT_keyword_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-symbols\x22,\x22render-symbols\x22,-887705016),value,cljs.core.symbol_QMARK_))){\nreturn devtools.formatters.markup._LT_symbol_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-instances\x22,\x22render-instances\x22,-1803579686),value,devtools.formatters.helpers.should_render_instance_QMARK_))){\nreturn devtools.formatters.markup._LT_instance_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-types\x22,\x22render-types\x22,-129927851),value,devtools.formatters.helpers.cljs_type_QMARK_))){\nreturn devtools.formatters.markup._LT_standalone_type_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-functions\x22,\x22render-functions\x22,1273333002),value,devtools.formatters.helpers.cljs_function_QMARK_))){\nreturn devtools.formatters.markup._LT_function_GT_(value);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\ndevtools.formatters.markup.get_markup_db \x3d (function devtools$formatters$markup$get_markup_db(){\nif((devtools.formatters.markup._STAR_markup_db_STAR_ \x3d\x3d null)){\n(devtools.formatters.markup._STAR_markup_db_STAR_ \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22aligned-body\x22,\x22aligned-body\x22,-2124118747),new cljs.core.Keyword(null,\x22native-reference\x22,\x22native-reference\x22,-2013708658),new cljs.core.Keyword(null,\x22reference-surrogate\x22,\x22reference-surrogate\x22,274031791),new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),new cljs.core.Keyword(null,\x22protocol-method-arities\x22,\x22protocol-method-arities\x22,-545542044),new cljs.core.Keyword(null,\x22surrogate-header\x22,\x22surrogate-header\x22,1705524526),new cljs.core.Keyword(null,\x22details\x22,\x22details\x22,1956795411),new cljs.core.Keyword(null,\x22more-protocols\x22,\x22more-protocols\x22,359555207),new cljs.core.Keyword(null,\x22field\x22,\x22field\x22,-1302436500),new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),new cljs.core.Keyword(null,\x22fields-details\x22,\x22fields-details\x22,-269572714),new cljs.core.Keyword(null,\x22atomic\x22,\x22atomic\x22,-120459460),new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),new cljs.core.Keyword(null,\x22standard-body\x22,\x22standard-body\x22,-1563020798),new cljs.core.Keyword(null,\x22type-basis\x22,\x22type-basis\x22,-1825246054),new cljs.core.Keyword(null,\x22bool\x22,\x22bool\x22,1444635321),new cljs.core.Keyword(null,\x22standalone-type\x22,\x22standalone-type\x22,-802565278),new cljs.core.Keyword(null,\x22preview\x22,\x22preview\x22,451279890),new cljs.core.Keyword(null,\x22header\x22,\x22header\x22,119441134),new cljs.core.Keyword(null,\x22protocol-method\x22,\x22protocol-method\x22,1794903206),new cljs.core.Keyword(null,\x22cljs-land\x22,\x22cljs-land\x22,1255896927),new cljs.core.Keyword(null,\x22type-basis-item\x22,\x22type-basis-item\x22,-1662150132),new cljs.core.Keyword(null,\x22protocol-method-arities-details\x22,\x22protocol-method-arities-details\x22,1944702118),new cljs.core.Keyword(null,\x22fields-details-row\x22,\x22fields-details-row\x22,2066344936),new cljs.core.Keyword(null,\x22standard-body-reference\x22,\x22standard-body-reference\x22,1513301561),new cljs.core.Keyword(null,\x22surrogate-body\x22,\x22surrogate-body\x22,-1618569585),new cljs.core.Keyword(null,\x22expandable\x22,\x22expandable\x22,-704609097),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22protocol-method-arity\x22,\x22protocol-method-arity\x22,-1861927833),new cljs.core.Keyword(null,\x22raw-surrogate\x22,\x22raw-surrogate\x22,904931181),new cljs.core.Keyword(null,\x22type-details\x22,\x22type-details\x22,477755178),new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),new cljs.core.Keyword(null,\x22meta-wrapper\x22,\x22meta-wrapper\x22,-1989845587),new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),new cljs.core.Keyword(null,\x22index\x22,\x22index\x22,-1531685915),new cljs.core.Keyword(null,\x22surrogate\x22,\x22surrogate\x22,2122284260),new cljs.core.Keyword(null,\x22protocols-list\x22,\x22protocols-list\x22,371434187),new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),new cljs.core.Keyword(null,\x22instance\x22,\x22instance\x22,-2121349050),new cljs.core.Keyword(null,\x22reference\x22,\x22reference\x22,-1711695023),new cljs.core.Keyword(null,\x22function-details\x22,\x22function-details\x22,1501147310),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),new cljs.core.Keyword(null,\x22arities\x22,\x22arities\x22,-1781122917),new cljs.core.Keyword(null,\x22header-expander\x22,\x22header-expander\x22,-1606368578),new cljs.core.Keyword(null,\x22list-details\x22,\x22list-details\x22,46031799),new cljs.core.Keyword(null,\x22circular-reference\x22,\x22circular-reference\x22,970308727),new cljs.core.Keyword(null,\x22surrogate-target\x22,\x22surrogate-target\x22,-1262730220),new cljs.core.Keyword(null,\x22fields\x22,\x22fields\x22,-1932066230),new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501),new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),new cljs.core.Keyword(null,\x22number\x22,\x22number\x22,1570378438),new cljs.core.Keyword(null,\x22protocol-details\x22,\x22protocol-details\x22,-121549824)],[devtools.formatters.markup._LT_aligned_body_GT_,devtools.formatters.markup._LT_native_reference_GT_,devtools.formatters.markup._LT_reference_surrogate_GT_,devtools.formatters.markup._LT_keyword_GT_,devtools.formatters.markup._LT_protocol_method_arities_GT_,devtools.formatters.markup._LT_surrogate_header_GT_,devtools.formatters.markup._LT_details_GT_,devtools.formatters.markup._LT_more_protocols_GT_,devtools.formatters.markup._LT_field_GT_,devtools.formatters.markup._LT_symbol_GT_,devtools.formatters.markup._LT_fields_details_GT_,devtools.formatters.markup._LT_atomic_GT_,devtools.formatters.markup._LT_string_GT_,devtools.formatters.markup._LT_standard_body_GT_,devtools.formatters.markup._LT_type_basis_GT_,devtools.formatters.markup._LT_bool_GT_,devtools.formatters.markup._LT_standalone_type_GT_,devtools.formatters.markup._LT_preview_GT_,devtools.formatters.markup._LT_header_GT_,devtools.formatters.markup._LT_protocol_method_GT_,devtools.formatters.markup._LT_cljs_land_GT_,devtools.formatters.markup._LT_type_basis_item_GT_,devtools.formatters.markup._LT_protocol_method_arities_details_GT_,devtools.formatters.markup._LT_fields_details_row_GT_,devtools.formatters.markup._LT_standard_body_reference_GT_,devtools.formatters.markup._LT_surrogate_body_GT_,devtools.formatters.markup._LT_expandable_GT_,devtools.formatters.markup._LT_type_GT_,devtools.formatters.markup._LT_protocol_method_arity_GT_,devtools.formatters.markup._LT_raw_surrogate_GT_,devtools.formatters.markup._LT_type_details_GT_,devtools.formatters.markup._LT_list_GT_,devtools.formatters.markup._LT_meta_wrapper_GT_,devtools.formatters.markup._LT_protocol_GT_,devtools.formatters.markup._LT_index_GT_,devtools.formatters.markup._LT_surrogate_GT_,devtools.formatters.markup._LT_protocols_list_GT_,devtools.formatters.markup._LT_meta_GT_,devtools.formatters.markup._LT_instance_GT_,devtools.formatters.markup._LT_reference_GT_,devtools.formatters.markup._LT_function_details_GT_,devtools.formatters.markup._LT_function_GT_,devtools.formatters.markup._LT_arities_GT_,devtools.formatters.markup._LT_header_expander_GT_,devtools.formatters.markup._LT_list_details_GT_,devtools.formatters.markup._LT_circular_reference_GT_,devtools.formatters.markup._LT_surrogate_target_GT_,devtools.formatters.markup._LT_fields_GT_,devtools.formatters.markup._LT_nil_GT_,devtools.formatters.markup._LT_body_GT_,devtools.formatters.markup._LT_number_GT_,devtools.formatters.markup._LT_protocol_details_GT_]));\n} else {\n}\n\nreturn devtools.formatters.markup._STAR_markup_db_STAR_;\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.budgeting.js", true, "goog.provide(\x27devtools.formatters.budgeting\x27);\ndevtools.formatters.budgeting.header_expander_depth_cost \x3d (2);\ndevtools.formatters.budgeting.over_budget_values \x3d (((typeof WeakSet !\x3d\x3d \x27undefined\x27))?(new WeakSet()):cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY));\ndevtools.formatters.budgeting.add_over_budget_value_BANG_ \x3d (function devtools$formatters$budgeting$add_over_budget_value_BANG_(value){\nif(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){\nreturn cljs.core.vreset_BANG_(devtools.formatters.budgeting.over_budget_values,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value));\n} else {\nvar o__28962__auto__ \x3d devtools.formatters.budgeting.over_budget_values;\nreturn (o__28962__auto__[\x22add\x22]).call(o__28962__auto__,value);\n}\n});\ndevtools.formatters.budgeting.delete_over_budget_value_BANG_ \x3d (function devtools$formatters$budgeting$delete_over_budget_value_BANG_(value){\nif(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){\nreturn cljs.core.vreset_BANG_(devtools.formatters.budgeting.over_budget_values,cljs.core.disj.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value));\n} else {\nvar o__28962__auto__ \x3d devtools.formatters.budgeting.over_budget_values;\nreturn (o__28962__auto__[\x22delete\x22]).call(o__28962__auto__,value);\n}\n});\ndevtools.formatters.budgeting.has_over_budget_value_QMARK_ \x3d (function devtools$formatters$budgeting$has_over_budget_value_QMARK_(value){\nif(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value);\n} else {\nvar o__28962__auto__ \x3d devtools.formatters.budgeting.over_budget_values;\nreturn (o__28962__auto__[\x22has\x22]).call(o__28962__auto__,value);\n}\n});\ndevtools.formatters.budgeting.object_reference_QMARK_ \x3d (function devtools$formatters$budgeting$object_reference_QMARK_(json_ml){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(json_ml),\x22object\x22);\n});\ndevtools.formatters.budgeting.determine_depth \x3d (function devtools$formatters$budgeting$determine_depth(json_ml){\nif(cljs.core.array_QMARK_(json_ml)){\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.budgeting.determine_depth,json_ml)) + (1));\n} else {\nreturn (0);\n}\n});\ndevtools.formatters.budgeting.has_any_object_reference_QMARK_ \x3d (function devtools$formatters$budgeting$has_any_object_reference_QMARK_(json_ml){\nif(cljs.core.array_QMARK_(json_ml)){\nif(devtools.formatters.budgeting.object_reference_QMARK_(json_ml)){\nreturn true;\n} else {\nreturn cljs.core.some(devtools.formatters.budgeting.has_any_object_reference_QMARK_,json_ml);\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.budgeting.transfer_remaining_depth_budget_BANG_ \x3d (function devtools$formatters$budgeting$transfer_remaining_depth_budget_BANG_(object_reference,depth_budget){\nif((!((depth_budget \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? depth-budget))\x22));\n}\n\nvar data \x3d cljs.core.second(object_reference);\nvar _ \x3d ((cljs.core.object_QMARK_(data))?null:(function(){throw (new Error(\x22Assert failed: (object? data)\x22))})());\nvar config \x3d (data[\x22config\x22]);\nvar G__32199 \x3d data;\nvar target__28995__auto__ \x3d G__32199;\nif(cljs.core.truth_(target__28995__auto__)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22unable to locate object path \x22,null,\x22 in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__32199)].join(\x27\x27),\x22\\n\x22,\x22target__28995__auto__\x22].join(\x27\x27)));\n}\n\n(target__28995__auto__[\x22config\x22] \x3d devtools.formatters.state.set_depth_budget(config,depth_budget));\n\nreturn G__32199;\n});\ndevtools.formatters.budgeting.distribute_budget_BANG_ \x3d (function devtools$formatters$budgeting$distribute_budget_BANG_(json_ml,depth_budget){\nif((!((depth_budget \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? depth-budget))\x22));\n}\n\nif(cljs.core.array_QMARK_(json_ml)){\nvar new_depth_budget_32268 \x3d (depth_budget - (1));\nif(devtools.formatters.budgeting.object_reference_QMARK_(json_ml)){\ndevtools.formatters.budgeting.transfer_remaining_depth_budget_BANG_(json_ml,new_depth_budget_32268);\n} else {\nvar seq__32210_32269 \x3d cljs.core.seq(json_ml);\nvar chunk__32211_32270 \x3d null;\nvar count__32212_32271 \x3d (0);\nvar i__32213_32272 \x3d (0);\nwhile(true){\nif((i__32213_32272 \x3c count__32212_32271)){\nvar item_32277 \x3d chunk__32211_32270.cljs$core$IIndexed$_nth$arity$2(null,i__32213_32272);\n(devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2 ? devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2(item_32277,new_depth_budget_32268) : devtools.formatters.budgeting.distribute_budget_BANG_.call(null,item_32277,new_depth_budget_32268));\n\n\nvar G__32289 \x3d seq__32210_32269;\nvar G__32290 \x3d chunk__32211_32270;\nvar G__32291 \x3d count__32212_32271;\nvar G__32292 \x3d (i__32213_32272 + (1));\nseq__32210_32269 \x3d G__32289;\nchunk__32211_32270 \x3d G__32290;\ncount__32212_32271 \x3d G__32291;\ni__32213_32272 \x3d G__32292;\ncontinue;\n} else {\nvar temp__5804__auto___32294 \x3d cljs.core.seq(seq__32210_32269);\nif(temp__5804__auto___32294){\nvar seq__32210_32295__$1 \x3d temp__5804__auto___32294;\nif(cljs.core.chunked_seq_QMARK_(seq__32210_32295__$1)){\nvar c__5548__auto___32297 \x3d cljs.core.chunk_first(seq__32210_32295__$1);\nvar G__32302 \x3d cljs.core.chunk_rest(seq__32210_32295__$1);\nvar G__32303 \x3d c__5548__auto___32297;\nvar G__32304 \x3d cljs.core.count(c__5548__auto___32297);\nvar G__32305 \x3d (0);\nseq__32210_32269 \x3d G__32302;\nchunk__32211_32270 \x3d G__32303;\ncount__32212_32271 \x3d G__32304;\ni__32213_32272 \x3d G__32305;\ncontinue;\n} else {\nvar item_32307 \x3d cljs.core.first(seq__32210_32295__$1);\n(devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2 ? devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2(item_32307,new_depth_budget_32268) : devtools.formatters.budgeting.distribute_budget_BANG_.call(null,item_32307,new_depth_budget_32268));\n\n\nvar G__32309 \x3d cljs.core.next(seq__32210_32295__$1);\nvar G__32310 \x3d null;\nvar G__32311 \x3d (0);\nvar G__32312 \x3d (0);\nseq__32210_32269 \x3d G__32309;\nchunk__32211_32270 \x3d G__32310;\ncount__32212_32271 \x3d G__32311;\ni__32213_32272 \x3d G__32312;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}\n} else {\n}\n\nreturn json_ml;\n});\ndevtools.formatters.budgeting.was_over_budget_QMARK__BANG_ \x3d (function devtools$formatters$budgeting$was_over_budget_QMARK__BANG_(value){\nif(cljs.core.truth_(devtools.formatters.budgeting.has_over_budget_value_QMARK_(value))){\ndevtools.formatters.budgeting.delete_over_budget_value_BANG_(value);\n\nreturn true;\n} else {\nreturn null;\n}\n});\ndevtools.formatters.budgeting.alter_json_ml_to_fit_in_remaining_budget_BANG_ \x3d (function devtools$formatters$budgeting$alter_json_ml_to_fit_in_remaining_budget_BANG_(value,json_ml){\nvar temp__5802__auto__ \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22initial-hierarchy-depth-budget\x22,\x22initial-hierarchy-depth-budget\x22,-482715807));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar initial_hierarchy_depth_budget \x3d temp__5802__auto__;\nvar remaining_depth_budget \x3d (function (){var or__5025__auto__ \x3d devtools.formatters.state.get_depth_budget();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (initial_hierarchy_depth_budget - (1));\n}\n})();\nvar depth \x3d devtools.formatters.budgeting.determine_depth(json_ml);\nvar final_QMARK_ \x3d cljs.core.not(devtools.formatters.budgeting.has_any_object_reference_QMARK_(json_ml));\nvar needed_depth \x3d ((final_QMARK_)?depth:(depth + devtools.formatters.budgeting.header_expander_depth_cost));\nif((remaining_depth_budget \x3e\x3d needed_depth)){\nreturn devtools.formatters.budgeting.distribute_budget_BANG_(json_ml,remaining_depth_budget);\n} else {\nvar expander_ml \x3d devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_header_expander_GT_(value));\ndevtools.formatters.budgeting.add_over_budget_value_BANG_(value);\n\nreturn expander_ml;\n}\n} else {\nreturn json_ml;\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.core.js", true, "goog.provide(\x27devtools.formatters.core\x27);\ndevtools.formatters.core.want_value_QMARK__STAR_ \x3d (function devtools$formatters$core$want_value_QMARK__STAR_(value){\nvar and__5023__auto__ \x3d cljs.core.not(devtools.formatters.state.prevent_recursion_QMARK_());\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d devtools.formatters.helpers.cljs_value_QMARK_(value);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.templating.surrogate_QMARK_(value);\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.core.header_STAR_ \x3d (function devtools$formatters$core$header_STAR_(value){\nvar json_ml \x3d ((devtools.formatters.templating.surrogate_QMARK_(value))?devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_surrogate_header_GT_(value)):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e32253){var _e__29009__auto__ \x3d e32253;\nreturn false;\n}})())?devtools.format._header(value):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e32260){var _e__29009__auto__ \x3d e32260;\nreturn false;\n}})())?devtools.protocols._header(value):devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_header_GT_(value))\n)));\nreturn devtools.formatters.budgeting.alter_json_ml_to_fit_in_remaining_budget_BANG_(value,json_ml);\n});\ndevtools.formatters.core.has_body_STAR_ \x3d (function devtools$formatters$core$has_body_STAR_(value){\nif(cljs.core.truth_(devtools.formatters.budgeting.was_over_budget_QMARK__BANG_(value))){\nreturn false;\n} else {\nreturn cljs.core.boolean$(((devtools.formatters.templating.surrogate_QMARK_(value))?(!((devtools.formatters.templating.get_surrogate_body(value) \x3d\x3d null))):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e32314){var _e__29009__auto__ \x3d e32314;\nreturn false;\n}})())?devtools.format._has_body(value):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e32323){var _e__29009__auto__ \x3d e32323;\nreturn false;\n}})())?devtools.protocols._has_body(value):false\n))));\n}\n});\ndevtools.formatters.core.body_STAR_ \x3d (function devtools$formatters$core$body_STAR_(value){\ndevtools.formatters.state.update_current_state_BANG_(devtools.formatters.state.reset_depth_limits);\n\nif(devtools.formatters.templating.surrogate_QMARK_(value)){\nreturn devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_surrogate_body_GT_(value));\n} else {\nif(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e32328){var _e__29009__auto__ \x3d e32328;\nreturn false;\n}})())){\nreturn devtools.format._body(value);\n} else {\nif(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e32332){var _e__29009__auto__ \x3d e32332;\nreturn false;\n}})())){\nreturn devtools.protocols._body(value);\n} else {\nreturn null;\n}\n}\n}\n});\ndevtools.formatters.core.config_wrapper \x3d (function devtools$formatters$core$config_wrapper(raw_fn){\nreturn (function (value,config){\nvar _STAR_current_state_STAR__orig_val__32339 \x3d devtools.formatters.state._STAR_current_state_STAR_;\nvar _STAR_current_state_STAR__temp_val__32340 \x3d (function (){var or__5025__auto__ \x3d config;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.state.get_default_state();\n}\n})();\n(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__temp_val__32340);\n\ntry{return (raw_fn.cljs$core$IFn$_invoke$arity$1 ? raw_fn.cljs$core$IFn$_invoke$arity$1(value) : raw_fn.call(null,value));\n}finally {(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__orig_val__32339);\n}});\n});\ndevtools.formatters.core.want_value_QMARK_ \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.want_value_QMARK__STAR_);\ndevtools.formatters.core.header \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.header_STAR_);\ndevtools.formatters.core.has_body \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.has_body_STAR_);\ndevtools.formatters.core.body \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.body_STAR_);\ndevtools.formatters.core.wrap_with_exception_guard \x3d (function devtools$formatters$core$wrap_with_exception_guard(f){\nreturn (function() { \nvar G__32431__delegate \x3d function (args){\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}catch (e32346){var e \x3d e32346;\ndevtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic(e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22an exception was raised during value formatting\x22], 0));\n\nreturn null;\n}};\nvar G__32431 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32434__i \x3d 0, G__32434__a \x3d new Array(arguments.length -  0);\nwhile (G__32434__i \x3c G__32434__a.length) {G__32434__a[G__32434__i] \x3d arguments[G__32434__i + 0]; ++G__32434__i;}\n  args \x3d new cljs.core.IndexedSeq(G__32434__a,0,null);\n} \nreturn G__32431__delegate.call(this,args);};\nG__32431.cljs$lang$maxFixedArity \x3d 0;\nG__32431.cljs$lang$applyTo \x3d (function (arglist__32435){\nvar args \x3d cljs.core.seq(arglist__32435);\nreturn G__32431__delegate(args);\n});\nG__32431.cljs$core$IFn$_invoke$arity$variadic \x3d G__32431__delegate;\nreturn G__32431;\n})()\n;\n});\ndevtools.formatters.core.build_api_call \x3d (function devtools$formatters$core$build_api_call(raw_fn,pre_handler_key,post_handler_key){\n\nvar handler \x3d (function (value,config){\nvar pre_handler \x3d (function (){var or__5025__auto__ \x3d devtools.prefs.pref(pre_handler_key);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.identity;\n}\n})();\nvar post_handler \x3d (function (){var or__5025__auto__ \x3d devtools.prefs.pref(post_handler_key);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.identity;\n}\n})();\nvar preprocessed_value \x3d (pre_handler.cljs$core$IFn$_invoke$arity$1 ? pre_handler.cljs$core$IFn$_invoke$arity$1(value) : pre_handler.call(null,value));\nvar result \x3d (cljs.core.truth_(devtools.formatters.core.want_value_QMARK_(preprocessed_value,config))?(raw_fn.cljs$core$IFn$_invoke$arity$2 ? raw_fn.cljs$core$IFn$_invoke$arity$2(preprocessed_value,config) : raw_fn.call(null,preprocessed_value,config)):null);\nreturn (post_handler.cljs$core$IFn$_invoke$arity$1 ? post_handler.cljs$core$IFn$_invoke$arity$1(result) : post_handler.call(null,result));\n});\nreturn devtools.formatters.core.wrap_with_exception_guard(handler);\n});\ndevtools.formatters.core.header_api_call \x3d devtools.formatters.core.build_api_call(devtools.formatters.core.header,new cljs.core.Keyword(null,\x22header-pre-handler\x22,\x22header-pre-handler\x22,-1997722262),new cljs.core.Keyword(null,\x22header-post-handler\x22,\x22header-post-handler\x22,514828618));\ndevtools.formatters.core.has_body_api_call \x3d devtools.formatters.core.build_api_call(devtools.formatters.core.has_body,new cljs.core.Keyword(null,\x22has-body-pre-handler\x22,\x22has-body-pre-handler\x22,1787020038),new cljs.core.Keyword(null,\x22has-body-post-handler\x22,\x22has-body-post-handler\x22,-863451271));\ndevtools.formatters.core.body_api_call \x3d devtools.formatters.core.build_api_call(devtools.formatters.core.body,new cljs.core.Keyword(null,\x22body-pre-handler\x22,\x22body-pre-handler\x22,1211926529),new cljs.core.Keyword(null,\x22body-post-handler\x22,\x22body-post-handler\x22,-1040905424));\n");
SHADOW_ENV.evalLoad("devtools.formatters.js", true, "goog.provide(\x27devtools.formatters\x27);\ngoog.scope(function(){\n  devtools.formatters.goog$module$goog$labs$userAgent$browser \x3d goog.module.get(\x27goog.labs.userAgent.browser\x27);\n});\ndevtools.formatters._STAR_installed_STAR_ \x3d false;\ndevtools.formatters._STAR_sanitizer_enabled_STAR_ \x3d true;\ndevtools.formatters._STAR_monitor_enabled_STAR_ \x3d false;\ndevtools.formatters.obsolete_formatter_key \x3d \x22devtoolsFormatter\x22;\ndevtools.formatters.available_QMARK_ \x3d (function devtools$formatters$available_QMARK_(){\nvar or__5025__auto__ \x3d devtools.util.in_node_context_QMARK_.call(null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var and__5023__auto__ \x3d devtools.formatters.goog$module$goog$labs$userAgent$browser.isChrome();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.formatters.goog$module$goog$labs$userAgent$browser.isVersionOrHigher((47));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var and__5023__auto__ \x3d devtools.formatters.goog$module$goog$labs$userAgent$browser.isFirefox();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.formatters.goog$module$goog$labs$userAgent$browser.isVersionOrHigher((111));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar and__5023__auto__ \x3d (function (){var or__5025__auto____$3 \x3d devtools.formatters.goog$module$goog$labs$userAgent$browser.isEdge();\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nreturn devtools.formatters.goog$module$goog$labs$userAgent$browser.isEdgeChromium();\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.formatters.goog$module$goog$labs$userAgent$browser.isVersionOrHigher((79));\n} else {\nreturn and__5023__auto__;\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\ndevtools.formatters.CLJSDevtoolsFormatter \x3d (function (){\n});\n\n(devtools.formatters.CLJSDevtoolsFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(devtools.formatters.CLJSDevtoolsFormatter.cljs$lang$type \x3d true);\n\n(devtools.formatters.CLJSDevtoolsFormatter.cljs$lang$ctorStr \x3d \x22devtools.formatters/CLJSDevtoolsFormatter\x22);\n\n(devtools.formatters.CLJSDevtoolsFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22devtools.formatters/CLJSDevtoolsFormatter\x22);\n}));\n\n/**\n * Positional factory function for devtools.formatters/CLJSDevtoolsFormatter.\n */\ndevtools.formatters.__GT_CLJSDevtoolsFormatter \x3d (function devtools$formatters$__GT_CLJSDevtoolsFormatter(){\nreturn (new devtools.formatters.CLJSDevtoolsFormatter());\n});\n\ndevtools.formatters.find_fn_in_debug_ns \x3d (function devtools$formatters$find_fn_in_debug_ns(fn_name){\ntry{return (devtools.context.get_root.call(null)[\x22devtools\x22][\x22debug\x22][fn_name]);\n}catch (e32405){var _ \x3d e32405;\nreturn null;\n}});\ndevtools.formatters.monitor_api_call_if_avail \x3d (function devtools$formatters$monitor_api_call_if_avail(name,api_call,args){\nvar temp__5802__auto__ \x3d devtools.formatters.find_fn_in_debug_ns(\x22monitor_api_call\x22);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar monitor_api_call \x3d temp__5802__auto__;\nreturn (monitor_api_call.cljs$core$IFn$_invoke$arity$3 ? monitor_api_call.cljs$core$IFn$_invoke$arity$3(name,api_call,args) : monitor_api_call.call(null,name,api_call,args));\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n}\n});\ndevtools.formatters.log_exception_if_avail \x3d (function devtools$formatters$log_exception_if_avail(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32902 \x3d arguments.length;\nvar i__5750__auto___32903 \x3d (0);\nwhile(true){\nif((i__5750__auto___32903 \x3c len__5749__auto___32902)){\nargs__5755__auto__.push((arguments[i__5750__auto___32903]));\n\nvar G__32904 \x3d (i__5750__auto___32903 + (1));\ni__5750__auto___32903 \x3d G__32904;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.log_exception_if_avail.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.log_exception_if_avail.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nvar temp__5802__auto__ \x3d devtools.formatters.find_fn_in_debug_ns(\x22log_exception\x22);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar log_exception \x3d temp__5802__auto__;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(log_exception,args);\n} else {\nreturn null;\n}\n}));\n\n(devtools.formatters.log_exception_if_avail.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.log_exception_if_avail.cljs$lang$applyTo \x3d (function (seq32461){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32461));\n}));\n\ndevtools.formatters.monitor_api_calls \x3d (function devtools$formatters$monitor_api_calls(name,api_call){\nreturn (function() { \nvar G__32912__delegate \x3d function (args){\nif(cljs.core.not(devtools.formatters._STAR_monitor_enabled_STAR_)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n} else {\nreturn devtools.formatters.monitor_api_call_if_avail(name,api_call,args);\n}\n};\nvar G__32912 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32915__i \x3d 0, G__32915__a \x3d new Array(arguments.length -  0);\nwhile (G__32915__i \x3c G__32915__a.length) {G__32915__a[G__32915__i] \x3d arguments[G__32915__i + 0]; ++G__32915__i;}\n  args \x3d new cljs.core.IndexedSeq(G__32915__a,0,null);\n} \nreturn G__32912__delegate.call(this,args);};\nG__32912.cljs$lang$maxFixedArity \x3d 0;\nG__32912.cljs$lang$applyTo \x3d (function (arglist__32917){\nvar args \x3d cljs.core.seq(arglist__32917);\nreturn G__32912__delegate(args);\n});\nG__32912.cljs$core$IFn$_invoke$arity$variadic \x3d G__32912__delegate;\nreturn G__32912;\n})()\n;\n});\ndevtools.formatters.sanitize \x3d (function devtools$formatters$sanitize(name,api_call){\nreturn (function() { \nvar G__32918__delegate \x3d function (args){\nif(cljs.core.not(devtools.formatters._STAR_sanitizer_enabled_STAR_)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n} else {\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n}catch (e32662){var e \x3d e32662;\ndevtools.formatters.log_exception_if_avail.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(\x27\x27)], 0));\n\nreturn null;\n}}\n};\nvar G__32918 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32925__i \x3d 0, G__32925__a \x3d new Array(arguments.length -  0);\nwhile (G__32925__i \x3c G__32925__a.length) {G__32925__a[G__32925__i] \x3d arguments[G__32925__i + 0]; ++G__32925__i;}\n  args \x3d new cljs.core.IndexedSeq(G__32925__a,0,null);\n} \nreturn G__32918__delegate.call(this,args);};\nG__32918.cljs$lang$maxFixedArity \x3d 0;\nG__32918.cljs$lang$applyTo \x3d (function (arglist__32926){\nvar args \x3d cljs.core.seq(arglist__32926);\nreturn G__32918__delegate(args);\n});\nG__32918.cljs$core$IFn$_invoke$arity$variadic \x3d G__32918__delegate;\nreturn G__32918;\n})()\n;\n});\ndevtools.formatters.build_cljs_formatter \x3d (function devtools$formatters$build_cljs_formatter(){\nvar wrap \x3d (function (name,api_call){\nvar monitor \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.monitor_api_calls,name);\nvar sanitizer \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.sanitize,name);\ncljs.core.comp.cljs$core$IFn$_invoke$arity$2(monitor,sanitizer)(api_call);\n\nreturn api_call;\n});\nvar formatter \x3d (new devtools.formatters.CLJSDevtoolsFormatter());\nvar define_BANG_ \x3d (function (name,fn){\nreturn (formatter[name] \x3d wrap(name,fn));\n});\ndefine_BANG_(\x22header\x22,devtools.formatters.core.header_api_call);\n\ndefine_BANG_(\x22hasBody\x22,devtools.formatters.core.has_body_api_call);\n\ndefine_BANG_(\x22body\x22,devtools.formatters.core.body_api_call);\n\nreturn formatter;\n});\ndevtools.formatters.is_ours_QMARK_ \x3d (function devtools$formatters$is_ours_QMARK_(o){\nreturn (o instanceof devtools.formatters.CLJSDevtoolsFormatter);\n});\ndevtools.formatters.install_our_formatter_BANG_ \x3d (function devtools$formatters$install_our_formatter_BANG_(formatter){\nvar formatters \x3d devtools.util.get_formatters_safe().slice();\nformatters.push(formatter);\n\ndevtools.util.set_formatters_safe_BANG_(formatters);\n\nif(cljs.core.truth_(devtools.prefs.pref(new cljs.core.Keyword(null,\x22legacy-formatter\x22,\x22legacy-formatter\x22,-1954119499)))){\nreturn (devtools.context.get_root.call(null)[devtools.formatters.obsolete_formatter_key] \x3d formatter);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.uninstall_our_formatters_BANG_ \x3d (function devtools$formatters$uninstall_our_formatters_BANG_(){\nvar new_formatters \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(devtools.formatters.is_ours_QMARK_,cljs.core.vec(devtools.util.get_formatters_safe()));\nvar new_formatters_js \x3d ((cljs.core.empty_QMARK_(new_formatters))?null:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(new_formatters));\nreturn devtools.util.set_formatters_safe_BANG_(new_formatters_js);\n});\ndevtools.formatters.installed_QMARK_ \x3d (function devtools$formatters$installed_QMARK_(){\nreturn devtools.formatters._STAR_installed_STAR_;\n});\ndevtools.formatters.install_BANG_ \x3d (function devtools$formatters$install_BANG_(){\nif(cljs.core.truth_(devtools.formatters._STAR_installed_STAR_)){\nreturn null;\n} else {\n(devtools.formatters._STAR_installed_STAR_ \x3d true);\n\ndevtools.formatters.install_our_formatter_BANG_(devtools.formatters.build_cljs_formatter());\n\nreturn true;\n}\n});\ndevtools.formatters.uninstall_BANG_ \x3d (function devtools$formatters$uninstall_BANG_(){\nif(cljs.core.truth_(devtools.formatters._STAR_installed_STAR_)){\n(devtools.formatters._STAR_installed_STAR_ \x3d false);\n\nreturn devtools.formatters.uninstall_our_formatters_BANG_();\n} else {\nreturn null;\n}\n});\ndevtools.formatters.present_QMARK_ \x3d (function devtools$formatters$present_QMARK_(){\nvar formatters \x3d devtools.util.get_formatters_safe();\nreturn cljs.core.boolean$(cljs.core.some(devtools.formatters.is_ours_QMARK_,formatters));\n});\n");
SHADOW_ENV.evalLoad("goog.debug.entrypointregistry.js", true, "goog.provide(\x22goog.debug.EntryPointMonitor\x22);\ngoog.provide(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.debug.entryPointRegistry.EntryPointMonitor \x3d function() {\n};\ngoog.debug.entryPointRegistry.EntryPointMonitor.prototype.wrap;\ngoog.debug.entryPointRegistry.EntryPointMonitor.prototype.unwrap;\ngoog.debug.EntryPointMonitor \x3d goog.debug.entryPointRegistry.EntryPointMonitor;\ngoog.debug.entryPointRegistry.refList_ \x3d [];\ngoog.debug.entryPointRegistry.monitors_ \x3d [];\ngoog.debug.entryPointRegistry.monitorsMayExist_ \x3d false;\ngoog.debug.entryPointRegistry.register \x3d function(callback) {\n  goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length] \x3d callback;\n  if (goog.debug.entryPointRegistry.monitorsMayExist_) {\n    var monitors \x3d goog.debug.entryPointRegistry.monitors_;\n    var i \x3d 0;\n    for (; i \x3c monitors.length; i++) {\n      callback(goog.bind(monitors[i].wrap, monitors[i]));\n    }\n  }\n};\ngoog.debug.entryPointRegistry.monitorAll \x3d function(monitor) {\n  goog.debug.entryPointRegistry.monitorsMayExist_ \x3d true;\n  var transformer \x3d goog.bind(monitor.wrap, monitor);\n  var i \x3d 0;\n  for (; i \x3c goog.debug.entryPointRegistry.refList_.length; i++) {\n    goog.debug.entryPointRegistry.refList_[i](transformer);\n  }\n  goog.debug.entryPointRegistry.monitors_.push(monitor);\n};\ngoog.debug.entryPointRegistry.unmonitorAllIfPossible \x3d function(monitor) {\n  var monitors \x3d goog.debug.entryPointRegistry.monitors_;\n  goog.asserts.assert(monitor \x3d\x3d monitors[monitors.length - 1], \x22Only the most recent monitor can be unwrapped.\x22);\n  var transformer \x3d goog.bind(monitor.unwrap, monitor);\n  var i \x3d 0;\n  for (; i \x3c goog.debug.entryPointRegistry.refList_.length; i++) {\n    goog.debug.entryPointRegistry.refList_[i](transformer);\n  }\n  monitors.length--;\n};\n");
SHADOW_ENV.evalLoad("goog.dom.browserfeature.js", true, "goog.provide(\x22goog.dom.BrowserFeature\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.BrowserFeature.ASSUME_NO_OFFSCREEN_CANVAS \x3d goog.define(\x22goog.dom.ASSUME_NO_OFFSCREEN_CANVAS\x22, false);\ngoog.dom.BrowserFeature.ASSUME_OFFSCREEN_CANVAS \x3d goog.define(\x22goog.dom.ASSUME_OFFSCREEN_CANVAS\x22, false);\ngoog.dom.BrowserFeature.detectOffscreenCanvas_ \x3d function(contextName) {\n  try {\n    return Boolean((new self.OffscreenCanvas(0, 0)).getContext(contextName));\n  } catch (ex) {\n  }\n  return false;\n};\ngoog.dom.BrowserFeature.OFFSCREEN_CANVAS_2D \x3d !goog.dom.BrowserFeature.ASSUME_NO_OFFSCREEN_CANVAS \x26\x26 (goog.dom.BrowserFeature.ASSUME_OFFSCREEN_CANVAS || goog.dom.BrowserFeature.detectOffscreenCanvas_(\x222d\x22));\ngoog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES \x3d true;\ngoog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE \x3d true;\ngoog.dom.BrowserFeature.CAN_USE_INNER_TEXT \x3d false;\ngoog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY \x3d goog.userAgent.IE || goog.userAgent.WEBKIT;\ngoog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT \x3d goog.userAgent.IE;\n");
SHADOW_ENV.evalLoad("goog.math.math.js", true, "goog.provide(\x22goog.math\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.math.randomInt \x3d function(a) {\n  return Math.floor(Math.random() * a);\n};\ngoog.math.uniformRandom \x3d function(a, b) {\n  return a + Math.random() * (b - a);\n};\ngoog.math.clamp \x3d function(value, min, max) {\n  return Math.min(Math.max(value, min), max);\n};\ngoog.math.modulo \x3d function(a, b) {\n  var r \x3d a % b;\n  return r * b \x3c 0 ? r + b : r;\n};\ngoog.math.lerp \x3d function(a, b, x) {\n  return a + x * (b - a);\n};\ngoog.math.nearlyEquals \x3d function(a, b, opt_tolerance) {\n  return Math.abs(a - b) \x3c\x3d (opt_tolerance || 0.000001);\n};\ngoog.math.standardAngle \x3d function(angle) {\n  return goog.math.modulo(angle, 360);\n};\ngoog.math.standardAngleInRadians \x3d function(angle) {\n  return goog.math.modulo(angle, 2 * Math.PI);\n};\ngoog.math.toRadians \x3d function(angleDegrees) {\n  return angleDegrees * Math.PI / 180;\n};\ngoog.math.toDegrees \x3d function(angleRadians) {\n  return angleRadians * 180 / Math.PI;\n};\ngoog.math.angleDx \x3d function(degrees, radius) {\n  return radius * Math.cos(goog.math.toRadians(degrees));\n};\ngoog.math.angleDy \x3d function(degrees, radius) {\n  return radius * Math.sin(goog.math.toRadians(degrees));\n};\ngoog.math.angle \x3d function(x1, y1, x2, y2) {\n  return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(y2 - y1, x2 - x1)));\n};\ngoog.math.angleDifference \x3d function(startAngle, endAngle) {\n  var d \x3d goog.math.standardAngle(endAngle) - goog.math.standardAngle(startAngle);\n  if (d \x3e 180) {\n    d \x3d d - 360;\n  } else if (d \x3c\x3d -180) {\n    d \x3d 360 + d;\n  }\n  return d;\n};\ngoog.math.sign \x3d function(x) {\n  if (x \x3e 0) {\n    return 1;\n  }\n  if (x \x3c 0) {\n    return -1;\n  }\n  return x;\n};\ngoog.math.longestCommonSubsequence \x3d function(array1, array2, opt_compareFn, opt_collectorFn) {\n  var compare \x3d opt_compareFn || function(a, b) {\n    return a \x3d\x3d b;\n  };\n  var collect \x3d opt_collectorFn || function(i1, i2) {\n    return array1[i1];\n  };\n  var length1 \x3d array1.length;\n  var length2 \x3d array2.length;\n  var arr \x3d [];\n  var i \x3d 0;\n  for (; i \x3c length1 + 1; i++) {\n    arr[i] \x3d [];\n    arr[i][0] \x3d 0;\n  }\n  var j \x3d 0;\n  for (; j \x3c length2 + 1; j++) {\n    arr[0][j] \x3d 0;\n  }\n  i \x3d 1;\n  for (; i \x3c\x3d length1; i++) {\n    j \x3d 1;\n    for (; j \x3c\x3d length2; j++) {\n      if (compare(array1[i - 1], array2[j - 1])) {\n        arr[i][j] \x3d arr[i - 1][j - 1] + 1;\n      } else {\n        arr[i][j] \x3d Math.max(arr[i - 1][j], arr[i][j - 1]);\n      }\n    }\n  }\n  var result \x3d [];\n  i \x3d length1;\n  j \x3d length2;\n  for (; i \x3e 0 \x26\x26 j \x3e 0;) {\n    if (compare(array1[i - 1], array2[j - 1])) {\n      result.unshift(collect(i - 1, j - 1));\n      i--;\n      j--;\n    } else {\n      if (arr[i - 1][j] \x3e arr[i][j - 1]) {\n        i--;\n      } else {\n        j--;\n      }\n    }\n  }\n  return result;\n};\ngoog.math.sum \x3d function(var_args) {\n  return Array.prototype.reduce.call(arguments, function(sum, value) {\n    return sum + value;\n  }, 0);\n};\ngoog.math.average \x3d function(var_args) {\n  return goog.math.sum.apply(null, arguments) / arguments.length;\n};\ngoog.math.sampleVariance \x3d function(var_args) {\n  var sampleSize \x3d arguments.length;\n  if (sampleSize \x3c 2) {\n    return 0;\n  }\n  var mean \x3d goog.math.average.apply(null, arguments);\n  var variance \x3d goog.math.sum.apply(null, Array.prototype.map.call(arguments, function(val) {\n    return Math.pow(val - mean, 2);\n  })) / (sampleSize - 1);\n  return variance;\n};\ngoog.math.standardDeviation \x3d function(var_args) {\n  return Math.sqrt(goog.math.sampleVariance.apply(null, arguments));\n};\ngoog.math.isInt \x3d function(num) {\n  return isFinite(num) \x26\x26 num % 1 \x3d\x3d 0;\n};\ngoog.math.isFiniteNumber \x3d function(num) {\n  return isFinite(num);\n};\ngoog.math.isNegativeZero \x3d function(num) {\n  return num \x3d\x3d 0 \x26\x26 1 / num \x3c 0;\n};\ngoog.math.log10Floor \x3d function(num) {\n  if (num \x3e 0) {\n    var x \x3d Math.round(Math.log(num) * Math.LOG10E);\n    return x - (parseFloat(\x221e\x22 + x) \x3e num ? 1 : 0);\n  }\n  return num \x3d\x3d 0 ? -Infinity : NaN;\n};\ngoog.math.safeFloor \x3d function(num, opt_epsilon) {\n  goog.asserts.assert(opt_epsilon \x3d\x3d\x3d undefined || opt_epsilon \x3e 0);\n  return Math.floor(num + (opt_epsilon || 2e-15));\n};\ngoog.math.safeCeil \x3d function(num, opt_epsilon) {\n  goog.asserts.assert(opt_epsilon \x3d\x3d\x3d undefined || opt_epsilon \x3e 0);\n  return Math.ceil(num - (opt_epsilon || 2e-15));\n};\n");
SHADOW_ENV.evalLoad("goog.math.coordinate.js", true, "goog.provide(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math\x22);\ngoog.math.Coordinate \x3d function(opt_x, opt_y) {\n  this.x \x3d opt_x !\x3d\x3d undefined ? opt_x : 0;\n  this.y \x3d opt_y !\x3d\x3d undefined ? opt_y : 0;\n};\ngoog.math.Coordinate.prototype.clone \x3d function() {\n  return new goog.math.Coordinate(this.x, this.y);\n};\nif (goog.DEBUG) {\n  goog.math.Coordinate.prototype.toString \x3d function() {\n    return \x22(\x22 + this.x + \x22, \x22 + this.y + \x22)\x22;\n  };\n}\ngoog.math.Coordinate.prototype.equals \x3d function(other) {\n  return other instanceof goog.math.Coordinate \x26\x26 goog.math.Coordinate.equals(this, other);\n};\ngoog.math.Coordinate.equals \x3d function(a, b) {\n  if (a \x3d\x3d b) {\n    return true;\n  }\n  if (!a || !b) {\n    return false;\n  }\n  return a.x \x3d\x3d b.x \x26\x26 a.y \x3d\x3d b.y;\n};\ngoog.math.Coordinate.distance \x3d function(a, b) {\n  var dx \x3d a.x - b.x;\n  var dy \x3d a.y - b.y;\n  return Math.sqrt(dx * dx + dy * dy);\n};\ngoog.math.Coordinate.magnitude \x3d function(a) {\n  return Math.sqrt(a.x * a.x + a.y * a.y);\n};\ngoog.math.Coordinate.azimuth \x3d function(a) {\n  return goog.math.angle(0, 0, a.x, a.y);\n};\ngoog.math.Coordinate.squaredDistance \x3d function(a, b) {\n  var dx \x3d a.x - b.x;\n  var dy \x3d a.y - b.y;\n  return dx * dx + dy * dy;\n};\ngoog.math.Coordinate.difference \x3d function(a, b) {\n  return new goog.math.Coordinate(a.x - b.x, a.y - b.y);\n};\ngoog.math.Coordinate.sum \x3d function(a, b) {\n  return new goog.math.Coordinate(a.x + b.x, a.y + b.y);\n};\ngoog.math.Coordinate.prototype.ceil \x3d function() {\n  this.x \x3d Math.ceil(this.x);\n  this.y \x3d Math.ceil(this.y);\n  return this;\n};\ngoog.math.Coordinate.prototype.floor \x3d function() {\n  this.x \x3d Math.floor(this.x);\n  this.y \x3d Math.floor(this.y);\n  return this;\n};\ngoog.math.Coordinate.prototype.round \x3d function() {\n  this.x \x3d Math.round(this.x);\n  this.y \x3d Math.round(this.y);\n  return this;\n};\ngoog.math.Coordinate.prototype.translate \x3d function(tx, opt_ty) {\n  if (tx instanceof goog.math.Coordinate) {\n    this.x +\x3d tx.x;\n    this.y +\x3d tx.y;\n  } else {\n    this.x +\x3d Number(tx);\n    if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n      this.y +\x3d opt_ty;\n    }\n  }\n  return this;\n};\ngoog.math.Coordinate.prototype.scale \x3d function(sx, opt_sy) {\n  var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n  this.x *\x3d sx;\n  this.y *\x3d sy;\n  return this;\n};\ngoog.math.Coordinate.prototype.rotateRadians \x3d function(radians, opt_center) {\n  var center \x3d opt_center || new goog.math.Coordinate(0, 0);\n  var x \x3d this.x;\n  var y \x3d this.y;\n  var cos \x3d Math.cos(radians);\n  var sin \x3d Math.sin(radians);\n  this.x \x3d (x - center.x) * cos - (y - center.y) * sin + center.x;\n  this.y \x3d (x - center.x) * sin + (y - center.y) * cos + center.y;\n};\ngoog.math.Coordinate.prototype.rotateDegrees \x3d function(degrees, opt_center) {\n  this.rotateRadians(goog.math.toRadians(degrees), opt_center);\n};\n");
SHADOW_ENV.evalLoad("goog.math.size.js", true, "goog.provide(\x22goog.math.Size\x22);\ngoog.math.Size \x3d function(width, height) {\n  this.width \x3d width;\n  this.height \x3d height;\n};\ngoog.math.Size.equals \x3d function(a, b) {\n  if (a \x3d\x3d b) {\n    return true;\n  }\n  if (!a || !b) {\n    return false;\n  }\n  return a.width \x3d\x3d b.width \x26\x26 a.height \x3d\x3d b.height;\n};\ngoog.math.Size.prototype.clone \x3d function() {\n  return new goog.math.Size(this.width, this.height);\n};\nif (goog.DEBUG) {\n  goog.math.Size.prototype.toString \x3d function() {\n    return \x22(\x22 + this.width + \x22 x \x22 + this.height + \x22)\x22;\n  };\n}\ngoog.math.Size.prototype.getLongest \x3d function() {\n  return Math.max(this.width, this.height);\n};\ngoog.math.Size.prototype.getShortest \x3d function() {\n  return Math.min(this.width, this.height);\n};\ngoog.math.Size.prototype.area \x3d function() {\n  return this.width * this.height;\n};\ngoog.math.Size.prototype.perimeter \x3d function() {\n  return (this.width + this.height) * 2;\n};\ngoog.math.Size.prototype.aspectRatio \x3d function() {\n  return this.width / this.height;\n};\ngoog.math.Size.prototype.isEmpty \x3d function() {\n  return !this.area();\n};\ngoog.math.Size.prototype.ceil \x3d function() {\n  this.width \x3d Math.ceil(this.width);\n  this.height \x3d Math.ceil(this.height);\n  return this;\n};\ngoog.math.Size.prototype.fitsInside \x3d function(target) {\n  return this.width \x3c\x3d target.width \x26\x26 this.height \x3c\x3d target.height;\n};\ngoog.math.Size.prototype.floor \x3d function() {\n  this.width \x3d Math.floor(this.width);\n  this.height \x3d Math.floor(this.height);\n  return this;\n};\ngoog.math.Size.prototype.round \x3d function() {\n  this.width \x3d Math.round(this.width);\n  this.height \x3d Math.round(this.height);\n  return this;\n};\ngoog.math.Size.prototype.scale \x3d function(sx, opt_sy) {\n  const sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n  this.width *\x3d sx;\n  this.height *\x3d sy;\n  return this;\n};\ngoog.math.Size.prototype.scaleToCover \x3d function(target) {\n  const s \x3d this.aspectRatio() \x3c\x3d target.aspectRatio() ? target.width / this.width : target.height / this.height;\n  return this.scale(s);\n};\ngoog.math.Size.prototype.scaleToFit \x3d function(target) {\n  const s \x3d this.aspectRatio() \x3e target.aspectRatio() ? target.width / this.width : target.height / this.height;\n  return this.scale(s);\n};\n");
SHADOW_ENV.evalLoad("goog.dom.dom.js", true, "goog.provide(\x22goog.dom\x22);\ngoog.provide(\x22goog.dom.Appendable\x22);\ngoog.provide(\x22goog.dom.DomHelper\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.asserts.dom\x22);\ngoog.require(\x22goog.dom.BrowserFeature\x22);\ngoog.require(\x22goog.dom.NodeType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.require(\x22goog.object\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.Unicode\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.ASSUME_QUIRKS_MODE \x3d goog.define(\x22goog.dom.ASSUME_QUIRKS_MODE\x22, false);\ngoog.dom.ASSUME_STANDARDS_MODE \x3d goog.define(\x22goog.dom.ASSUME_STANDARDS_MODE\x22, false);\ngoog.dom.COMPAT_MODE_KNOWN_ \x3d goog.dom.ASSUME_QUIRKS_MODE || goog.dom.ASSUME_STANDARDS_MODE;\ngoog.dom.getDomHelper \x3d function(opt_element) {\n  return opt_element ? new goog.dom.DomHelper(goog.dom.getOwnerDocument(opt_element)) : goog.dom.defaultDomHelper_ || (goog.dom.defaultDomHelper_ \x3d new goog.dom.DomHelper());\n};\ngoog.dom.defaultDomHelper_;\ngoog.dom.getDocument \x3d function() {\n  return document;\n};\ngoog.dom.getElement \x3d function(element) {\n  return goog.dom.getElementHelper_(document, element);\n};\ngoog.dom.getHTMLElement \x3d function(id) {\n  const element \x3d goog.dom.getElement(id);\n  if (!element) {\n    return null;\n  }\n  return goog.asserts.dom.assertIsHtmlElement(element);\n};\ngoog.dom.getElementHelper_ \x3d function(doc, element) {\n  return typeof element \x3d\x3d\x3d \x22string\x22 ? doc.getElementById(element) : element;\n};\ngoog.dom.getRequiredElement \x3d function(id) {\n  return goog.dom.getRequiredElementHelper_(document, id);\n};\ngoog.dom.getRequiredHTMLElement \x3d function(id) {\n  return goog.asserts.dom.assertIsHtmlElement(goog.dom.getRequiredElementHelper_(document, id));\n};\ngoog.dom.getRequiredElementHelper_ \x3d function(doc, id) {\n  goog.asserts.assertString(id);\n  var element \x3d goog.dom.getElementHelper_(doc, id);\n  return goog.asserts.assert(element, \x22No element found with id: \x22 + id);\n};\ngoog.dom.$ \x3d goog.dom.getElement;\ngoog.dom.getElementsByTagName \x3d function(tagName, opt_parent) {\n  var parent \x3d opt_parent || document;\n  return parent.getElementsByTagName(String(tagName));\n};\ngoog.dom.getElementsByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n  return goog.dom.getElementsByTagNameAndClass_(document, opt_tag, opt_class, opt_el);\n};\ngoog.dom.getElementByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n  return goog.dom.getElementByTagNameAndClass_(document, opt_tag, opt_class, opt_el);\n};\ngoog.dom.getElementsByClass \x3d function(className, opt_el) {\n  var parent \x3d opt_el || document;\n  if (goog.dom.canUseQuerySelector_(parent)) {\n    return parent.querySelectorAll(\x22.\x22 + className);\n  }\n  return goog.dom.getElementsByTagNameAndClass_(document, \x22*\x22, className, opt_el);\n};\ngoog.dom.getElementByClass \x3d function(className, opt_el) {\n  var parent \x3d opt_el || document;\n  var retVal \x3d null;\n  if (parent.getElementsByClassName) {\n    retVal \x3d parent.getElementsByClassName(className)[0];\n  } else {\n    retVal \x3d goog.dom.getElementByTagNameAndClass_(document, \x22*\x22, className, opt_el);\n  }\n  return retVal || null;\n};\ngoog.dom.getHTMLElementByClass \x3d function(className, opt_parent) {\n  const element \x3d goog.dom.getElementByClass(className, opt_parent);\n  if (!element) {\n    return null;\n  }\n  return goog.asserts.dom.assertIsHtmlElement(element);\n};\ngoog.dom.getRequiredElementByClass \x3d function(className, opt_root) {\n  var retValue \x3d goog.dom.getElementByClass(className, opt_root);\n  return goog.asserts.assert(retValue, \x22No element found with className: \x22 + className);\n};\ngoog.dom.getRequiredHTMLElementByClass \x3d function(className, opt_parent) {\n  const retValue \x3d goog.dom.getElementByClass(className, opt_parent);\n  goog.asserts.assert(retValue, \x22No HTMLElement found with className: \x22 + className);\n  return goog.asserts.dom.assertIsHtmlElement(retValue);\n};\ngoog.dom.canUseQuerySelector_ \x3d function(parent) {\n  return !!(parent.querySelectorAll \x26\x26 parent.querySelector);\n};\ngoog.dom.getElementsByTagNameAndClass_ \x3d function(doc, opt_tag, opt_class, opt_el) {\n  var parent \x3d opt_el || doc;\n  var tagName \x3d opt_tag \x26\x26 opt_tag !\x3d \x22*\x22 ? String(opt_tag).toUpperCase() : \x22\x22;\n  if (goog.dom.canUseQuerySelector_(parent) \x26\x26 (tagName || opt_class)) {\n    var query \x3d tagName + (opt_class ? \x22.\x22 + opt_class : \x22\x22);\n    return parent.querySelectorAll(query);\n  }\n  if (opt_class \x26\x26 parent.getElementsByClassName) {\n    var els \x3d parent.getElementsByClassName(opt_class);\n    if (tagName) {\n      var arrayLike \x3d {};\n      var len \x3d 0;\n      var i \x3d 0;\n      var el;\n      for (; el \x3d els[i]; i++) {\n        if (tagName \x3d\x3d el.nodeName) {\n          arrayLike[len++] \x3d el;\n        }\n      }\n      arrayLike.length \x3d len;\n      return arrayLike;\n    } else {\n      return els;\n    }\n  }\n  els \x3d parent.getElementsByTagName(tagName || \x22*\x22);\n  if (opt_class) {\n    arrayLike \x3d {};\n    len \x3d 0;\n    i \x3d 0;\n    for (; el \x3d els[i]; i++) {\n      var className \x3d el.className;\n      if (typeof className.split \x3d\x3d \x22function\x22 \x26\x26 goog.array.contains(className.split(/\\s+/), opt_class)) {\n        arrayLike[len++] \x3d el;\n      }\n    }\n    arrayLike.length \x3d len;\n    return arrayLike;\n  } else {\n    return els;\n  }\n};\ngoog.dom.getElementByTagNameAndClass_ \x3d function(doc, opt_tag, opt_class, opt_el) {\n  var parent \x3d opt_el || doc;\n  var tag \x3d opt_tag \x26\x26 opt_tag !\x3d \x22*\x22 ? String(opt_tag).toUpperCase() : \x22\x22;\n  if (goog.dom.canUseQuerySelector_(parent) \x26\x26 (tag || opt_class)) {\n    return parent.querySelector(tag + (opt_class ? \x22.\x22 + opt_class : \x22\x22));\n  }\n  var elements \x3d goog.dom.getElementsByTagNameAndClass_(doc, opt_tag, opt_class, opt_el);\n  return elements[0] || null;\n};\ngoog.dom.$$ \x3d goog.dom.getElementsByTagNameAndClass;\ngoog.dom.setProperties \x3d function(element, properties) {\n  goog.object.forEach(properties, function(val, key) {\n    if (val \x26\x26 typeof val \x3d\x3d \x22object\x22 \x26\x26 val.implementsGoogStringTypedString) {\n      val \x3d val.getTypedStringValue();\n    }\n    if (key \x3d\x3d \x22style\x22) {\n      element.style.cssText \x3d val;\n    } else if (key \x3d\x3d \x22class\x22) {\n      element.className \x3d val;\n    } else if (key \x3d\x3d \x22for\x22) {\n      element.htmlFor \x3d val;\n    } else if (goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(key)) {\n      element.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[key], val);\n    } else if (goog.string.startsWith(key, \x22aria-\x22) || goog.string.startsWith(key, \x22data-\x22)) {\n      element.setAttribute(key, val);\n    } else {\n      element[key] \x3d val;\n    }\n  });\n};\ngoog.dom.DIRECT_ATTRIBUTE_MAP_ \x3d {\x22cellpadding\x22:\x22cellPadding\x22, \x22cellspacing\x22:\x22cellSpacing\x22, \x22colspan\x22:\x22colSpan\x22, \x22frameborder\x22:\x22frameBorder\x22, \x22height\x22:\x22height\x22, \x22maxlength\x22:\x22maxLength\x22, \x22nonce\x22:\x22nonce\x22, \x22role\x22:\x22role\x22, \x22rowspan\x22:\x22rowSpan\x22, \x22type\x22:\x22type\x22, \x22usemap\x22:\x22useMap\x22, \x22valign\x22:\x22vAlign\x22, \x22width\x22:\x22width\x22};\ngoog.dom.getViewportSize \x3d function(opt_window) {\n  return goog.dom.getViewportSize_(opt_window || window);\n};\ngoog.dom.getViewportSize_ \x3d function(win) {\n  var doc \x3d win.document;\n  var el \x3d goog.dom.isCss1CompatMode_(doc) ? doc.documentElement : doc.body;\n  return new goog.math.Size(el.clientWidth, el.clientHeight);\n};\ngoog.dom.getDocumentHeight \x3d function() {\n  return goog.dom.getDocumentHeight_(window);\n};\ngoog.dom.getDocumentHeightForWindow \x3d function(win) {\n  return goog.dom.getDocumentHeight_(win);\n};\ngoog.dom.getDocumentHeight_ \x3d function(win) {\n  var doc \x3d win.document;\n  var height \x3d 0;\n  if (doc) {\n    var body \x3d doc.body;\n    var docEl \x3d doc.documentElement;\n    if (!(docEl \x26\x26 body)) {\n      return 0;\n    }\n    var vh \x3d goog.dom.getViewportSize_(win).height;\n    if (goog.dom.isCss1CompatMode_(doc) \x26\x26 docEl.scrollHeight) {\n      height \x3d docEl.scrollHeight !\x3d vh ? docEl.scrollHeight : docEl.offsetHeight;\n    } else {\n      var sh \x3d docEl.scrollHeight;\n      var oh \x3d docEl.offsetHeight;\n      if (docEl.clientHeight !\x3d oh) {\n        sh \x3d body.scrollHeight;\n        oh \x3d body.offsetHeight;\n      }\n      if (sh \x3e vh) {\n        height \x3d sh \x3e oh ? sh : oh;\n      } else {\n        height \x3d sh \x3c oh ? sh : oh;\n      }\n    }\n  }\n  return height;\n};\ngoog.dom.getPageScroll \x3d function(opt_window) {\n  var win \x3d opt_window || goog.global || window;\n  return goog.dom.getDomHelper(win.document).getDocumentScroll();\n};\ngoog.dom.getDocumentScroll \x3d function() {\n  return goog.dom.getDocumentScroll_(document);\n};\ngoog.dom.getDocumentScroll_ \x3d function(doc) {\n  var el \x3d goog.dom.getDocumentScrollElement_(doc);\n  var win \x3d goog.dom.getWindow_(doc);\n  if (goog.userAgent.IE \x26\x26 win.pageYOffset !\x3d el.scrollTop) {\n    return new goog.math.Coordinate(el.scrollLeft, el.scrollTop);\n  }\n  return new goog.math.Coordinate(win.pageXOffset || el.scrollLeft, win.pageYOffset || el.scrollTop);\n};\ngoog.dom.getDocumentScrollElement \x3d function() {\n  return goog.dom.getDocumentScrollElement_(document);\n};\ngoog.dom.getDocumentScrollElement_ \x3d function(doc) {\n  if (doc.scrollingElement) {\n    return doc.scrollingElement;\n  }\n  if (!goog.userAgent.WEBKIT \x26\x26 goog.dom.isCss1CompatMode_(doc)) {\n    return doc.documentElement;\n  }\n  return doc.body || doc.documentElement;\n};\ngoog.dom.getWindow \x3d function(opt_doc) {\n  return opt_doc ? goog.dom.getWindow_(opt_doc) : window;\n};\ngoog.dom.getWindow_ \x3d function(doc) {\n  return doc.parentWindow || doc.defaultView;\n};\ngoog.dom.createDom \x3d function(tagName, opt_attributes, var_args) {\n  return goog.dom.createDom_(document, arguments);\n};\ngoog.dom.createDom_ \x3d function(doc, args) {\n  var tagName \x3d String(args[0]);\n  var attributes \x3d args[1];\n  var element \x3d goog.dom.createElement_(doc, tagName);\n  if (attributes) {\n    if (typeof attributes \x3d\x3d\x3d \x22string\x22) {\n      element.className \x3d attributes;\n    } else if (Array.isArray(attributes)) {\n      element.className \x3d attributes.join(\x22 \x22);\n    } else {\n      goog.dom.setProperties(element, attributes);\n    }\n  }\n  if (args.length \x3e 2) {\n    goog.dom.append_(doc, element, args, 2);\n  }\n  return element;\n};\ngoog.dom.append_ \x3d function(doc, parent, args, startIndex) {\n  function childHandler(child) {\n    if (child) {\n      parent.appendChild(typeof child \x3d\x3d\x3d \x22string\x22 ? doc.createTextNode(child) : child);\n    }\n  }\n  var i \x3d startIndex;\n  for (; i \x3c args.length; i++) {\n    var arg \x3d args[i];\n    if (goog.isArrayLike(arg) \x26\x26 !goog.dom.isNodeLike(arg)) {\n      goog.array.forEach(goog.dom.isNodeList(arg) ? goog.array.toArray(arg) : arg, childHandler);\n    } else {\n      childHandler(arg);\n    }\n  }\n};\ngoog.dom.$dom \x3d goog.dom.createDom;\ngoog.dom.createElement \x3d function(name) {\n  return goog.dom.createElement_(document, name);\n};\ngoog.dom.createElement_ \x3d function(doc, name) {\n  name \x3d String(name);\n  if (doc.contentType \x3d\x3d\x3d \x22application/xhtml+xml\x22) {\n    name \x3d name.toLowerCase();\n  }\n  return doc.createElement(name);\n};\ngoog.dom.createTextNode \x3d function(content) {\n  return document.createTextNode(String(content));\n};\ngoog.dom.createTable \x3d function(rows, columns, opt_fillWithNbsp) {\n  return goog.dom.createTable_(document, rows, columns, !!opt_fillWithNbsp);\n};\ngoog.dom.createTable_ \x3d function(doc, rows, columns, fillWithNbsp) {\n  var table \x3d goog.dom.createElement_(doc, goog.dom.TagName.TABLE);\n  var tbody \x3d table.appendChild(goog.dom.createElement_(doc, goog.dom.TagName.TBODY));\n  var i \x3d 0;\n  for (; i \x3c rows; i++) {\n    var tr \x3d goog.dom.createElement_(doc, goog.dom.TagName.TR);\n    var j \x3d 0;\n    for (; j \x3c columns; j++) {\n      var td \x3d goog.dom.createElement_(doc, goog.dom.TagName.TD);\n      if (fillWithNbsp) {\n        goog.dom.setTextContent(td, goog.string.Unicode.NBSP);\n      }\n      tr.appendChild(td);\n    }\n    tbody.appendChild(tr);\n  }\n  return table;\n};\ngoog.dom.constHtmlToNode \x3d function(var_args) {\n  var stringArray \x3d Array.prototype.map.call(arguments, goog.string.Const.unwrap);\n  var safeHtml \x3d goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Constant HTML string, that gets turned into a \x22 + \x22Node later, so it will be automatically balanced.\x22), stringArray.join(\x22\x22));\n  return goog.dom.safeHtmlToNode(safeHtml);\n};\ngoog.dom.safeHtmlToNode \x3d function(html) {\n  return goog.dom.safeHtmlToNode_(document, html);\n};\ngoog.dom.safeHtmlToNode_ \x3d function(doc, html) {\n  var tempDiv \x3d goog.dom.createElement_(doc, goog.dom.TagName.DIV);\n  if (goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT) {\n    goog.dom.safe.setInnerHtml(tempDiv, goog.html.SafeHtml.concat(goog.html.SafeHtml.BR, html));\n    tempDiv.removeChild(goog.asserts.assert(tempDiv.firstChild));\n  } else {\n    goog.dom.safe.setInnerHtml(tempDiv, html);\n  }\n  return goog.dom.childrenToNode_(doc, tempDiv);\n};\ngoog.dom.childrenToNode_ \x3d function(doc, tempDiv) {\n  if (tempDiv.childNodes.length \x3d\x3d 1) {\n    return tempDiv.removeChild(goog.asserts.assert(tempDiv.firstChild));\n  } else {\n    var fragment \x3d doc.createDocumentFragment();\n    for (; tempDiv.firstChild;) {\n      fragment.appendChild(tempDiv.firstChild);\n    }\n    return fragment;\n  }\n};\ngoog.dom.isCss1CompatMode \x3d function() {\n  return goog.dom.isCss1CompatMode_(document);\n};\ngoog.dom.isCss1CompatMode_ \x3d function(doc) {\n  if (goog.dom.COMPAT_MODE_KNOWN_) {\n    return goog.dom.ASSUME_STANDARDS_MODE;\n  }\n  return doc.compatMode \x3d\x3d \x22CSS1Compat\x22;\n};\ngoog.dom.canHaveChildren \x3d function(node) {\n  if (node.nodeType !\x3d goog.dom.NodeType.ELEMENT) {\n    return false;\n  }\n  switch(node.tagName) {\n    case String(goog.dom.TagName.APPLET):\n    case String(goog.dom.TagName.AREA):\n    case String(goog.dom.TagName.BASE):\n    case String(goog.dom.TagName.BR):\n    case String(goog.dom.TagName.COL):\n    case String(goog.dom.TagName.COMMAND):\n    case String(goog.dom.TagName.EMBED):\n    case String(goog.dom.TagName.FRAME):\n    case String(goog.dom.TagName.HR):\n    case String(goog.dom.TagName.IMG):\n    case String(goog.dom.TagName.INPUT):\n    case String(goog.dom.TagName.IFRAME):\n    case String(goog.dom.TagName.ISINDEX):\n    case String(goog.dom.TagName.KEYGEN):\n    case String(goog.dom.TagName.LINK):\n    case String(goog.dom.TagName.NOFRAMES):\n    case String(goog.dom.TagName.NOSCRIPT):\n    case String(goog.dom.TagName.META):\n    case String(goog.dom.TagName.OBJECT):\n    case String(goog.dom.TagName.PARAM):\n    case String(goog.dom.TagName.SCRIPT):\n    case String(goog.dom.TagName.SOURCE):\n    case String(goog.dom.TagName.STYLE):\n    case String(goog.dom.TagName.TRACK):\n    case String(goog.dom.TagName.WBR):\n      return false;\n  }\n  return true;\n};\ngoog.dom.appendChild \x3d function(parent, child) {\n  goog.asserts.assert(parent !\x3d null \x26\x26 child !\x3d null, \x22goog.dom.appendChild expects non-null arguments\x22);\n  parent.appendChild(child);\n};\ngoog.dom.append \x3d function(parent, var_args) {\n  goog.dom.append_(goog.dom.getOwnerDocument(parent), parent, arguments, 1);\n};\ngoog.dom.removeChildren \x3d function(node) {\n  var child;\n  for (; child \x3d node.firstChild;) {\n    node.removeChild(child);\n  }\n};\ngoog.dom.insertSiblingBefore \x3d function(newNode, refNode) {\n  goog.asserts.assert(newNode !\x3d null \x26\x26 refNode !\x3d null, \x22goog.dom.insertSiblingBefore expects non-null arguments\x22);\n  if (refNode.parentNode) {\n    refNode.parentNode.insertBefore(newNode, refNode);\n  }\n};\ngoog.dom.insertSiblingAfter \x3d function(newNode, refNode) {\n  goog.asserts.assert(newNode !\x3d null \x26\x26 refNode !\x3d null, \x22goog.dom.insertSiblingAfter expects non-null arguments\x22);\n  if (refNode.parentNode) {\n    refNode.parentNode.insertBefore(newNode, refNode.nextSibling);\n  }\n};\ngoog.dom.insertChildAt \x3d function(parent, child, index) {\n  goog.asserts.assert(parent !\x3d null, \x22goog.dom.insertChildAt expects a non-null parent\x22);\n  parent.insertBefore(child, parent.childNodes[index] || null);\n};\ngoog.dom.removeNode \x3d function(node) {\n  return node \x26\x26 node.parentNode ? node.parentNode.removeChild(node) : null;\n};\ngoog.dom.replaceNode \x3d function(newNode, oldNode) {\n  goog.asserts.assert(newNode !\x3d null \x26\x26 oldNode !\x3d null, \x22goog.dom.replaceNode expects non-null arguments\x22);\n  var parent \x3d oldNode.parentNode;\n  if (parent) {\n    parent.replaceChild(newNode, oldNode);\n  }\n};\ngoog.dom.copyContents \x3d function(target, source) {\n  goog.asserts.assert(target !\x3d null \x26\x26 source !\x3d null, \x22goog.dom.copyContents expects non-null arguments\x22);\n  var childNodes \x3d source.cloneNode(true).childNodes;\n  goog.dom.removeChildren(target);\n  for (; childNodes.length;) {\n    target.appendChild(childNodes[0]);\n  }\n};\ngoog.dom.flattenElement \x3d function(element) {\n  var child;\n  var parent \x3d element.parentNode;\n  if (parent \x26\x26 parent.nodeType !\x3d goog.dom.NodeType.DOCUMENT_FRAGMENT) {\n    if (element.removeNode) {\n      return element.removeNode(false);\n    } else {\n      for (; child \x3d element.firstChild;) {\n        parent.insertBefore(child, element);\n      }\n      return goog.dom.removeNode(element);\n    }\n  }\n};\ngoog.dom.getChildren \x3d function(element) {\n  if (element.children !\x3d undefined) {\n    return element.children;\n  }\n  return Array.prototype.filter.call(element.childNodes, function(node) {\n    return node.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n  });\n};\ngoog.dom.getFirstElementChild \x3d function(node) {\n  if (node.firstElementChild !\x3d\x3d undefined) {\n    return node.firstElementChild;\n  }\n  return goog.dom.getNextElementNode_(node.firstChild, true);\n};\ngoog.dom.getLastElementChild \x3d function(node) {\n  if (node.lastElementChild !\x3d\x3d undefined) {\n    return node.lastElementChild;\n  }\n  return goog.dom.getNextElementNode_(node.lastChild, false);\n};\ngoog.dom.getNextElementSibling \x3d function(node) {\n  if (node.nextElementSibling !\x3d\x3d undefined) {\n    return node.nextElementSibling;\n  }\n  return goog.dom.getNextElementNode_(node.nextSibling, true);\n};\ngoog.dom.getPreviousElementSibling \x3d function(node) {\n  if (node.previousElementSibling !\x3d\x3d undefined) {\n    return node.previousElementSibling;\n  }\n  return goog.dom.getNextElementNode_(node.previousSibling, false);\n};\ngoog.dom.getNextElementNode_ \x3d function(node, forward) {\n  for (; node \x26\x26 node.nodeType !\x3d goog.dom.NodeType.ELEMENT;) {\n    node \x3d forward ? node.nextSibling : node.previousSibling;\n  }\n  return node;\n};\ngoog.dom.getNextNode \x3d function(node) {\n  if (!node) {\n    return null;\n  }\n  if (node.firstChild) {\n    return node.firstChild;\n  }\n  for (; node \x26\x26 !node.nextSibling;) {\n    node \x3d node.parentNode;\n  }\n  return node ? node.nextSibling : null;\n};\ngoog.dom.getPreviousNode \x3d function(node) {\n  if (!node) {\n    return null;\n  }\n  if (!node.previousSibling) {\n    return node.parentNode;\n  }\n  node \x3d node.previousSibling;\n  for (; node \x26\x26 node.lastChild;) {\n    node \x3d node.lastChild;\n  }\n  return node;\n};\ngoog.dom.isNodeLike \x3d function(obj) {\n  return goog.isObject(obj) \x26\x26 obj.nodeType \x3e 0;\n};\ngoog.dom.isElement \x3d function(obj) {\n  return goog.isObject(obj) \x26\x26 obj.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n};\ngoog.dom.isWindow \x3d function(obj) {\n  return goog.isObject(obj) \x26\x26 obj[\x22window\x22] \x3d\x3d obj;\n};\ngoog.dom.getParentElement \x3d function(element) {\n  var parent;\n  if (goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY) {\n    parent \x3d element.parentElement;\n    if (parent) {\n      return parent;\n    }\n  }\n  parent \x3d element.parentNode;\n  return goog.dom.isElement(parent) ? parent : null;\n};\ngoog.dom.contains \x3d function(parent, descendant) {\n  if (!parent || !descendant) {\n    return false;\n  }\n  if (parent.contains \x26\x26 descendant.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT) {\n    return parent \x3d\x3d descendant || parent.contains(descendant);\n  }\n  if (typeof parent.compareDocumentPosition !\x3d \x22undefined\x22) {\n    return parent \x3d\x3d descendant || Boolean(parent.compareDocumentPosition(descendant) \x26 16);\n  }\n  for (; descendant \x26\x26 parent !\x3d descendant;) {\n    descendant \x3d descendant.parentNode;\n  }\n  return descendant \x3d\x3d parent;\n};\ngoog.dom.compareNodeOrder \x3d function(node1, node2) {\n  if (node1 \x3d\x3d node2) {\n    return 0;\n  }\n  if (node1.compareDocumentPosition) {\n    return node1.compareDocumentPosition(node2) \x26 2 ? 1 : -1;\n  }\n  if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9)) {\n    if (node1.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n      return -1;\n    }\n    if (node2.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n      return 1;\n    }\n  }\n  if (\x22sourceIndex\x22 in node1 || node1.parentNode \x26\x26 \x22sourceIndex\x22 in node1.parentNode) {\n    var isElement1 \x3d node1.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n    var isElement2 \x3d node2.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n    if (isElement1 \x26\x26 isElement2) {\n      return node1.sourceIndex - node2.sourceIndex;\n    } else {\n      var parent1 \x3d node1.parentNode;\n      var parent2 \x3d node2.parentNode;\n      if (parent1 \x3d\x3d parent2) {\n        return goog.dom.compareSiblingOrder_(node1, node2);\n      }\n      if (!isElement1 \x26\x26 goog.dom.contains(parent1, node2)) {\n        return -1 * goog.dom.compareParentsDescendantNodeIe_(node1, node2);\n      }\n      if (!isElement2 \x26\x26 goog.dom.contains(parent2, node1)) {\n        return goog.dom.compareParentsDescendantNodeIe_(node2, node1);\n      }\n      return (isElement1 ? node1.sourceIndex : parent1.sourceIndex) - (isElement2 ? node2.sourceIndex : parent2.sourceIndex);\n    }\n  }\n  var doc \x3d goog.dom.getOwnerDocument(node1);\n  var range1;\n  var range2;\n  range1 \x3d doc.createRange();\n  range1.selectNode(node1);\n  range1.collapse(true);\n  range2 \x3d doc.createRange();\n  range2.selectNode(node2);\n  range2.collapse(true);\n  return range1.compareBoundaryPoints(goog.global[\x22Range\x22].START_TO_END, range2);\n};\ngoog.dom.compareParentsDescendantNodeIe_ \x3d function(textNode, node) {\n  var parent \x3d textNode.parentNode;\n  if (parent \x3d\x3d node) {\n    return -1;\n  }\n  var sibling \x3d node;\n  for (; sibling.parentNode !\x3d parent;) {\n    sibling \x3d sibling.parentNode;\n  }\n  return goog.dom.compareSiblingOrder_(sibling, textNode);\n};\ngoog.dom.compareSiblingOrder_ \x3d function(node1, node2) {\n  var s \x3d node2;\n  for (; s \x3d s.previousSibling;) {\n    if (s \x3d\x3d node1) {\n      return -1;\n    }\n  }\n  return 1;\n};\ngoog.dom.findCommonAncestor \x3d function(var_args) {\n  var i;\n  var count \x3d arguments.length;\n  if (!count) {\n    return null;\n  } else if (count \x3d\x3d 1) {\n    return arguments[0];\n  }\n  var paths \x3d [];\n  var minLength \x3d Infinity;\n  i \x3d 0;\n  for (; i \x3c count; i++) {\n    var ancestors \x3d [];\n    var node \x3d arguments[i];\n    for (; node;) {\n      ancestors.unshift(node);\n      node \x3d node.parentNode;\n    }\n    paths.push(ancestors);\n    minLength \x3d Math.min(minLength, ancestors.length);\n  }\n  var output \x3d null;\n  i \x3d 0;\n  for (; i \x3c minLength; i++) {\n    var first \x3d paths[0][i];\n    var j \x3d 1;\n    for (; j \x3c count; j++) {\n      if (first !\x3d paths[j][i]) {\n        return output;\n      }\n    }\n    output \x3d first;\n  }\n  return output;\n};\ngoog.dom.isInDocument \x3d function(node) {\n  return (node.ownerDocument.compareDocumentPosition(node) \x26 16) \x3d\x3d 16;\n};\ngoog.dom.getOwnerDocument \x3d function(node) {\n  goog.asserts.assert(node, \x22Node cannot be null or undefined.\x22);\n  return node.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT ? node : node.ownerDocument || node.document;\n};\ngoog.dom.getFrameContentDocument \x3d function(frame) {\n  return frame.contentDocument || frame.contentWindow.document;\n};\ngoog.dom.getFrameContentWindow \x3d function(frame) {\n  try {\n    return frame.contentWindow || (frame.contentDocument ? goog.dom.getWindow(frame.contentDocument) : null);\n  } catch (e) {\n  }\n  return null;\n};\ngoog.dom.setTextContent \x3d function(node, text) {\n  goog.asserts.assert(node !\x3d null, \x22goog.dom.setTextContent expects a non-null value for node\x22);\n  if (\x22textContent\x22 in node) {\n    node.textContent \x3d text;\n  } else if (node.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n    node.data \x3d String(text);\n  } else if (node.firstChild \x26\x26 node.firstChild.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n    for (; node.lastChild !\x3d node.firstChild;) {\n      node.removeChild(goog.asserts.assert(node.lastChild));\n    }\n    node.firstChild.data \x3d String(text);\n  } else {\n    goog.dom.removeChildren(node);\n    var doc \x3d goog.dom.getOwnerDocument(node);\n    node.appendChild(doc.createTextNode(String(text)));\n  }\n};\ngoog.dom.getOuterHtml \x3d function(element) {\n  goog.asserts.assert(element !\x3d\x3d null, \x22goog.dom.getOuterHtml expects a non-null value for element\x22);\n  if (\x22outerHTML\x22 in element) {\n    return element.outerHTML;\n  } else {\n    var doc \x3d goog.dom.getOwnerDocument(element);\n    var div \x3d goog.dom.createElement_(doc, goog.dom.TagName.DIV);\n    div.appendChild(element.cloneNode(true));\n    return div.innerHTML;\n  }\n};\ngoog.dom.findNode \x3d function(root, p) {\n  var rv \x3d [];\n  var found \x3d goog.dom.findNodes_(root, p, rv, true);\n  return found ? rv[0] : undefined;\n};\ngoog.dom.findNodes \x3d function(root, p) {\n  var rv \x3d [];\n  goog.dom.findNodes_(root, p, rv, false);\n  return rv;\n};\ngoog.dom.findNodes_ \x3d function(root, p, rv, findOne) {\n  if (root !\x3d null) {\n    var child \x3d root.firstChild;\n    for (; child;) {\n      if (p(child)) {\n        rv.push(child);\n        if (findOne) {\n          return true;\n        }\n      }\n      if (goog.dom.findNodes_(child, p, rv, findOne)) {\n        return true;\n      }\n      child \x3d child.nextSibling;\n    }\n  }\n  return false;\n};\ngoog.dom.findElement \x3d function(root, pred) {\n  var stack \x3d goog.dom.getChildrenReverse_(root);\n  for (; stack.length \x3e 0;) {\n    var next \x3d stack.pop();\n    if (pred(next)) {\n      return next;\n    }\n    var c \x3d next.lastElementChild;\n    for (; c; c \x3d c.previousElementSibling) {\n      stack.push(c);\n    }\n  }\n  return null;\n};\ngoog.dom.findElements \x3d function(root, pred) {\n  var result \x3d [];\n  var stack \x3d goog.dom.getChildrenReverse_(root);\n  for (; stack.length \x3e 0;) {\n    var next \x3d stack.pop();\n    if (pred(next)) {\n      result.push(next);\n    }\n    var c \x3d next.lastElementChild;\n    for (; c; c \x3d c.previousElementSibling) {\n      stack.push(c);\n    }\n  }\n  return result;\n};\ngoog.dom.getChildrenReverse_ \x3d function(node) {\n  if (node.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n    return [node.documentElement];\n  } else {\n    var children \x3d [];\n    var c \x3d node.lastElementChild;\n    for (; c; c \x3d c.previousElementSibling) {\n      children.push(c);\n    }\n    return children;\n  }\n};\ngoog.dom.TAGS_TO_IGNORE_ \x3d {\x22SCRIPT\x22:1, \x22STYLE\x22:1, \x22HEAD\x22:1, \x22IFRAME\x22:1, \x22OBJECT\x22:1};\ngoog.dom.PREDEFINED_TAG_VALUES_ \x3d {\x22IMG\x22:\x22 \x22, \x22BR\x22:\x22\\n\x22};\ngoog.dom.isFocusableTabIndex \x3d function(element) {\n  return goog.dom.hasSpecifiedTabIndex_(element) \x26\x26 goog.dom.isTabIndexFocusable_(element);\n};\ngoog.dom.setFocusableTabIndex \x3d function(element, enable) {\n  if (enable) {\n    element.tabIndex \x3d 0;\n  } else {\n    element.tabIndex \x3d -1;\n    element.removeAttribute(\x22tabIndex\x22);\n  }\n};\ngoog.dom.isFocusable \x3d function(element) {\n  var focusable;\n  if (goog.dom.nativelySupportsFocus_(element)) {\n    focusable \x3d !element.disabled \x26\x26 (!goog.dom.hasSpecifiedTabIndex_(element) || goog.dom.isTabIndexFocusable_(element));\n  } else {\n    focusable \x3d goog.dom.isFocusableTabIndex(element);\n  }\n  return focusable \x26\x26 goog.userAgent.IE ? goog.dom.hasNonZeroBoundingRect_(element) : focusable;\n};\ngoog.dom.hasSpecifiedTabIndex_ \x3d function(element) {\n  return element.hasAttribute(\x22tabindex\x22);\n};\ngoog.dom.isTabIndexFocusable_ \x3d function(element) {\n  var index \x3d element.tabIndex;\n  return typeof index \x3d\x3d\x3d \x22number\x22 \x26\x26 index \x3e\x3d 0 \x26\x26 index \x3c 32768;\n};\ngoog.dom.nativelySupportsFocus_ \x3d function(element) {\n  return element.tagName \x3d\x3d goog.dom.TagName.A \x26\x26 element.hasAttribute(\x22href\x22) || element.tagName \x3d\x3d goog.dom.TagName.INPUT || element.tagName \x3d\x3d goog.dom.TagName.TEXTAREA || element.tagName \x3d\x3d goog.dom.TagName.SELECT || element.tagName \x3d\x3d goog.dom.TagName.BUTTON;\n};\ngoog.dom.hasNonZeroBoundingRect_ \x3d function(element) {\n  var rect;\n  if (typeof element[\x22getBoundingClientRect\x22] !\x3d\x3d \x22function\x22 || goog.userAgent.IE \x26\x26 element.parentElement \x3d\x3d null) {\n    rect \x3d {\x22height\x22:element.offsetHeight, \x22width\x22:element.offsetWidth};\n  } else {\n    rect \x3d element.getBoundingClientRect();\n  }\n  return rect !\x3d null \x26\x26 rect.height \x3e 0 \x26\x26 rect.width \x3e 0;\n};\ngoog.dom.getTextContent \x3d function(node) {\n  var textContent;\n  var buf \x3d [];\n  goog.dom.getTextContent_(node, buf, true);\n  textContent \x3d buf.join(\x22\x22);\n  textContent \x3d textContent.replace(/ \\xAD /g, \x22 \x22).replace(/\\xAD/g, \x22\x22);\n  textContent \x3d textContent.replace(/\\u200B/g, \x22\x22);\n  textContent \x3d textContent.replace(/ +/g, \x22 \x22);\n  if (textContent !\x3d \x22 \x22) {\n    textContent \x3d textContent.replace(/^\\s*/, \x22\x22);\n  }\n  return textContent;\n};\ngoog.dom.getRawTextContent \x3d function(node) {\n  var buf \x3d [];\n  goog.dom.getTextContent_(node, buf, false);\n  return buf.join(\x22\x22);\n};\ngoog.dom.getTextContent_ \x3d function(node, buf, normalizeWhitespace) {\n  if (node.nodeName in goog.dom.TAGS_TO_IGNORE_) {\n  } else if (node.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n    if (normalizeWhitespace) {\n      buf.push(String(node.nodeValue).replace(/(\\r\\n|\\r|\\n)/g, \x22\x22));\n    } else {\n      buf.push(node.nodeValue);\n    }\n  } else if (node.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {\n    buf.push(goog.dom.PREDEFINED_TAG_VALUES_[node.nodeName]);\n  } else {\n    var child \x3d node.firstChild;\n    for (; child;) {\n      goog.dom.getTextContent_(child, buf, normalizeWhitespace);\n      child \x3d child.nextSibling;\n    }\n  }\n};\ngoog.dom.getNodeTextLength \x3d function(node) {\n  return goog.dom.getTextContent(node).length;\n};\ngoog.dom.getNodeTextOffset \x3d function(node, opt_offsetParent) {\n  var root \x3d opt_offsetParent || goog.dom.getOwnerDocument(node).body;\n  var buf \x3d [];\n  for (; node \x26\x26 node !\x3d root;) {\n    var cur \x3d node;\n    for (; cur \x3d cur.previousSibling;) {\n      buf.unshift(goog.dom.getTextContent(cur));\n    }\n    node \x3d node.parentNode;\n  }\n  return goog.string.trimLeft(buf.join(\x22\x22)).replace(/ +/g, \x22 \x22).length;\n};\ngoog.dom.getNodeAtOffset \x3d function(parent, offset, opt_result) {\n  var stack \x3d [parent];\n  var pos \x3d 0;\n  var cur \x3d null;\n  for (; stack.length \x3e 0 \x26\x26 pos \x3c offset;) {\n    cur \x3d stack.pop();\n    if (cur.nodeName in goog.dom.TAGS_TO_IGNORE_) {\n    } else if (cur.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n      var text \x3d cur.nodeValue.replace(/(\\r\\n|\\r|\\n)/g, \x22\x22).replace(/ +/g, \x22 \x22);\n      pos \x3d pos + text.length;\n    } else if (cur.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {\n      pos \x3d pos + goog.dom.PREDEFINED_TAG_VALUES_[cur.nodeName].length;\n    } else {\n      var i \x3d cur.childNodes.length - 1;\n      for (; i \x3e\x3d 0; i--) {\n        stack.push(cur.childNodes[i]);\n      }\n    }\n  }\n  if (goog.isObject(opt_result)) {\n    opt_result.remainder \x3d cur ? cur.nodeValue.length + offset - pos - 1 : 0;\n    opt_result.node \x3d cur;\n  }\n  return cur;\n};\ngoog.dom.isNodeList \x3d function(val) {\n  if (val \x26\x26 typeof val.length \x3d\x3d \x22number\x22) {\n    if (goog.isObject(val)) {\n      return typeof val.item \x3d\x3d \x22function\x22 || typeof val.item \x3d\x3d \x22string\x22;\n    } else if (typeof val \x3d\x3d\x3d \x22function\x22) {\n      return typeof val.item \x3d\x3d \x22function\x22;\n    }\n  }\n  return false;\n};\ngoog.dom.getAncestorByTagNameAndClass \x3d function(element, opt_tag, opt_class, opt_maxSearchSteps) {\n  if (!opt_tag \x26\x26 !opt_class) {\n    return null;\n  }\n  var tagName \x3d opt_tag ? String(opt_tag).toUpperCase() : null;\n  return goog.dom.getAncestor(element, function(node) {\n    return (!tagName || node.nodeName \x3d\x3d tagName) \x26\x26 (!opt_class || typeof node.className \x3d\x3d\x3d \x22string\x22 \x26\x26 goog.array.contains(node.className.split(/\\s+/), opt_class));\n  }, true, opt_maxSearchSteps);\n};\ngoog.dom.getAncestorByClass \x3d function(element, className, opt_maxSearchSteps) {\n  return goog.dom.getAncestorByTagNameAndClass(element, null, className, opt_maxSearchSteps);\n};\ngoog.dom.getAncestor \x3d function(element, matcher, opt_includeNode, opt_maxSearchSteps) {\n  if (element \x26\x26 !opt_includeNode) {\n    element \x3d element.parentNode;\n  }\n  var steps \x3d 0;\n  for (; element \x26\x26 (opt_maxSearchSteps \x3d\x3d null || steps \x3c\x3d opt_maxSearchSteps);) {\n    goog.asserts.assert(element.name !\x3d \x22parentNode\x22);\n    if (matcher(element)) {\n      return element;\n    }\n    element \x3d element.parentNode;\n    steps++;\n  }\n  return null;\n};\ngoog.dom.getActiveElement \x3d function(doc) {\n  try {\n    var activeElement \x3d doc \x26\x26 doc.activeElement;\n    return activeElement \x26\x26 activeElement.nodeName ? activeElement : null;\n  } catch (e) {\n    return null;\n  }\n};\ngoog.dom.getPixelRatio \x3d function() {\n  var win \x3d goog.dom.getWindow();\n  if (win.devicePixelRatio !\x3d\x3d undefined) {\n    return win.devicePixelRatio;\n  } else if (win.matchMedia) {\n    return goog.dom.matchesPixelRatio_(3) || goog.dom.matchesPixelRatio_(2) || goog.dom.matchesPixelRatio_(1.5) || goog.dom.matchesPixelRatio_(1) || .75;\n  }\n  return 1;\n};\ngoog.dom.matchesPixelRatio_ \x3d function(pixelRatio) {\n  var win \x3d goog.dom.getWindow();\n  var dpiPerDppx \x3d 96;\n  var query \x3d \x22(min-resolution: \x22 + pixelRatio + \x22dppx),\x22 + \x22(min--moz-device-pixel-ratio: \x22 + pixelRatio + \x22),\x22 + \x22(min-resolution: \x22 + pixelRatio * dpiPerDppx + \x22dpi)\x22;\n  return win.matchMedia(query).matches ? pixelRatio : 0;\n};\ngoog.dom.getCanvasContext2D \x3d function(canvas) {\n  return canvas.getContext(\x222d\x22);\n};\ngoog.dom.DomHelper \x3d function(opt_document) {\n  this.document_ \x3d opt_document || goog.global.document || document;\n};\ngoog.dom.DomHelper.prototype.getDomHelper \x3d goog.dom.getDomHelper;\ngoog.dom.DomHelper.prototype.setDocument \x3d function(document) {\n  this.document_ \x3d document;\n};\ngoog.dom.DomHelper.prototype.getDocument \x3d function() {\n  return this.document_;\n};\ngoog.dom.DomHelper.prototype.getElement \x3d function(element) {\n  return goog.dom.getElementHelper_(this.document_, element);\n};\ngoog.dom.DomHelper.prototype.getRequiredElement \x3d function(id) {\n  return goog.dom.getRequiredElementHelper_(this.document_, id);\n};\ngoog.dom.DomHelper.prototype.$ \x3d goog.dom.DomHelper.prototype.getElement;\ngoog.dom.DomHelper.prototype.getElementsByTagName \x3d function(tagName, opt_parent) {\n  var parent \x3d opt_parent || this.document_;\n  return parent.getElementsByTagName(String(tagName));\n};\ngoog.dom.DomHelper.prototype.getElementsByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n  return goog.dom.getElementsByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);\n};\ngoog.dom.DomHelper.prototype.getElementByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n  return goog.dom.getElementByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);\n};\ngoog.dom.DomHelper.prototype.getElementsByClass \x3d function(className, opt_el) {\n  var doc \x3d opt_el || this.document_;\n  return goog.dom.getElementsByClass(className, doc);\n};\ngoog.dom.DomHelper.prototype.getElementByClass \x3d function(className, opt_el) {\n  var doc \x3d opt_el || this.document_;\n  return goog.dom.getElementByClass(className, doc);\n};\ngoog.dom.DomHelper.prototype.getRequiredElementByClass \x3d function(className, opt_root) {\n  var root \x3d opt_root || this.document_;\n  return goog.dom.getRequiredElementByClass(className, root);\n};\ngoog.dom.DomHelper.prototype.$$ \x3d goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;\ngoog.dom.DomHelper.prototype.setProperties \x3d goog.dom.setProperties;\ngoog.dom.DomHelper.prototype.getViewportSize \x3d function(opt_window) {\n  return goog.dom.getViewportSize(opt_window || this.getWindow());\n};\ngoog.dom.DomHelper.prototype.getDocumentHeight \x3d function() {\n  return goog.dom.getDocumentHeight_(this.getWindow());\n};\ngoog.dom.Appendable;\ngoog.dom.DomHelper.prototype.createDom \x3d function(tagName, opt_attributes, var_args) {\n  return goog.dom.createDom_(this.document_, arguments);\n};\ngoog.dom.DomHelper.prototype.$dom \x3d goog.dom.DomHelper.prototype.createDom;\ngoog.dom.DomHelper.prototype.createElement \x3d function(name) {\n  return goog.dom.createElement_(this.document_, name);\n};\ngoog.dom.DomHelper.prototype.createTextNode \x3d function(content) {\n  return this.document_.createTextNode(String(content));\n};\ngoog.dom.DomHelper.prototype.createTable \x3d function(rows, columns, opt_fillWithNbsp) {\n  return goog.dom.createTable_(this.document_, rows, columns, !!opt_fillWithNbsp);\n};\ngoog.dom.DomHelper.prototype.safeHtmlToNode \x3d function(html) {\n  return goog.dom.safeHtmlToNode_(this.document_, html);\n};\ngoog.dom.DomHelper.prototype.isCss1CompatMode \x3d function() {\n  return goog.dom.isCss1CompatMode_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getWindow \x3d function() {\n  return goog.dom.getWindow_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getDocumentScrollElement \x3d function() {\n  return goog.dom.getDocumentScrollElement_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getDocumentScroll \x3d function() {\n  return goog.dom.getDocumentScroll_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getActiveElement \x3d function(opt_doc) {\n  return goog.dom.getActiveElement(opt_doc || this.document_);\n};\ngoog.dom.DomHelper.prototype.appendChild \x3d goog.dom.appendChild;\ngoog.dom.DomHelper.prototype.append \x3d goog.dom.append;\ngoog.dom.DomHelper.prototype.canHaveChildren \x3d goog.dom.canHaveChildren;\ngoog.dom.DomHelper.prototype.removeChildren \x3d goog.dom.removeChildren;\ngoog.dom.DomHelper.prototype.insertSiblingBefore \x3d goog.dom.insertSiblingBefore;\ngoog.dom.DomHelper.prototype.insertSiblingAfter \x3d goog.dom.insertSiblingAfter;\ngoog.dom.DomHelper.prototype.insertChildAt \x3d goog.dom.insertChildAt;\ngoog.dom.DomHelper.prototype.removeNode \x3d goog.dom.removeNode;\ngoog.dom.DomHelper.prototype.replaceNode \x3d goog.dom.replaceNode;\ngoog.dom.DomHelper.prototype.copyContents \x3d goog.dom.copyContents;\ngoog.dom.DomHelper.prototype.flattenElement \x3d goog.dom.flattenElement;\ngoog.dom.DomHelper.prototype.getChildren \x3d goog.dom.getChildren;\ngoog.dom.DomHelper.prototype.getFirstElementChild \x3d goog.dom.getFirstElementChild;\ngoog.dom.DomHelper.prototype.getLastElementChild \x3d goog.dom.getLastElementChild;\ngoog.dom.DomHelper.prototype.getNextElementSibling \x3d goog.dom.getNextElementSibling;\ngoog.dom.DomHelper.prototype.getPreviousElementSibling \x3d goog.dom.getPreviousElementSibling;\ngoog.dom.DomHelper.prototype.getNextNode \x3d goog.dom.getNextNode;\ngoog.dom.DomHelper.prototype.getPreviousNode \x3d goog.dom.getPreviousNode;\ngoog.dom.DomHelper.prototype.isNodeLike \x3d goog.dom.isNodeLike;\ngoog.dom.DomHelper.prototype.isElement \x3d goog.dom.isElement;\ngoog.dom.DomHelper.prototype.isWindow \x3d goog.dom.isWindow;\ngoog.dom.DomHelper.prototype.getParentElement \x3d goog.dom.getParentElement;\ngoog.dom.DomHelper.prototype.contains \x3d goog.dom.contains;\ngoog.dom.DomHelper.prototype.compareNodeOrder \x3d goog.dom.compareNodeOrder;\ngoog.dom.DomHelper.prototype.findCommonAncestor \x3d goog.dom.findCommonAncestor;\ngoog.dom.DomHelper.prototype.getOwnerDocument \x3d goog.dom.getOwnerDocument;\ngoog.dom.DomHelper.prototype.getFrameContentDocument \x3d goog.dom.getFrameContentDocument;\ngoog.dom.DomHelper.prototype.getFrameContentWindow \x3d goog.dom.getFrameContentWindow;\ngoog.dom.DomHelper.prototype.setTextContent \x3d goog.dom.setTextContent;\ngoog.dom.DomHelper.prototype.getOuterHtml \x3d goog.dom.getOuterHtml;\ngoog.dom.DomHelper.prototype.findNode \x3d goog.dom.findNode;\ngoog.dom.DomHelper.prototype.findNodes \x3d goog.dom.findNodes;\ngoog.dom.DomHelper.prototype.isFocusableTabIndex \x3d goog.dom.isFocusableTabIndex;\ngoog.dom.DomHelper.prototype.setFocusableTabIndex \x3d goog.dom.setFocusableTabIndex;\ngoog.dom.DomHelper.prototype.isFocusable \x3d goog.dom.isFocusable;\ngoog.dom.DomHelper.prototype.getTextContent \x3d goog.dom.getTextContent;\ngoog.dom.DomHelper.prototype.getNodeTextLength \x3d goog.dom.getNodeTextLength;\ngoog.dom.DomHelper.prototype.getNodeTextOffset \x3d goog.dom.getNodeTextOffset;\ngoog.dom.DomHelper.prototype.getNodeAtOffset \x3d goog.dom.getNodeAtOffset;\ngoog.dom.DomHelper.prototype.isNodeList \x3d goog.dom.isNodeList;\ngoog.dom.DomHelper.prototype.getAncestorByTagNameAndClass \x3d goog.dom.getAncestorByTagNameAndClass;\ngoog.dom.DomHelper.prototype.getAncestorByClass \x3d goog.dom.getAncestorByClass;\ngoog.dom.DomHelper.prototype.getAncestor \x3d goog.dom.getAncestor;\ngoog.dom.DomHelper.prototype.getCanvasContext2D \x3d goog.dom.getCanvasContext2D;\n");
SHADOW_ENV.evalLoad("goog.async.nexttick.js", true, "goog.provide(\x22goog.async.nextTick\x22);\ngoog.require(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.engine\x22);\ngoog.async.nextTick \x3d function(callback, opt_context, opt_useSetImmediate) {\n  var cb \x3d callback;\n  if (opt_context) {\n    cb \x3d goog.bind(callback, opt_context);\n  }\n  cb \x3d goog.async.nextTick.wrapCallback_(cb);\n  if (typeof goog.global.setImmediate \x3d\x3d\x3d \x22function\x22 \x26\x26 (opt_useSetImmediate || goog.async.nextTick.useSetImmediate_())) {\n    goog.global.setImmediate(cb);\n    return;\n  }\n  if (!goog.async.nextTick.nextTickImpl) {\n    goog.async.nextTick.nextTickImpl \x3d goog.async.nextTick.getNextTickImpl_();\n  }\n  goog.async.nextTick.nextTickImpl(cb);\n};\ngoog.async.nextTick.useSetImmediate_ \x3d function() {\n  if (!goog.global.Window || !goog.global.Window.prototype) {\n    return true;\n  }\n  if (goog.labs.userAgent.browser.isEdge() || goog.global.Window.prototype.setImmediate !\x3d goog.global.setImmediate) {\n    return true;\n  }\n  return false;\n};\ngoog.async.nextTick.nextTickImpl;\ngoog.async.nextTick.getNextTickImpl_ \x3d function() {\n  var Channel \x3d goog.global[\x22MessageChannel\x22];\n  if (typeof Channel \x3d\x3d\x3d \x22undefined\x22 \x26\x26 typeof window !\x3d\x3d \x22undefined\x22 \x26\x26 window.postMessage \x26\x26 window.addEventListener \x26\x26 !goog.labs.userAgent.engine.isPresto()) {\n    Channel \x3d function() {\n      var iframe \x3d goog.dom.createElement(goog.dom.TagName.IFRAME);\n      iframe.style.display \x3d \x22none\x22;\n      document.documentElement.appendChild(iframe);\n      var win \x3d iframe.contentWindow;\n      var doc \x3d win.document;\n      doc.open();\n      doc.close();\n      var message \x3d \x22callImmediate\x22 + Math.random();\n      var origin \x3d win.location.protocol \x3d\x3d \x22file:\x22 ? \x22*\x22 : win.location.protocol + \x22//\x22 + win.location.host;\n      var onmessage \x3d goog.bind(function(e) {\n        if (origin !\x3d \x22*\x22 \x26\x26 e.origin !\x3d origin || e.data !\x3d message) {\n          return;\n        }\n        this[\x22port1\x22].onmessage();\n      }, this);\n      win.addEventListener(\x22message\x22, onmessage, false);\n      this[\x22port1\x22] \x3d {};\n      this[\x22port2\x22] \x3d {postMessage:function() {\n        win.postMessage(message, origin);\n      }};\n    };\n  }\n  if (typeof Channel !\x3d\x3d \x22undefined\x22 \x26\x26 !goog.labs.userAgent.browser.isIE()) {\n    var channel \x3d new Channel();\n    var head \x3d {};\n    var tail \x3d head;\n    channel[\x22port1\x22].onmessage \x3d function() {\n      if (head.next !\x3d\x3d undefined) {\n        head \x3d head.next;\n        var cb \x3d head.cb;\n        head.cb \x3d null;\n        cb();\n      }\n    };\n    return function(cb) {\n      tail.next \x3d {cb:cb};\n      tail \x3d tail.next;\n      channel[\x22port2\x22].postMessage(0);\n    };\n  }\n  return function(cb) {\n    goog.global.setTimeout(cb, 0);\n  };\n};\ngoog.async.nextTick.wrapCallback_ \x3d goog.functions.identity;\ngoog.debug.entryPointRegistry.register(function(transformer) {\n  goog.async.nextTick.wrapCallback_ \x3d transformer;\n});\n");
SHADOW_ENV.evalLoad("devtools.async.js", true, "goog.provide(\x27devtools.async\x27);\ngoog.scope(function(){\n  devtools.async.goog$module$goog$labs$userAgent$browser \x3d goog.module.get(\x27goog.labs.userAgent.browser\x27);\n});\ndevtools.async.available_QMARK_ \x3d (function devtools$async$available_QMARK_(){\nreturn (typeof Promise !\x3d\x3d \x27undefined\x27);\n});\ndevtools.async.fixed_chrome_version_for_async \x3d \x2265.0.3321\x22;\ndevtools.async.needed_QMARK_ \x3d (function devtools$async$needed_QMARK_(){\nreturn cljs.core.not((function (){var and__5023__auto__ \x3d devtools.async.goog$module$goog$labs$userAgent$browser.isChrome();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.async.goog$module$goog$labs$userAgent$browser.isVersionOrHigher(devtools.async.fixed_chrome_version_for_async);\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\ndevtools.async.get_not_needed_message \x3d (function devtools$async$get_not_needed_message(){\nreturn [\x22cljs-devtools: the :async feature is no longer needed since Chrome \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.async.fixed_chrome_version_for_async),\x22, \x22,\x22see https://github.com/binaryage/cljs-devtools/issues/20\x22].join(\x27\x27);\n});\ndevtools.async._STAR_installed_STAR_ \x3d false;\ndevtools.async._STAR_original_set_immediate_STAR_ \x3d null;\ndevtools.async.rethrow_outside_promise \x3d (function devtools$async$rethrow_outside_promise(e){\nreturn setTimeout((function (){\nthrow e;\n}),(0));\n});\ndevtools.async.promise_based_set_immediate \x3d (function devtools$async$promise_based_set_immediate(callback){\nvar o__28962__auto___29951 \x3d (function (){var o__28962__auto___29951 \x3d (function (){var o__28962__auto___29951 \x3d Promise;\nreturn (o__28962__auto___29951[\x22resolve\x22]).call(o__28962__auto___29951);\n})();\nreturn (o__28962__auto___29951[\x22then\x22]).call(o__28962__auto___29951,callback);\n})();\n(o__28962__auto___29951[\x22catch\x22]).call(o__28962__auto___29951,devtools.async.rethrow_outside_promise);\n\nreturn null;\n});\ndevtools.async.install_async_set_immediate_BANG_ \x3d (function devtools$async$install_async_set_immediate_BANG_(){\n(devtools.async._STAR_original_set_immediate_STAR_ \x3d goog.async.nextTick.setImmediate_);\n\nreturn (goog.async.nextTick.setImmediate_ \x3d devtools.async.promise_based_set_immediate);\n});\ndevtools.async.uninstall_async_set_immediate_BANG_ \x3d (function devtools$async$uninstall_async_set_immediate_BANG_(){\nreturn (goog.async.nextTick.setImmediate_ \x3d devtools.async._STAR_original_set_immediate_STAR_);\n});\ndevtools.async.installed_QMARK_ \x3d (function devtools$async$installed_QMARK_(){\nreturn devtools.async._STAR_installed_STAR_;\n});\ndevtools.async.install_BANG_ \x3d (function devtools$async$install_BANG_(){\nif(cljs.core.truth_(devtools.async._STAR_installed_STAR_)){\nreturn null;\n} else {\n(devtools.async._STAR_installed_STAR_ \x3d true);\n\nvar G__29940_29955 \x3d Error;\nvar target__28995__auto___29956 \x3d G__29940_29955;\nif(cljs.core.truth_(target__28995__auto___29956)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22unable to locate object path \x22,null,\x22 in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__29940_29955)].join(\x27\x27),\x22\\n\x22,\x22target__28995__auto__\x22].join(\x27\x27)));\n}\n\n(target__28995__auto___29956[\x22stackTraceLimit\x22] \x3d Infinity);\n\n\ndevtools.async.install_async_set_immediate_BANG_();\n\nif(devtools.async.needed_QMARK_.call(null)){\n} else {\ndevtools.context.get_console.call(null).info(devtools.async.get_not_needed_message.call(null));\n}\n\nreturn true;\n}\n});\ndevtools.async.uninstall_BANG_ \x3d (function devtools$async$uninstall_BANG_(){\nif(cljs.core.truth_(devtools.async._STAR_installed_STAR_)){\n(devtools.async._STAR_installed_STAR_ \x3d false);\n\nreturn devtools.async.uninstall_async_set_immediate_BANG_();\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.toolbox.js", true, "goog.provide(\x27devtools.toolbox\x27);\n\n/**\n* @constructor\n * @implements {devtools.protocols.IFormat}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ndevtools.toolbox.t_devtools$toolbox32261 \x3d (function (obj,header,style,tag,meta32262){\nthis.obj \x3d obj;\nthis.header \x3d header;\nthis.style \x3d style;\nthis.tag \x3d tag;\nthis.meta32262 \x3d meta32262;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(devtools.toolbox.t_devtools$toolbox32261.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_32263,meta32262__$1){\nvar self__ \x3d this;\nvar _32263__$1 \x3d this;\nreturn (new devtools.toolbox.t_devtools$toolbox32261(self__.obj,self__.header,self__.style,self__.tag,meta32262__$1));\n}));\n\n(devtools.toolbox.t_devtools$toolbox32261.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_32263){\nvar self__ \x3d this;\nvar _32263__$1 \x3d this;\nreturn self__.meta32262;\n}));\n\n(devtools.toolbox.t_devtools$toolbox32261.prototype.devtools$protocols$IFormat$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(devtools.toolbox.t_devtools$toolbox32261.prototype.devtools$protocols$IFormat$_header$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn devtools.formatters.templating.render_markup(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.tag,self__.style], null),((cljs.core.fn_QMARK_(self__.header))?(self__.header.cljs$core$IFn$_invoke$arity$1 ? self__.header.cljs$core$IFn$_invoke$arity$1(self__.obj) : self__.header.call(null,self__.obj)):self__.header)], null));\n}));\n\n(devtools.toolbox.t_devtools$toolbox32261.prototype.devtools$protocols$IFormat$_has_body$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(devtools.toolbox.t_devtools$toolbox32261.prototype.devtools$protocols$IFormat$_body$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_body_GT_(devtools.formatters.markup._LT_standard_body_reference_GT_(self__.obj)));\n}));\n\n(devtools.toolbox.t_devtools$toolbox32261.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22header\x22,\x22header\x22,1759972661,null),new cljs.core.Symbol(null,\x22style\x22,\x22style\x22,1143888791,null),new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22meta32262\x22,\x22meta32262\x22,-984269054,null)], null);\n}));\n\n(devtools.toolbox.t_devtools$toolbox32261.cljs$lang$type \x3d true);\n\n(devtools.toolbox.t_devtools$toolbox32261.cljs$lang$ctorStr \x3d \x22devtools.toolbox/t_devtools$toolbox32261\x22);\n\n(devtools.toolbox.t_devtools$toolbox32261.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22devtools.toolbox/t_devtools$toolbox32261\x22);\n}));\n\n/**\n * Positional factory function for devtools.toolbox/t_devtools$toolbox32261.\n */\ndevtools.toolbox.__GT_t_devtools$toolbox32261 \x3d (function devtools$toolbox$__GT_t_devtools$toolbox32261(obj,header,style,tag,meta32262){\nreturn (new devtools.toolbox.t_devtools$toolbox32261(obj,header,style,tag,meta32262));\n});\n\n\n/**\n * This is a simple wrapper for logging \x22busy\x22 objects.\n *   This is especially handy when you happen to be logging javascript objects with many properties.\n *   Standard javascript console renderer tends to print a lot of infomation in the header in some cases and that can make\n *   console output pretty busy. By using envelope you can force your own short header and let the details expand on demand\n *   via disclosure triangle. The header can be styled and you can optionally specify preferred wrapping tag (advanced).\n */\ndevtools.toolbox.envelope \x3d (function devtools$toolbox$envelope(var_args){\nvar G__32254 \x3d arguments.length;\nswitch (G__32254) {\ncase 1:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$1 \x3d (function (obj){\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$2(obj,new cljs.core.Keyword(null,\x22default-envelope-header\x22,\x22default-envelope-header\x22,-90723598));\n}));\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,header){\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$3(obj,header,new cljs.core.Keyword(null,\x22default-envelope-style\x22,\x22default-envelope-style\x22,-1676750479));\n}));\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$3 \x3d (function (obj,header,style){\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$4(obj,header,style,new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991));\n}));\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$4 \x3d (function (obj,header,style,tag){\nreturn (new devtools.toolbox.t_devtools$toolbox32261(obj,header,style,tag,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(devtools.toolbox.envelope.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Forces object to be rendered by cljs-devtools during console logging.\n * \n *   Unfortunately custom formatters subsystem in DevTools is not applied to primitive values like numbers, strings, null, etc.\n *   This wrapper can be used as a workaround if you really need to force cljs-devtools rendering:\n * \n *  (.log js/console nil) ; will render \x27null\x27\n *  (.log js/console (force-format nil)) ; will render \x27nil\x27 and not \x27null\x27\n * \n *   See https://github.com/binaryage/cljs-devtools/issues/17\n *   \n */\ndevtools.toolbox.force_format \x3d (function devtools$toolbox$force_format(obj){\nreturn devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n});\n");
SHADOW_ENV.evalLoad("devtools.core.js", true, "goog.provide(\x27devtools.core\x27);\ndevtools.core.is_feature_available_QMARK_ \x3d (function devtools$core$is_feature_available_QMARK_(feature){\nvar G__34873 \x3d feature;\nvar G__34873__$1 \x3d (((G__34873 instanceof cljs.core.Keyword))?G__34873.fqn:null);\nswitch (G__34873__$1) {\ncase \x22formatters\x22:\nreturn devtools.formatters.available_QMARK_.call(null);\n\nbreak;\ncase \x22hints\x22:\nreturn devtools.hints.available_QMARK_.call(null);\n\nbreak;\ncase \x22async\x22:\nreturn devtools.async.available_QMARK_.call(null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__34873__$1)].join(\x27\x27)));\n\n}\n});\ndevtools.core.available_QMARK_ \x3d (function devtools$core$available_QMARK_(var_args){\nvar G__34880 \x3d arguments.length;\nswitch (G__34880) {\ncase 0:\nreturn devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1(devtools.prefs.pref(new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261)));\n}));\n\n(devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (features_desc){\nvar features \x3d devtools.util.resolve_features_BANG_(features_desc,cljs.core.deref(devtools.defaults.feature_groups));\nif(cljs.core.empty_QMARK_(features)){\nreturn false;\n} else {\nreturn cljs.core.every_QMARK_(devtools.core.is_feature_available_QMARK_,features);\n}\n}));\n\n(devtools.core.available_QMARK_.cljs$lang$maxFixedArity \x3d 1);\n\ndevtools.core.is_feature_installed_QMARK_ \x3d (function devtools$core$is_feature_installed_QMARK_(feature){\nvar G__34896 \x3d feature;\nvar G__34896__$1 \x3d (((G__34896 instanceof cljs.core.Keyword))?G__34896.fqn:null);\nswitch (G__34896__$1) {\ncase \x22formatters\x22:\nreturn devtools.formatters.installed_QMARK_();\n\nbreak;\ncase \x22hints\x22:\nreturn devtools.hints.installed_QMARK_();\n\nbreak;\ncase \x22async\x22:\nreturn devtools.async.installed_QMARK_();\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__34896__$1)].join(\x27\x27)));\n\n}\n});\ndevtools.core.installed_QMARK_ \x3d (function devtools$core$installed_QMARK_(var_args){\nvar G__34908 \x3d arguments.length;\nswitch (G__34908) {\ncase 0:\nreturn devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1(devtools.prefs.pref(new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261)));\n}));\n\n(devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (features_desc){\nvar features \x3d devtools.util.resolve_features_BANG_(features_desc,cljs.core.deref(devtools.defaults.feature_groups));\nif(cljs.core.empty_QMARK_(features)){\nreturn false;\n} else {\nreturn cljs.core.every_QMARK_(devtools.core.is_feature_installed_QMARK_,features);\n}\n}));\n\n(devtools.core.installed_QMARK_.cljs$lang$maxFixedArity \x3d 1);\n\ndevtools.core.install_BANG_ \x3d (function devtools$core$install_BANG_(var_args){\nvar G__34924 \x3d arguments.length;\nswitch (G__34924) {\ncase 0:\nreturn devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1(devtools.prefs.pref(new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261)));\n}));\n\n(devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (features_desc){\nif(cljs.core.truth_(devtools.util.under_advanced_build_QMARK_())){\nreturn devtools.util.display_advanced_build_warning_if_needed_BANG_();\n} else {\nvar features \x3d devtools.util.resolve_features_BANG_(features_desc,cljs.core.deref(devtools.defaults.feature_groups));\ndevtools.util.display_banner_if_needed_BANG_(features,cljs.core.deref(devtools.defaults.feature_groups));\n\ndevtools.util.print_config_overrides_if_requested_BANG_(\x22config overrides prior install:\\n\x22);\n\ndevtools.util.install_feature_BANG_(new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118),features,devtools.core.is_feature_available_QMARK_,devtools.formatters.install_BANG_);\n\ndevtools.util.install_feature_BANG_(new cljs.core.Keyword(null,\x22hints\x22,\x22hints\x22,-991113151),features,devtools.core.is_feature_available_QMARK_,devtools.hints.install_BANG_);\n\nreturn devtools.util.install_feature_BANG_(new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601),features,devtools.core.is_feature_available_QMARK_,devtools.async.install_BANG_);\n}\n}));\n\n(devtools.core.install_BANG_.cljs$lang$maxFixedArity \x3d 1);\n\ndevtools.core.uninstall_BANG_ \x3d (function devtools$core$uninstall_BANG_(){\ndevtools.formatters.uninstall_BANG_();\n\ndevtools.hints.uninstall_BANG_();\n\nreturn devtools.async.uninstall_BANG_();\n});\ndevtools.core.set_prefs_BANG_ \x3d (function devtools$core$set_prefs_BANG_(new_prefs){\nreturn devtools.prefs.set_prefs_BANG_(new_prefs);\n});\ndevtools.core.get_prefs \x3d (function devtools$core$get_prefs(){\nreturn devtools.prefs.get_prefs();\n});\ndevtools.core.set_pref_BANG_ \x3d (function devtools$core$set_pref_BANG_(pref,val){\nreturn devtools.prefs.set_pref_BANG_(pref,val);\n});\n");
SHADOW_ENV.evalLoad("devtools.preload.js", true, "goog.provide(\x27devtools.preload\x27);\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22suppress-preload-install\x22,\x22suppress-preload-install\x22,1724845090)))){\ndevtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0();\n} else {\n}\n");
SHADOW_ENV.evalLoad("goog.useragent.product.js", true, "goog.provide(\x22goog.userAgent.product\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.userAgent.product.ASSUME_FIREFOX \x3d goog.define(\x22goog.userAgent.product.ASSUME_FIREFOX\x22, false);\ngoog.userAgent.product.ASSUME_IPHONE \x3d goog.define(\x22goog.userAgent.product.ASSUME_IPHONE\x22, false);\ngoog.userAgent.product.ASSUME_IPAD \x3d goog.define(\x22goog.userAgent.product.ASSUME_IPAD\x22, false);\ngoog.userAgent.product.ASSUME_ANDROID \x3d goog.define(\x22goog.userAgent.product.ASSUME_ANDROID\x22, false);\ngoog.userAgent.product.ASSUME_CHROME \x3d goog.define(\x22goog.userAgent.product.ASSUME_CHROME\x22, false);\ngoog.userAgent.product.ASSUME_SAFARI \x3d goog.define(\x22goog.userAgent.product.ASSUME_SAFARI\x22, false);\ngoog.userAgent.product.PRODUCT_KNOWN_ \x3d goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_OPERA || goog.userAgent.product.ASSUME_FIREFOX || goog.userAgent.product.ASSUME_IPHONE || goog.userAgent.product.ASSUME_IPAD || goog.userAgent.product.ASSUME_ANDROID || goog.userAgent.product.ASSUME_CHROME || goog.userAgent.product.ASSUME_SAFARI;\ngoog.userAgent.product.OPERA \x3d goog.userAgent.OPERA;\ngoog.userAgent.product.IE \x3d goog.userAgent.IE;\ngoog.userAgent.product.EDGE \x3d goog.userAgent.EDGE;\ngoog.userAgent.product.FIREFOX \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_FIREFOX : goog.labs.userAgent.browser.isFirefox();\ngoog.userAgent.product.isIphoneOrIpod_ \x3d function() {\n  return goog.labs.userAgent.platform.isIphone() || goog.labs.userAgent.platform.isIpod();\n};\ngoog.userAgent.product.IPHONE \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPHONE : goog.userAgent.product.isIphoneOrIpod_();\ngoog.userAgent.product.IPAD \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.product.ANDROID \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_ANDROID : goog.labs.userAgent.browser.isAndroidBrowser();\ngoog.userAgent.product.CHROME \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_CHROME : goog.labs.userAgent.browser.isChrome();\ngoog.userAgent.product.isSafariDesktop_ \x3d function() {\n  return goog.labs.userAgent.browser.isSafari() \x26\x26 !goog.labs.userAgent.platform.isIos();\n};\ngoog.userAgent.product.SAFARI \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_SAFARI : goog.userAgent.product.isSafariDesktop_();\n");
SHADOW_ENV.evalLoad("shadow.json.js", true, "goog.provide(\x27shadow.json\x27);\ngoog.scope(function(){\n  shadow.json.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n/**\n * simplified js-\x3eclj for JSON data, :key-fn default to keyword\n */\nshadow.json.to_clj \x3d (function shadow$json$to_clj(var_args){\nvar G__31284 \x3d arguments.length;\nswitch (G__31284) {\ncase 1:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(x,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,opts){\nif((x \x3d\x3d null)){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nif(cljs.core.boolean_QMARK_(x)){\nreturn x;\n} else {\nif(cljs.core.array_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__31278_SHARP_){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(p1__31278_SHARP_,opts);\n})),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(x));\n} else {\nvar key_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22key-fn\x22,\x22key-fn\x22,-636154479),cljs.core.keyword);\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,key){\nvar value \x3d shadow.json.goog$module$goog$object.get(x,key);\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(result,((typeof key \x3d\x3d\x3d \x27string\x27)?(key_fn.cljs$core$IFn$_invoke$arity$1 ? key_fn.cljs$core$IFn$_invoke$arity$1(key) : key_fn.call(null,key)):shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(key,opts)),shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(value,opts));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.json.goog$module$goog$object.getKeys(x)));\n\n}\n}\n}\n}\n}\n}));\n\n(shadow.json.to_clj.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.json.read_str \x3d (function shadow$json$read_str(str,opts){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(JSON.parse(str),opts);\n});\nshadow.json.write_str \x3d (function shadow$json$write_str(obj){\nreturn JSON.stringify(cljs.core.clj__GT_js(obj));\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.env.js", true, "goog.provide(\x27shadow.cljs.devtools.client.env\x27);\ngoog.scope(function(){\n  shadow.cljs.devtools.client.env.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.active_modules_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.active_modules_ref \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.env.module_loaded \x3d (function shadow$cljs$devtools$client$env$module_loaded(name){\nreturn shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IDeref$_deref$arity$1(null),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name)));\n});\nshadow.cljs.devtools.client.env.module_is_active_QMARK_ \x3d (function shadow$cljs$devtools$client$env$module_is_active_QMARK_(module){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.cljs.devtools.client.env.active_modules_ref),module);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.runtime_id !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.runtime_id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n}\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.enabled \x3d goog.define(\x22shadow.cljs.devtools.client.env.enabled\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.log \x3d goog.define(\x22shadow.cljs.devtools.client.env.log\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.autoload \x3d goog.define(\x22shadow.cljs.devtools.client.env.autoload\x22,true);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.module_format \x3d goog.define(\x22shadow.cljs.devtools.client.env.module_format\x22,\x22goog\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.reload_with_state \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_with_state\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.build_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.build_id\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.proc_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.proc_id\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.worker_client_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.worker_client_id\x22,(0));\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_host\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_hosts \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_hosts\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.connect_timeout \x3d goog.define(\x22shadow.cljs.devtools.client.env.connect_timeout\x22,(1000));\nshadow.cljs.devtools.client.env.selected_host \x3d null;\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.server_port \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_port\x22,(8200));\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.repl_pprint \x3d goog.define(\x22shadow.cljs.devtools.client.env.repl_pprint\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_host\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_protocol \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_protocol\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.devtools_url \x3d goog.define(\x22shadow.cljs.devtools.client.env.devtools_url\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.reload_strategy \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_strategy\x22,\x22optimized\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_token \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_token\x22,\x22missing\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ssl \x3d goog.define(\x22shadow.cljs.devtools.client.env.ssl\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ignore_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.env.ignore_warnings\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.log_style \x3d goog.define(\x22shadow.cljs.devtools.client.env.log_style\x22,\x22font-weight: bold;\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.custom_notify_fn \x3d goog.define(\x22shadow.cljs.devtools.client.env.custom_notify_fn\x22,\x22\x22);\nshadow.cljs.devtools.client.env.devtools_info \x3d (function shadow$cljs$devtools$client$env$devtools_info(){\nreturn ({\x22server_port\x22: shadow.cljs.devtools.client.env.server_port, \x22server_host\x22: shadow.cljs.devtools.client.env.server_host, \x22build_id\x22: shadow.cljs.devtools.client.env.build_id, \x22proc_id\x22: shadow.cljs.devtools.client.env.proc_id, \x22runtime_id\x22: shadow.cljs.devtools.client.env.runtime_id, \x22ssl\x22: shadow.cljs.devtools.client.env.ssl});\n});\nshadow.cljs.devtools.client.env.get_server_protocol \x3d (function shadow$cljs$devtools$client$env$get_server_protocol(){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d shadow.cljs.devtools.client.env.use_document_protocol;\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn cljs.core.seq(goog.global.location.protocol);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn clojure.string.replace(goog.global.location.protocol,\x22:\x22,\x22\x22);\n} else {\nreturn [\x22http\x22,((shadow.cljs.devtools.client.env.ssl)?\x22s\x22:null)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_server_host \x3d (function shadow$cljs$devtools$client$env$get_server_host(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.selected_host)){\nreturn shadow.cljs.devtools.client.env.selected_host;\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d shadow.cljs.devtools.client.env.use_document_host;\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn cljs.core.seq(goog.global.location.hostname);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn goog.global.location.hostname;\n} else {\nif(cljs.core.seq(shadow.cljs.devtools.client.env.server_host)){\nreturn shadow.cljs.devtools.client.env.server_host;\n} else {\nreturn \x22localhost\x22;\n\n}\n}\n}\n});\nshadow.cljs.devtools.client.env.get_url_base \x3d (function shadow$cljs$devtools$client$env$get_url_base(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.devtools_url)){\nreturn shadow.cljs.devtools.client.env.devtools_url;\n} else {\nreturn [shadow.cljs.devtools.client.env.get_server_protocol(),\x22://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.get_server_host()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.server_port)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_ws_url_base \x3d (function shadow$cljs$devtools$client$env$get_ws_url_base(){\nreturn clojure.string.replace(shadow.cljs.devtools.client.env.get_url_base(),/^http/,\x22ws\x22);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_path \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_path(){\nreturn [\x22/api/remote-relay?server-token\x3d\x22,shadow.cljs.devtools.client.env.server_token].join(\x27\x27);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_url \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_url(){\nreturn [shadow.cljs.devtools.client.env.get_ws_url_base(),shadow.cljs.devtools.client.env.get_ws_relay_path()].join(\x27\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.reset_print_fn_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.reset_print_fn_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.was_print_newline !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.was_print_newline \x3d cljs.core._STAR_print_newline_STAR_;\n}\nshadow.cljs.devtools.client.env.set_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$set_print_fns_BANG_(msg_fn){\nvar original_print_fn \x3d cljs.core._STAR_print_fn_STAR_;\nvar original_print_err_fn \x3d cljs.core._STAR_print_err_fn_STAR_;\n(cljs.core._STAR_print_newline_STAR_ \x3d true);\n\n(cljs.core.enable_console_print_BANG_ \x3d (function (){\nreturn null;\n}));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,(function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_reset_print_fns_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d shadow.cljs.devtools.client.env.was_print_newline);\n\ncljs.core.set_print_fn_BANG_(original_print_fn);\n\nreturn cljs.core.set_print_err_fn_BANG_(original_print_err_fn);\n}));\n\ncljs.core.set_print_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s));\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d original_print_fn;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (original_print_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s));\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d original_print_err_fn;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (original_print_err_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_err_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_err_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n});\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$reset_print_fns_BANG_(){\nvar temp__5804__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.env.reset_print_fn_ref);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar x \x3d temp__5804__auto__;\n(x.cljs$core$IFn$_invoke$arity$0 ? x.cljs$core$IFn$_invoke$arity$0() : x.call(null));\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,null);\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.patch_goog_BANG_ \x3d (function shadow$cljs$devtools$client$env$patch_goog_BANG_(){\n(goog.provide \x3d goog.constructNamespace_);\n\nreturn (goog.require \x3d goog.module.get);\n});\nshadow.cljs.devtools.client.env.add_warnings_to_info \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info(p__31354){\nvar map__31355 \x3d p__31354;\nvar map__31355__$1 \x3d cljs.core.__destructure_map(map__31355);\nvar msg \x3d map__31355__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31355__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31357(s__31358){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__31358__$1 \x3d s__31358;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__31358__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__31364 \x3d cljs.core.first(xs__6360__auto__);\nvar map__31364__$1 \x3d cljs.core.__destructure_map(map__31364);\nvar src \x3d map__31364__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31364__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31364__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5499__auto__ \x3d ((function (s__31358__$1,map__31364,map__31364__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__31355,map__31355__$1,msg,info){\nreturn (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31357_$_iter__31359(s__31360){\nreturn (new cljs.core.LazySeq(null,((function (s__31358__$1,map__31364,map__31364__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__31355,map__31355__$1,msg,info){\nreturn (function (){\nvar s__31360__$1 \x3d s__31360;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__31360__$1);\nif(temp__5804__auto____$1){\nvar s__31360__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__31360__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__31360__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__31362 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__31361 \x3d (0);\nwhile(true){\nif((i__31361 \x3c size__5502__auto__)){\nvar warning \x3d cljs.core._nth(c__5501__auto__,i__31361);\ncljs.core.chunk_append(b__31362,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__31696 \x3d (i__31361 + (1));\ni__31361 \x3d G__31696;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31362),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31357_$_iter__31359(cljs.core.chunk_rest(s__31360__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31362),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__31360__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31357_$_iter__31359(cljs.core.rest(s__31360__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__31358__$1,map__31364,map__31364__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__31355,map__31355__$1,msg,info))\n,null,null));\n});})(s__31358__$1,map__31364,map__31364__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__31355,map__31355__$1,msg,info))\n;\nvar fs__5500__auto__ \x3d cljs.core.seq(iterys__5499__auto__(warnings));\nif(fs__5500__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5500__auto__,shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31357(cljs.core.rest(s__31358__$1)));\n} else {\nvar G__31698 \x3d cljs.core.rest(s__31358__$1);\ns__31358__$1 \x3d G__31698;\ncontinue;\n}\n} else {\nvar G__31699 \x3d cljs.core.rest(s__31358__$1);\ns__31358__$1 \x3d G__31699;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nreturn cljs.core.assoc_in(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651)], null),warnings);\n});\nshadow.cljs.devtools.client.env.custom_notify_types \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472),null,new cljs.core.Keyword(null,\x22build-init\x22,\x22build-init\x22,-1115755563),null,new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466),null,new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480),null], null), null);\nshadow.cljs.devtools.client.env.run_custom_notify_BANG_ \x3d (function shadow$cljs$devtools$client$env$run_custom_notify_BANG_(msg){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.custom_notify_fn)){\nvar fn \x3d goog.getObjectByName(shadow.cljs.devtools.client.env.custom_notify_fn,$CLJS);\nif((!(cljs.core.fn_QMARK_(fn)))){\nreturn console.warn(\x22couldn\x27t find custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n} else {\ntry{return (fn.cljs$core$IFn$_invoke$arity$1 ? fn.cljs$core$IFn$_invoke$arity$1(msg) : fn.call(null,msg));\n}catch (e31397){var e \x3d e31397;\nconsole.error(\x22Failed to run custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n\nreturn console.error(e);\n}}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.make_task_fn \x3d (function shadow$cljs$devtools$client$env$make_task_fn(p__31398,p__31399){\nvar map__31400 \x3d p__31398;\nvar map__31400__$1 \x3d cljs.core.__destructure_map(map__31400);\nvar log_missing_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31400__$1,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765));\nvar log_call_async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31400__$1,new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192));\nvar log_call \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31400__$1,new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391));\nvar map__31401 \x3d p__31399;\nvar map__31401__$1 \x3d cljs.core.__destructure_map(map__31401);\nvar fn_sym \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31401__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_str \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31401__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31401__$1,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\nreturn (function (next){\ntry{var fn_obj \x3d goog.getObjectByName(fn_str,$CLJS);\nif((fn_obj \x3d\x3d null)){\nif(cljs.core.truth_(log_missing_fn)){\n(log_missing_fn.cljs$core$IFn$_invoke$arity$1 ? log_missing_fn.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_missing_fn.call(null,fn_sym));\n} else {\n}\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n} else {\nif(cljs.core.truth_(async)){\nif(cljs.core.truth_(log_call_async)){\n(log_call_async.cljs$core$IFn$_invoke$arity$1 ? log_call_async.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call_async.call(null,fn_sym));\n} else {\n}\n\nreturn (fn_obj.cljs$core$IFn$_invoke$arity$1 ? fn_obj.cljs$core$IFn$_invoke$arity$1(next) : fn_obj.call(null,next));\n} else {\nif(cljs.core.truth_(log_call)){\n(log_call.cljs$core$IFn$_invoke$arity$1 ? log_call.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call.call(null,fn_sym));\n} else {\n}\n\n(fn_obj.cljs$core$IFn$_invoke$arity$0 ? fn_obj.cljs$core$IFn$_invoke$arity$0() : fn_obj.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n\n}\n}\n}catch (e31402){var ex \x3d e31402;\nconsole.warn(\x22error when calling lifecycle function\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym),ex);\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}});\n});\nshadow.cljs.devtools.client.env.do_js_reload_STAR_ \x3d (function shadow$cljs$devtools$client$env$do_js_reload_STAR_(failure_fn,p__31405){\nvar vec__31406 \x3d p__31405;\nvar seq__31407 \x3d cljs.core.seq(vec__31406);\nvar first__31408 \x3d cljs.core.first(seq__31407);\nvar seq__31407__$1 \x3d cljs.core.next(seq__31407);\nvar task \x3d first__31408;\nvar remaining_tasks \x3d seq__31407__$1;\nif(cljs.core.truth_(task)){\ntry{var G__31410 \x3d (function (){\nreturn (shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2 ? shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2(failure_fn,remaining_tasks) : shadow.cljs.devtools.client.env.do_js_reload_STAR_.call(null,failure_fn,remaining_tasks));\n});\nreturn (task.cljs$core$IFn$_invoke$arity$1 ? task.cljs$core$IFn$_invoke$arity$1(G__31410) : task.call(null,G__31410));\n}catch (e31409){var e \x3d e31409;\nreturn (failure_fn.cljs$core$IFn$_invoke$arity$3 ? failure_fn.cljs$core$IFn$_invoke$arity$3(e,task,remaining_tasks) : failure_fn.call(null,e,task,remaining_tasks));\n}} else {\nreturn null;\n}\n});\n/**\n * should pass the :build-complete message and an additional callback\n * which performs the actual loading of the code (sync)\n * will call all before/after callbacks in order\n */\nshadow.cljs.devtools.client.env.do_js_reload \x3d (function shadow$cljs$devtools$client$env$do_js_reload(var_args){\nvar G__31423 \x3d arguments.length;\nswitch (G__31423) {\ncase 2:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,load_code_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3(msg,load_code_fn,(function (){\nreturn null;\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,load_code_fn,complete_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(msg,load_code_fn,complete_fn,(function (error,task,remaining){\nreturn console.warn(\x22JS reload failed\x22,error);\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__31441,load_code_fn,complete_fn,failure_fn){\nvar map__31443 \x3d p__31441;\nvar map__31443__$1 \x3d cljs.core.__destructure_map(map__31443);\nvar msg \x3d map__31443__$1;\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31443__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar load_tasks \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.reverse(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31417_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__31417_SHARP_);\n}),new cljs.core.Keyword(null,\x22before-load\x22,\x22before-load\x22,-2060117064).cljs$core$IFn$_invoke$arity$1(reload_info)))),load_code_fn),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__31418_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__31418_SHARP_);\n})),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285).cljs$core$IFn$_invoke$arity$1(reload_info)),(function (next){\n(complete_fn.cljs$core$IFn$_invoke$arity$0 ? complete_fn.cljs$core$IFn$_invoke$arity$0() : complete_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}));\nreturn shadow.cljs.devtools.client.env.do_js_reload_STAR_(failure_fn,load_tasks);\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.cljs.devtools.client.env.before_load_src \x3d (function shadow$cljs$devtools$client$env$before_load_src(p__31470){\nvar map__31476 \x3d p__31470;\nvar map__31476__$1 \x3d cljs.core.__destructure_map(map__31476);\nvar src \x3d map__31476__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31476__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31476__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),type)){\nvar seq__31487 \x3d cljs.core.seq(goog.global.SHADOW_NS_RESET);\nvar chunk__31488 \x3d null;\nvar count__31489 \x3d (0);\nvar i__31490 \x3d (0);\nwhile(true){\nif((i__31490 \x3c count__31489)){\nvar x \x3d chunk__31488.cljs$core$IIndexed$_nth$arity$2(null,i__31490);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__31710 \x3d seq__31487;\nvar G__31711 \x3d chunk__31488;\nvar G__31712 \x3d count__31489;\nvar G__31713 \x3d (i__31490 + (1));\nseq__31487 \x3d G__31710;\nchunk__31488 \x3d G__31711;\ncount__31489 \x3d G__31712;\ni__31490 \x3d G__31713;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31487);\nif(temp__5804__auto__){\nvar seq__31487__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31487__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31487__$1);\nvar G__31718 \x3d cljs.core.chunk_rest(seq__31487__$1);\nvar G__31719 \x3d c__5548__auto__;\nvar G__31720 \x3d cljs.core.count(c__5548__auto__);\nvar G__31721 \x3d (0);\nseq__31487 \x3d G__31718;\nchunk__31488 \x3d G__31719;\ncount__31489 \x3d G__31720;\ni__31490 \x3d G__31721;\ncontinue;\n} else {\nvar x \x3d cljs.core.first(seq__31487__$1);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__31726 \x3d cljs.core.next(seq__31487__$1);\nvar G__31727 \x3d null;\nvar G__31728 \x3d (0);\nvar G__31729 \x3d (0);\nseq__31487 \x3d G__31726;\nchunk__31488 \x3d G__31727;\ncount__31489 \x3d G__31728;\ni__31490 \x3d G__31729;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.goog_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$goog_is_loaded_QMARK_(name){\nreturn $CLJS.SHADOW_ENV.isLoaded(name);\n});\nshadow.cljs.devtools.client.env.goog_base_rc \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.build.classpath\x22,\x22resource\x22,\x22shadow.build.classpath/resource\x22,-879517823),\x22goog/base.js\x22], null);\nshadow.cljs.devtools.client.env.src_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$src_is_loaded_QMARK_(p__31535){\nvar map__31536 \x3d p__31535;\nvar map__31536__$1 \x3d cljs.core.__destructure_map(map__31536);\nvar src \x3d map__31536__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31536__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31536__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.goog_base_rc,resource_id);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn shadow.cljs.devtools.client.env.goog_is_loaded_QMARK_(output_name);\n}\n});\nshadow.cljs.devtools.client.env.prefilter_sources \x3d (function shadow$cljs$devtools$client$env$prefilter_sources(reload_info,sources){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__31546){\nvar map__31548 \x3d p__31546;\nvar map__31548__$1 \x3d cljs.core.__destructure_map(map__31548);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31548__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nreturn cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22never-load\x22,\x22never-load\x22,1300896819).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\n}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__31553){\nvar map__31554 \x3d p__31553;\nvar map__31554__$1 \x3d cljs.core.__destructure_map(map__31554);\nvar rc \x3d map__31554__$1;\nvar module__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31554__$1,new cljs.core.Keyword(null,\x22module\x22,\x22module\x22,1424618191));\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22js\x22,shadow.cljs.devtools.client.env.module_format)) || (shadow.cljs.devtools.client.env.module_is_active_QMARK_(module__$1)));\n}),sources));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_optimized \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_optimized(p__31565,reload_info){\nvar map__31566 \x3d p__31565;\nvar map__31566__$1 \x3d cljs.core.__destructure_map(map__31566);\nvar info \x3d map__31566__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31566__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31566__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__31567){\nvar map__31568 \x3d p__31567;\nvar map__31568__$1 \x3d cljs.core.__destructure_map(map__31568);\nvar src \x3d map__31568__$1;\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31568__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31568__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nreturn ((cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns)) || (((cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src))) || (((cljs.core.contains_QMARK_(compiled,resource_id)) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))))))));\n}),shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources)));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_full \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_full(p__31579,reload_info){\nvar map__31583 \x3d p__31579;\nvar map__31583__$1 \x3d cljs.core.__destructure_map(map__31583);\nvar info \x3d map__31583__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31583__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31583__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nvar affected \x3d cljs.core.PersistentHashSet.EMPTY;\nvar sources_to_get \x3d cljs.core.PersistentVector.EMPTY;\nvar G__31591 \x3d shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources);\nvar vec__31593 \x3d G__31591;\nvar seq__31594 \x3d cljs.core.seq(vec__31593);\nvar first__31595 \x3d cljs.core.first(seq__31594);\nvar seq__31594__$1 \x3d cljs.core.next(seq__31594);\nvar src \x3d first__31595;\nvar more \x3d seq__31594__$1;\nvar affected__$1 \x3d affected;\nvar sources_to_get__$1 \x3d sources_to_get;\nvar G__31591__$1 \x3d G__31591;\nwhile(true){\nvar affected__$2 \x3d affected__$1;\nvar sources_to_get__$2 \x3d sources_to_get__$1;\nvar vec__31624 \x3d G__31591__$1;\nvar seq__31625 \x3d cljs.core.seq(vec__31624);\nvar first__31626 \x3d cljs.core.first(seq__31625);\nvar seq__31625__$1 \x3d cljs.core.next(seq__31625);\nvar src__$1 \x3d first__31626;\nvar more__$1 \x3d seq__31625__$1;\nif(cljs.core.not(src__$1)){\nreturn sources_to_get__$2;\n} else {\nvar map__31633 \x3d src__$1;\nvar map__31633__$1 \x3d cljs.core.__destructure_map(map__31633);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31633__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31633__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar deps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31633__$1,new cljs.core.Keyword(null,\x22deps\x22,\x22deps\x22,1883360319));\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31633__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar should_reload_QMARK_ \x3d (function (){var or__5025__auto__ \x3d cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src__$1));\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nvar and__5023__auto__ \x3d (function (){var or__5025__auto____$2 \x3d cljs.core.contains_QMARK_(compiled,resource_id);\nif(or__5025__auto____$2){\nreturn or__5025__auto____$2;\n} else {\nreturn cljs.core.some(affected__$2,deps);\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src__$1));\n} else {\nreturn and__5023__auto__;\n}\n}\n}\n})();\nif(cljs.core.not(should_reload_QMARK_)){\nvar G__31749 \x3d affected__$2;\nvar G__31750 \x3d sources_to_get__$2;\nvar G__31751 \x3d more__$1;\naffected__$1 \x3d G__31749;\nsources_to_get__$1 \x3d G__31750;\nG__31591__$1 \x3d G__31751;\ncontinue;\n} else {\nvar G__31752 \x3d clojure.set.union.cljs$core$IFn$_invoke$arity$2(affected__$2,provides);\nvar G__31753 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sources_to_get__$2,src__$1);\nvar G__31754 \x3d more__$1;\naffected__$1 \x3d G__31752;\nsources_to_get__$1 \x3d G__31753;\nG__31591__$1 \x3d G__31754;\ncontinue;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.env.filter_reload_sources \x3d (function shadow$cljs$devtools$client$env$filter_reload_sources(info,reload_info){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22full\x22,shadow.cljs.devtools.client.env.reload_strategy)){\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_full(info,reload_info);\n} else {\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_optimized(info,reload_info);\n}\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.console.js", true, "goog.provide(\x27shadow.cljs.devtools.client.console\x27);\nshadow.cljs.devtools.client.console.push_all \x3d (function shadow$cljs$devtools$client$console$push_all(arr,item){\nif(cljs.core.vector_QMARK_(item)){\nvar seq__31321 \x3d cljs.core.seq(item);\nvar chunk__31322 \x3d null;\nvar count__31323 \x3d (0);\nvar i__31324 \x3d (0);\nwhile(true){\nif((i__31324 \x3c count__31323)){\nvar it \x3d chunk__31322.cljs$core$IIndexed$_nth$arity$2(null,i__31324);\narr.push(it);\n\n\nvar G__31608 \x3d seq__31321;\nvar G__31609 \x3d chunk__31322;\nvar G__31610 \x3d count__31323;\nvar G__31611 \x3d (i__31324 + (1));\nseq__31321 \x3d G__31608;\nchunk__31322 \x3d G__31609;\ncount__31323 \x3d G__31610;\ni__31324 \x3d G__31611;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31321);\nif(temp__5804__auto__){\nvar seq__31321__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31321__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31321__$1);\nvar G__31613 \x3d cljs.core.chunk_rest(seq__31321__$1);\nvar G__31614 \x3d c__5548__auto__;\nvar G__31615 \x3d cljs.core.count(c__5548__auto__);\nvar G__31616 \x3d (0);\nseq__31321 \x3d G__31613;\nchunk__31322 \x3d G__31614;\ncount__31323 \x3d G__31615;\ni__31324 \x3d G__31616;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__31321__$1);\narr.push(it);\n\n\nvar G__31619 \x3d cljs.core.next(seq__31321__$1);\nvar G__31620 \x3d null;\nvar G__31621 \x3d (0);\nvar G__31622 \x3d (0);\nseq__31321 \x3d G__31619;\nchunk__31322 \x3d G__31620;\ncount__31323 \x3d G__31621;\ni__31324 \x3d G__31622;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn arr.push(item);\n}\n});\nshadow.cljs.devtools.client.console.object_ref \x3d (function shadow$cljs$devtools$client$console$object_ref(obj){\nif((obj \x3d\x3d null)){\nreturn null;\n} else {\nreturn [\x22object\x22,({\x22object\x22: obj})];\n}\n});\nshadow.cljs.devtools.client.console.map__GT_style \x3d (function shadow$cljs$devtools$client$console$map__GT_style(m){\nreturn ({\x22style\x22: clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__31333){\nvar vec__31335 \x3d p__31333;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31335,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31335,(1),null);\nreturn [cljs.core.name(k),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),\x22;\x22].join(\x27\x27);\n}),m))});\n});\nshadow.cljs.devtools.client.console.clj__GT_jsonml \x3d (function shadow$cljs$devtools$client$console$clj__GT_jsonml(struct){\nif((struct \x3d\x3d null)){\nreturn null;\n} else {\nif(cljs.core.array_QMARK_(struct)){\nreturn struct;\n} else {\nif(cljs.core.vector_QMARK_(struct)){\nvar vec__31343 \x3d struct;\nvar seq__31344 \x3d cljs.core.seq(vec__31343);\nvar first__31345 \x3d cljs.core.first(seq__31344);\nvar seq__31344__$1 \x3d cljs.core.next(seq__31344);\nvar tag \x3d first__31345;\nvar first__31345__$1 \x3d cljs.core.first(seq__31344__$1);\nvar seq__31344__$2 \x3d cljs.core.next(seq__31344__$1);\nvar attrs \x3d first__31345__$1;\nvar children \x3d seq__31344__$2;\nvar js \x3d [cljs.core.name(tag),shadow.cljs.devtools.client.console.map__GT_style(attrs)];\nvar seq__31347_31634 \x3d cljs.core.seq(children);\nvar chunk__31348_31635 \x3d null;\nvar count__31349_31636 \x3d (0);\nvar i__31350_31637 \x3d (0);\nwhile(true){\nif((i__31350_31637 \x3c count__31349_31636)){\nvar child_31638 \x3d chunk__31348_31635.cljs$core$IIndexed$_nth$arity$2(null,i__31350_31637);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_31638) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_31638)));\n\n\nvar G__31639 \x3d seq__31347_31634;\nvar G__31640 \x3d chunk__31348_31635;\nvar G__31641 \x3d count__31349_31636;\nvar G__31642 \x3d (i__31350_31637 + (1));\nseq__31347_31634 \x3d G__31639;\nchunk__31348_31635 \x3d G__31640;\ncount__31349_31636 \x3d G__31641;\ni__31350_31637 \x3d G__31642;\ncontinue;\n} else {\nvar temp__5804__auto___31643 \x3d cljs.core.seq(seq__31347_31634);\nif(temp__5804__auto___31643){\nvar seq__31347_31644__$1 \x3d temp__5804__auto___31643;\nif(cljs.core.chunked_seq_QMARK_(seq__31347_31644__$1)){\nvar c__5548__auto___31645 \x3d cljs.core.chunk_first(seq__31347_31644__$1);\nvar G__31646 \x3d cljs.core.chunk_rest(seq__31347_31644__$1);\nvar G__31647 \x3d c__5548__auto___31645;\nvar G__31648 \x3d cljs.core.count(c__5548__auto___31645);\nvar G__31649 \x3d (0);\nseq__31347_31634 \x3d G__31646;\nchunk__31348_31635 \x3d G__31647;\ncount__31349_31636 \x3d G__31648;\ni__31350_31637 \x3d G__31649;\ncontinue;\n} else {\nvar child_31652 \x3d cljs.core.first(seq__31347_31644__$1);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_31652) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_31652)));\n\n\nvar G__31656 \x3d cljs.core.next(seq__31347_31644__$1);\nvar G__31657 \x3d null;\nvar G__31658 \x3d (0);\nvar G__31659 \x3d (0);\nseq__31347_31634 \x3d G__31656;\nchunk__31348_31635 \x3d G__31657;\ncount__31349_31636 \x3d G__31658;\ni__31350_31637 \x3d G__31659;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn js;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27string\x27){\nreturn struct;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27number\x27){\nreturn struct;\n} else {\nif(cljs.core.seq_QMARK_(struct)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.console.clj__GT_jsonml),struct);\n} else {\nreturn shadow.cljs.devtools.client.console.object_ref(struct);\n\n}\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SeqFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((cljs.core.sequential_QMARK_(obj)) || (cljs.core.set_QMARK_(obj)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.body \x3d (function (s){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),(0)], null),(function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__31384(s__31385){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__31385__$1 \x3d s__31385;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__31385__$1);\nif(temp__5804__auto__){\nvar s__31385__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__31385__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__31385__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__31387 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__31386 \x3d (0);\nwhile(true){\nif((i__31386 \x3c size__5502__auto__)){\nvar value \x3d cljs.core._nth(c__5501__auto__,i__31386);\ncljs.core.chunk_append(b__31387,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null));\n\nvar G__31674 \x3d (i__31386 + (1));\ni__31386 \x3d G__31674;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31387),shadow$cljs$devtools$client$console$iter__31384(cljs.core.chunk_rest(s__31385__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31387),null);\n}\n} else {\nvar value \x3d cljs.core.first(s__31385__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null),shadow$cljs$devtools$client$console$iter__31384(cljs.core.rest(s__31385__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(s);\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SeqFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SeqFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SeqFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SeqFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.MapFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.PersistentHashMap)) || ((((obj instanceof cljs.core.PersistentArrayMap)) || (cljs.core.record_QMARK_(obj)))))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x22100%\x22,new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),(function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__31411(s__31412){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__31412__$1 \x3d s__31412;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__31412__$1);\nif(temp__5804__auto__){\nvar s__31412__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__31412__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__31412__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__31414 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__31413 \x3d (0);\nwhile(true){\nif((i__31413 \x3c size__5502__auto__)){\nvar key \x3d cljs.core._nth(c__5501__auto__,i__31413);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\ncljs.core.chunk_append(b__31414,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null));\n\nvar G__31685 \x3d (i__31413 + (1));\ni__31413 \x3d G__31685;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31414),shadow$cljs$devtools$client$console$iter__31411(cljs.core.chunk_rest(s__31412__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31414),null);\n}\n} else {\nvar key \x3d cljs.core.first(s__31412__$2);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null),shadow$cljs$devtools$client$console$iter__31411(cljs.core.rest(s__31412__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__((function (){var k \x3d cljs.core.keys(m);\ntry{return cljs.core.sort.cljs$core$IFn$_invoke$arity$1(k);\n}catch (e31434){var e \x3d e31434;\nreturn k;\n}})());\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/MapFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_MapFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_MapFormatter(){\nreturn (new shadow.cljs.devtools.client.console.MapFormatter());\n});\n\nshadow.cljs.devtools.client.console.keyword_style \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22var(--sys-color-token-keyword, var(--theme-highlight-pink, rgb(136, 19, 145)))\x22], null);\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.KeywordFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Keyword)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/KeywordFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_KeywordFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_KeywordFormatter(){\nreturn (new shadow.cljs.devtools.client.console.KeywordFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SymbolFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Symbol)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SymbolFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SymbolFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SymbolFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SymbolFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.DerefFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.Atom)) || ((obj instanceof cljs.core.Volatile)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,[\x22@DEREF \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0))].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.body \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),shadow.cljs.devtools.client.console.object_ref(cljs.core.deref(v))], null));\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/DerefFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_DerefFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_DerefFormatter(){\nreturn (new shadow.cljs.devtools.client.console.DerefFormatter());\n});\n\nshadow.cljs.devtools.client.console.install_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$install_all_BANG_(){\nvar temp__5804__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar f \x3d temp__5804__auto__;\nvar G__31573 \x3d f;\nG__31573.push((new shadow.cljs.devtools.client.console.KeywordFormatter()));\n\nG__31573.push((new shadow.cljs.devtools.client.console.MapFormatter()));\n\nG__31573.push((new shadow.cljs.devtools.client.console.SeqFormatter()));\n\nG__31573.push((new shadow.cljs.devtools.client.console.SymbolFormatter()));\n\nG__31573.push((new shadow.cljs.devtools.client.console.DerefFormatter()));\n\nreturn G__31573;\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$remove_all_BANG_(){\nvar all \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__31577_SHARP_){\nreturn goog.object.get(p1__31577_SHARP_,\x22shadow$formatter\x22);\n}),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn [];\n}\n})())));\nreturn goog.object.set(goog.global,\x22devtoolsFormatters\x22,all);\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_();\nshadow.cljs.devtools.client.console.install_all_BANG_();\n");
SHADOW_ENV.evalLoad("goog.dom.inputtype.js", true, "goog.provide(\x22goog.dom.InputType\x22);\ngoog.dom.InputType \x3d {BUTTON:\x22button\x22, CHECKBOX:\x22checkbox\x22, COLOR:\x22color\x22, DATE:\x22date\x22, DATETIME:\x22datetime\x22, DATETIME_LOCAL:\x22datetime-local\x22, EMAIL:\x22email\x22, FILE:\x22file\x22, HIDDEN:\x22hidden\x22, IMAGE:\x22image\x22, MENU:\x22menu\x22, MONTH:\x22month\x22, NUMBER:\x22number\x22, PASSWORD:\x22password\x22, RADIO:\x22radio\x22, RANGE:\x22range\x22, RESET:\x22reset\x22, SEARCH:\x22search\x22, SELECT_MULTIPLE:\x22select-multiple\x22, SELECT_ONE:\x22select-one\x22, SUBMIT:\x22submit\x22, TEL:\x22tel\x22, TEXT:\x22text\x22, TEXTAREA:\x22textarea\x22, TIME:\x22time\x22, URL:\x22url\x22, WEEK:\x22week\x22};\n");
SHADOW_ENV.evalLoad("goog.collections.iters.js", true, "goog.loadModule(function(exports) {\n  function getIterator(iterable) {\n    return iterable[goog.global.Symbol.iterator]();\n  }\n  function forEach(iterator, f) {\n    let result;\n    for (; !(result \x3d iterator.next()).done;) {\n      f(result.value);\n    }\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.collections.iters\x22);\n  goog.module.declareLegacyNamespace();\n  exports.getIterator \x3d getIterator;\n  exports.forEach \x3d forEach;\n  class MapIterator {\n    constructor(childIter, mapFn) {\n      this.childIterator_ \x3d getIterator(childIter);\n      this.mapFn_ \x3d mapFn;\n    }\n    [Symbol.iterator]() {\n      return this;\n    }\n    next() {\n      const childResult \x3d this.childIterator_.next();\n      return {value:childResult.done ? undefined : this.mapFn_.call(undefined, childResult.value), done:childResult.done};\n    }\n  }\n  exports.map \x3d function(iterable, f) {\n    return new MapIterator(iterable, f);\n  };\n  class FilterIterator {\n    constructor(childIter, filterFn) {\n      this.childIter_ \x3d getIterator(childIter);\n      this.filterFn_ \x3d filterFn;\n    }\n    [Symbol.iterator]() {\n      return this;\n    }\n    next() {\n      for (; true;) {\n        const childResult \x3d this.childIter_.next();\n        if (childResult.done) {\n          return {done:true, value:undefined};\n        }\n        const passesFilter \x3d this.filterFn_.call(undefined, childResult.value);\n        if (passesFilter) {\n          return childResult;\n        }\n      }\n    }\n  }\n  exports.filter \x3d function(iterable, f) {\n    return new FilterIterator(iterable, f);\n  };\n  class ConcatIterator {\n    constructor(iterators) {\n      this.iterators_ \x3d iterators;\n      this.iterIndex_ \x3d 0;\n    }\n    [Symbol.iterator]() {\n      return this;\n    }\n    next() {\n      for (; this.iterIndex_ \x3c this.iterators_.length;) {\n        const result \x3d this.iterators_[this.iterIndex_].next();\n        if (!result.done) {\n          return result;\n        }\n        this.iterIndex_++;\n      }\n      return {done:true};\n    }\n  }\n  exports.concat \x3d function(...iterables) {\n    return new ConcatIterator(iterables.map(getIterator));\n  };\n  exports.toArray \x3d function(iterator) {\n    const arr \x3d [];\n    forEach(iterator, e \x3d\x3e {\n      return arr.push(e);\n    });\n    return arr;\n  };\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.debug.errorcontext.js", true, "goog.provide(\x22goog.debug.errorcontext\x22);\ngoog.debug.errorcontext.addErrorContext \x3d function(err, contextKey, contextValue) {\n  if (!err[goog.debug.errorcontext.CONTEXT_KEY_]) {\n    err[goog.debug.errorcontext.CONTEXT_KEY_] \x3d {};\n  }\n  err[goog.debug.errorcontext.CONTEXT_KEY_][contextKey] \x3d contextValue;\n};\ngoog.debug.errorcontext.getErrorContext \x3d function(err) {\n  return err[goog.debug.errorcontext.CONTEXT_KEY_] || {};\n};\ngoog.debug.errorcontext.CONTEXT_KEY_ \x3d \x22__closure__error__context__984382\x22;\n");
SHADOW_ENV.evalLoad("goog.debug.debug.js", true, "goog.provide(\x22goog.debug\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.debug.errorcontext\x22);\ngoog.debug.LOGGING_ENABLED \x3d goog.define(\x22goog.debug.LOGGING_ENABLED\x22, goog.DEBUG);\ngoog.debug.FORCE_SLOPPY_STACKS \x3d goog.define(\x22goog.debug.FORCE_SLOPPY_STACKS\x22, false);\ngoog.debug.CHECK_FOR_THROWN_EVENT \x3d goog.define(\x22goog.debug.CHECK_FOR_THROWN_EVENT\x22, false);\ngoog.debug.catchErrors \x3d function(logFunc, opt_cancel, opt_target) {\n  var target \x3d opt_target || goog.global;\n  var oldErrorHandler \x3d target.onerror;\n  var retVal \x3d !!opt_cancel;\n  target.onerror \x3d function(message, url, line, opt_col, opt_error) {\n    if (oldErrorHandler) {\n      oldErrorHandler(message, url, line, opt_col, opt_error);\n    }\n    logFunc({message:message, fileName:url, line:line, lineNumber:line, col:opt_col, error:opt_error});\n    return retVal;\n  };\n};\ngoog.debug.expose \x3d function(obj, opt_showFn) {\n  if (typeof obj \x3d\x3d \x22undefined\x22) {\n    return \x22undefined\x22;\n  }\n  if (obj \x3d\x3d null) {\n    return \x22NULL\x22;\n  }\n  var str \x3d [];\n  var x;\n  for (x in obj) {\n    if (!opt_showFn \x26\x26 typeof obj[x] \x3d\x3d\x3d \x22function\x22) {\n      continue;\n    }\n    var s \x3d x + \x22 \\x3d \x22;\n    try {\n      s \x3d s + obj[x];\n    } catch (e) {\n      s \x3d s + (\x22*** \x22 + e + \x22 ***\x22);\n    }\n    str.push(s);\n  }\n  return str.join(\x22\\n\x22);\n};\ngoog.debug.deepExpose \x3d function(obj, opt_showFn) {\n  var str \x3d [];\n  var uidsToCleanup \x3d [];\n  var ancestorUids \x3d {};\n  var helper \x3d function(obj, space) {\n    var nestspace \x3d space + \x22  \x22;\n    var indentMultiline \x3d function(str) {\n      return str.replace(/\\n/g, \x22\\n\x22 + space);\n    };\n    try {\n      if (obj \x3d\x3d\x3d undefined) {\n        str.push(\x22undefined\x22);\n      } else if (obj \x3d\x3d\x3d null) {\n        str.push(\x22NULL\x22);\n      } else if (typeof obj \x3d\x3d\x3d \x22string\x22) {\n        str.push(\x27\x22\x27 + indentMultiline(obj) + \x27\x22\x27);\n      } else if (typeof obj \x3d\x3d\x3d \x22function\x22) {\n        str.push(indentMultiline(String(obj)));\n      } else if (goog.isObject(obj)) {\n        if (!goog.hasUid(obj)) {\n          uidsToCleanup.push(obj);\n        }\n        var uid \x3d goog.getUid(obj);\n        if (ancestorUids[uid]) {\n          str.push(\x22*** reference loop detected (id\\x3d\x22 + uid + \x22) ***\x22);\n        } else {\n          ancestorUids[uid] \x3d true;\n          str.push(\x22{\x22);\n          var x;\n          for (x in obj) {\n            if (!opt_showFn \x26\x26 typeof obj[x] \x3d\x3d\x3d \x22function\x22) {\n              continue;\n            }\n            str.push(\x22\\n\x22);\n            str.push(nestspace);\n            str.push(x + \x22 \\x3d \x22);\n            helper(obj[x], nestspace);\n          }\n          str.push(\x22\\n\x22 + space + \x22}\x22);\n          delete ancestorUids[uid];\n        }\n      } else {\n        str.push(obj);\n      }\n    } catch (e) {\n      str.push(\x22*** \x22 + e + \x22 ***\x22);\n    }\n  };\n  helper(obj, \x22\x22);\n  var i \x3d 0;\n  for (; i \x3c uidsToCleanup.length; i++) {\n    goog.removeUid(uidsToCleanup[i]);\n  }\n  return str.join(\x22\x22);\n};\ngoog.debug.exposeArray \x3d function(arr) {\n  var str \x3d [];\n  var i \x3d 0;\n  for (; i \x3c arr.length; i++) {\n    if (Array.isArray(arr[i])) {\n      str.push(goog.debug.exposeArray(arr[i]));\n    } else {\n      str.push(arr[i]);\n    }\n  }\n  return \x22[ \x22 + str.join(\x22, \x22) + \x22 ]\x22;\n};\ngoog.debug.normalizeErrorObject \x3d function(err) {\n  var href \x3d goog.getObjectByName(\x22window.location.href\x22);\n  if (err \x3d\x3d null) {\n    err \x3d \x27Unknown Error of type \x22null/undefined\x22\x27;\n  }\n  if (typeof err \x3d\x3d\x3d \x22string\x22) {\n    return {\x22message\x22:err, \x22name\x22:\x22Unknown error\x22, \x22lineNumber\x22:\x22Not available\x22, \x22fileName\x22:href, \x22stack\x22:\x22Not available\x22};\n  }\n  var lineNumber;\n  var fileName;\n  var threwError \x3d false;\n  try {\n    lineNumber \x3d err.lineNumber || err.line || \x22Not available\x22;\n  } catch (e) {\n    lineNumber \x3d \x22Not available\x22;\n    threwError \x3d true;\n  }\n  try {\n    fileName \x3d err.fileName || err.filename || err.sourceURL || goog.global[\x22$googDebugFname\x22] || href;\n  } catch (e) {\n    fileName \x3d \x22Not available\x22;\n    threwError \x3d true;\n  }\n  var stack \x3d goog.debug.serializeErrorStack_(err);\n  if (threwError || !err.lineNumber || !err.fileName || !err.stack || !err.message || !err.name) {\n    var message \x3d err.message;\n    if (message \x3d\x3d null) {\n      if (err.constructor \x26\x26 err.constructor instanceof Function) {\n        var ctorName \x3d err.constructor.name ? err.constructor.name : goog.debug.getFunctionName(err.constructor);\n        message \x3d \x27Unknown Error of type \x22\x27 + ctorName + \x27\x22\x27;\n        if (goog.debug.CHECK_FOR_THROWN_EVENT \x26\x26 ctorName \x3d\x3d \x22Event\x22) {\n          try {\n            message \x3d message + \x27 with Event.type \x22\x27 + (err.type || \x22\x22) + \x27\x22\x27;\n          } catch (e) {\n          }\n        }\n      } else {\n        message \x3d \x22Unknown Error of unknown type\x22;\n      }\n      if (typeof err.toString \x3d\x3d\x3d \x22function\x22 \x26\x26 Object.prototype.toString !\x3d\x3d err.toString) {\n        message \x3d message + (\x22: \x22 + err.toString());\n      }\n    }\n    return {\x22message\x22:message, \x22name\x22:err.name || \x22UnknownError\x22, \x22lineNumber\x22:lineNumber, \x22fileName\x22:fileName, \x22stack\x22:stack || \x22Not available\x22};\n  }\n  err.stack \x3d stack;\n  return {\x22message\x22:err.message, \x22name\x22:err.name, \x22lineNumber\x22:err.lineNumber, \x22fileName\x22:err.fileName, \x22stack\x22:err.stack};\n};\ngoog.debug.serializeErrorStack_ \x3d function(e, seen) {\n  if (!seen) {\n    seen \x3d {};\n  }\n  seen[goog.debug.serializeErrorAsKey_(e)] \x3d true;\n  var stack \x3d e[\x22stack\x22] || \x22\x22;\n  var cause \x3d e.cause;\n  if (cause \x26\x26 !seen[goog.debug.serializeErrorAsKey_(cause)]) {\n    stack \x3d stack + \x22\\nCaused by: \x22;\n    if (!cause.stack || cause.stack.indexOf(cause.toString()) !\x3d 0) {\n      stack \x3d stack + (typeof cause \x3d\x3d\x3d \x22string\x22 ? cause : cause.message + \x22\\n\x22);\n    }\n    stack \x3d stack + goog.debug.serializeErrorStack_(cause, seen);\n  }\n  return stack;\n};\ngoog.debug.serializeErrorAsKey_ \x3d function(e) {\n  var keyPrefix \x3d \x22\x22;\n  if (typeof e.toString \x3d\x3d\x3d \x22function\x22) {\n    keyPrefix \x3d \x22\x22 + e;\n  }\n  return keyPrefix + e[\x22stack\x22];\n};\ngoog.debug.enhanceError \x3d function(err, opt_message) {\n  var error;\n  if (!(err instanceof Error)) {\n    error \x3d Error(err);\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(error, goog.debug.enhanceError);\n    }\n  } else {\n    error \x3d err;\n  }\n  if (!error.stack) {\n    error.stack \x3d goog.debug.getStacktrace(goog.debug.enhanceError);\n  }\n  if (opt_message) {\n    var x \x3d 0;\n    for (; error[\x22message\x22 + x];) {\n      ++x;\n    }\n    error[\x22message\x22 + x] \x3d String(opt_message);\n  }\n  return error;\n};\ngoog.debug.enhanceErrorWithContext \x3d function(err, opt_context) {\n  var error \x3d goog.debug.enhanceError(err);\n  if (opt_context) {\n    var key;\n    for (key in opt_context) {\n      goog.debug.errorcontext.addErrorContext(error, key, opt_context[key]);\n    }\n  }\n  return error;\n};\ngoog.debug.getStacktraceSimple \x3d function(opt_depth) {\n  if (!goog.debug.FORCE_SLOPPY_STACKS) {\n    var stack \x3d goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);\n    if (stack) {\n      return stack;\n    }\n  }\n  var sb \x3d [];\n  var fn \x3d arguments.callee.caller;\n  var depth \x3d 0;\n  for (; fn \x26\x26 (!opt_depth || depth \x3c opt_depth);) {\n    sb.push(goog.debug.getFunctionName(fn));\n    sb.push(\x22()\\n\x22);\n    try {\n      fn \x3d fn.caller;\n    } catch (e) {\n      sb.push(\x22[exception trying to get caller]\\n\x22);\n      break;\n    }\n    depth++;\n    if (depth \x3e\x3d goog.debug.MAX_STACK_DEPTH) {\n      sb.push(\x22[...long stack...]\x22);\n      break;\n    }\n  }\n  if (opt_depth \x26\x26 depth \x3e\x3d opt_depth) {\n    sb.push(\x22[...reached max depth limit...]\x22);\n  } else {\n    sb.push(\x22[end]\x22);\n  }\n  return sb.join(\x22\x22);\n};\ngoog.debug.MAX_STACK_DEPTH \x3d 50;\ngoog.debug.getNativeStackTrace_ \x3d function(fn) {\n  var tempErr \x3d new Error();\n  if (Error.captureStackTrace) {\n    Error.captureStackTrace(tempErr, fn);\n    return String(tempErr.stack);\n  } else {\n    try {\n      throw tempErr;\n    } catch (e) {\n      tempErr \x3d e;\n    }\n    var stack \x3d tempErr.stack;\n    if (stack) {\n      return String(stack);\n    }\n  }\n  return null;\n};\ngoog.debug.getStacktrace \x3d function(fn) {\n  var stack;\n  if (!goog.debug.FORCE_SLOPPY_STACKS) {\n    var contextFn \x3d fn || goog.debug.getStacktrace;\n    stack \x3d goog.debug.getNativeStackTrace_(contextFn);\n  }\n  if (!stack) {\n    stack \x3d goog.debug.getStacktraceHelper_(fn || arguments.callee.caller, []);\n  }\n  return stack;\n};\ngoog.debug.getStacktraceHelper_ \x3d function(fn, visited) {\n  var sb \x3d [];\n  if (goog.array.contains(visited, fn)) {\n    sb.push(\x22[...circular reference...]\x22);\n  } else if (fn \x26\x26 visited.length \x3c goog.debug.MAX_STACK_DEPTH) {\n    sb.push(goog.debug.getFunctionName(fn) + \x22(\x22);\n    var args \x3d fn.arguments;\n    var i \x3d 0;\n    for (; args \x26\x26 i \x3c args.length; i++) {\n      if (i \x3e 0) {\n        sb.push(\x22, \x22);\n      }\n      var argDesc;\n      var arg \x3d args[i];\n      switch(typeof arg) {\n        case \x22object\x22:\n          argDesc \x3d arg ? \x22object\x22 : \x22null\x22;\n          break;\n        case \x22string\x22:\n          argDesc \x3d arg;\n          break;\n        case \x22number\x22:\n          argDesc \x3d String(arg);\n          break;\n        case \x22boolean\x22:\n          argDesc \x3d arg ? \x22true\x22 : \x22false\x22;\n          break;\n        case \x22function\x22:\n          argDesc \x3d goog.debug.getFunctionName(arg);\n          argDesc \x3d argDesc ? argDesc : \x22[fn]\x22;\n          break;\n        case \x22undefined\x22:\n        default:\n          argDesc \x3d typeof arg;\n          break;\n      }\n      if (argDesc.length \x3e 40) {\n        argDesc \x3d argDesc.slice(0, 40) + \x22...\x22;\n      }\n      sb.push(argDesc);\n    }\n    visited.push(fn);\n    sb.push(\x22)\\n\x22);\n    try {\n      sb.push(goog.debug.getStacktraceHelper_(fn.caller, visited));\n    } catch (e) {\n      sb.push(\x22[exception trying to get caller]\\n\x22);\n    }\n  } else if (fn) {\n    sb.push(\x22[...long stack...]\x22);\n  } else {\n    sb.push(\x22[end]\x22);\n  }\n  return sb.join(\x22\x22);\n};\ngoog.debug.getFunctionName \x3d function(fn) {\n  if (goog.debug.fnNameCache_[fn]) {\n    return goog.debug.fnNameCache_[fn];\n  }\n  var functionSource \x3d String(fn);\n  if (!goog.debug.fnNameCache_[functionSource]) {\n    var matches \x3d /function\\s+([^\\(]+)/m.exec(functionSource);\n    if (matches) {\n      var method \x3d matches[1];\n      goog.debug.fnNameCache_[functionSource] \x3d method;\n    } else {\n      goog.debug.fnNameCache_[functionSource] \x3d \x22[Anonymous]\x22;\n    }\n  }\n  return goog.debug.fnNameCache_[functionSource];\n};\ngoog.debug.makeWhitespaceVisible \x3d function(string) {\n  return string.replace(/ /g, \x22[_]\x22).replace(/\\f/g, \x22[f]\x22).replace(/\\n/g, \x22[n]\\n\x22).replace(/\\r/g, \x22[r]\x22).replace(/\\t/g, \x22[t]\x22);\n};\ngoog.debug.runtimeType \x3d function(value) {\n  if (value instanceof Function) {\n    return value.displayName || value.name || \x22unknown type name\x22;\n  } else if (value instanceof Object) {\n    return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n  } else {\n    return value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n  }\n};\ngoog.debug.fnNameCache_ \x3d {};\ngoog.debug.freezeInternal_ \x3d goog.DEBUG \x26\x26 Object.freeze || function(arg) {\n  return arg;\n};\ngoog.debug.freeze \x3d function(arg) {\n  return {valueOf:function() {\n    return goog.debug.freezeInternal_(arg);\n  }}.valueOf();\n};\n");
SHADOW_ENV.evalLoad("goog.iter.iter.js", true, "goog.provide(\x22goog.iter\x22);\ngoog.provide(\x22goog.iter.Iterable\x22);\ngoog.provide(\x22goog.iter.Iterator\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.debug\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.math\x22);\ngoog.iter.Iterable;\ngoog.iter.Iterator \x3d function() {\n};\ngoog.iter.Iterator.prototype.next \x3d function() {\n  return goog.iter.ES6_ITERATOR_DONE;\n};\ngoog.iter.ES6_ITERATOR_DONE \x3d goog.debug.freeze({done:true, value:undefined});\ngoog.iter.createEs6IteratorYield \x3d function(value) {\n  return {value, done:false};\n};\ngoog.iter.Iterator.prototype.__iterator__ \x3d function(opt_keys) {\n  return this;\n};\ngoog.iter.toIterator \x3d function(iterable) {\n  if (iterable instanceof goog.iter.Iterator) {\n    return iterable;\n  }\n  if (typeof iterable.__iterator__ \x3d\x3d \x22function\x22) {\n    return iterable.__iterator__(false);\n  }\n  if (goog.isArrayLike(iterable)) {\n    const like \x3d iterable;\n    let i \x3d 0;\n    const newIter \x3d new goog.iter.Iterator();\n    newIter.next \x3d function() {\n      for (; true;) {\n        if (i \x3e\x3d like.length) {\n          return goog.iter.ES6_ITERATOR_DONE;\n        }\n        if (!(i in like)) {\n          i++;\n          continue;\n        }\n        return goog.iter.createEs6IteratorYield(like[i++]);\n      }\n    };\n    return newIter;\n  }\n  throw new Error(\x22Not implemented\x22);\n};\ngoog.iter.forEach \x3d function(iterable, f, opt_obj) {\n  if (goog.isArrayLike(iterable)) {\n    goog.array.forEach(iterable, f, opt_obj);\n  } else {\n    const iterator \x3d goog.iter.toIterator(iterable);\n    for (; true;) {\n      const {done, value} \x3d iterator.next();\n      if (done) {\n        return;\n      }\n      f.call(opt_obj, value, undefined, iterator);\n    }\n  }\n};\ngoog.iter.filter \x3d function(iterable, f, opt_obj) {\n  const iterator \x3d goog.iter.toIterator(iterable);\n  const newIter \x3d new goog.iter.Iterator();\n  newIter.next \x3d function() {\n    for (; true;) {\n      const {done, value} \x3d iterator.next();\n      if (done) {\n        return goog.iter.ES6_ITERATOR_DONE;\n      }\n      if (f.call(opt_obj, value, undefined, iterator)) {\n        return goog.iter.createEs6IteratorYield(value);\n      }\n    }\n  };\n  return newIter;\n};\ngoog.iter.filterFalse \x3d function(iterable, f, opt_obj) {\n  return goog.iter.filter(iterable, goog.functions.not(f), opt_obj);\n};\ngoog.iter.range \x3d function(startOrStop, opt_stop, opt_step) {\n  let start \x3d 0;\n  let stop \x3d startOrStop;\n  let step \x3d opt_step || 1;\n  if (arguments.length \x3e 1) {\n    start \x3d startOrStop;\n    stop \x3d +opt_stop;\n  }\n  if (step \x3d\x3d 0) {\n    throw new Error(\x22Range step argument must not be zero\x22);\n  }\n  const newIter \x3d new goog.iter.Iterator();\n  newIter.next \x3d function() {\n    if (step \x3e 0 \x26\x26 start \x3e\x3d stop || step \x3c 0 \x26\x26 start \x3c\x3d stop) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    const rv \x3d start;\n    start \x3d start + step;\n    return goog.iter.createEs6IteratorYield(rv);\n  };\n  return newIter;\n};\ngoog.iter.join \x3d function(iterable, deliminator) {\n  return goog.iter.toArray(iterable).join(deliminator);\n};\ngoog.iter.map \x3d function(iterable, f, opt_obj) {\n  const iterator \x3d goog.iter.toIterator(iterable);\n  const newIter \x3d new goog.iter.Iterator();\n  newIter.next \x3d function() {\n    const {done, value} \x3d iterator.next();\n    if (done) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    const mappedVal \x3d f.call(opt_obj, value, undefined, iterator);\n    return goog.iter.createEs6IteratorYield(mappedVal);\n  };\n  return newIter;\n};\ngoog.iter.reduce \x3d function(iterable, f, val, opt_obj) {\n  let rval \x3d val;\n  goog.iter.forEach(iterable, function(val) {\n    rval \x3d f.call(opt_obj, rval, val);\n  });\n  return rval;\n};\ngoog.iter.some \x3d function(iterable, f, opt_obj) {\n  const iterator \x3d goog.iter.toIterator(iterable);\n  for (; true;) {\n    const {done, value} \x3d iterator.next();\n    if (done) {\n      return false;\n    }\n    if (f.call(opt_obj, value, undefined, iterator)) {\n      return true;\n    }\n  }\n};\ngoog.iter.every \x3d function(iterable, f, opt_obj) {\n  const iterator \x3d goog.iter.toIterator(iterable);\n  for (; true;) {\n    const {done, value} \x3d iterator.next();\n    if (done) {\n      return true;\n    }\n    if (!f.call(opt_obj, value, undefined, iterator)) {\n      return false;\n    }\n  }\n};\ngoog.iter.chain \x3d function(var_args) {\n  return goog.iter.chainFromIterable(arguments);\n};\ngoog.iter.chainFromIterable \x3d function(iterable) {\n  const iteratorOfIterators \x3d goog.iter.toIterator(iterable);\n  const iter \x3d new goog.iter.Iterator();\n  let current \x3d null;\n  iter.next \x3d function() {\n    for (; true;) {\n      if (current \x3d\x3d null) {\n        const it \x3d iteratorOfIterators.next();\n        if (it.done) {\n          return goog.iter.ES6_ITERATOR_DONE;\n        }\n        const value \x3d it.value;\n        current \x3d goog.iter.toIterator(value);\n      }\n      const it \x3d current.next();\n      if (it.done) {\n        current \x3d null;\n        continue;\n      }\n      const value \x3d it.value;\n      return goog.iter.createEs6IteratorYield(value);\n    }\n  };\n  return iter;\n};\ngoog.iter.dropWhile \x3d function(iterable, f, opt_obj) {\n  const iterator \x3d goog.iter.toIterator(iterable);\n  const newIter \x3d new goog.iter.Iterator();\n  let dropping \x3d true;\n  newIter.next \x3d function() {\n    for (; true;) {\n      const {done, value} \x3d iterator.next();\n      if (done) {\n        return goog.iter.ES6_ITERATOR_DONE;\n      }\n      if (dropping \x26\x26 f.call(opt_obj, value, undefined, iterator)) {\n        continue;\n      } else {\n        dropping \x3d false;\n      }\n      return goog.iter.createEs6IteratorYield(value);\n    }\n  };\n  return newIter;\n};\ngoog.iter.takeWhile \x3d function(iterable, f, opt_obj) {\n  const iterator \x3d goog.iter.toIterator(iterable);\n  const iter \x3d new goog.iter.Iterator();\n  iter.next \x3d function() {\n    const {done, value} \x3d iterator.next();\n    if (done) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    if (f.call(opt_obj, value, undefined, iterator)) {\n      return goog.iter.createEs6IteratorYield(value);\n    }\n    return goog.iter.ES6_ITERATOR_DONE;\n  };\n  return iter;\n};\ngoog.iter.toArray \x3d function(iterable) {\n  if (goog.isArrayLike(iterable)) {\n    return goog.array.toArray(iterable);\n  }\n  iterable \x3d goog.iter.toIterator(iterable);\n  const array \x3d [];\n  goog.iter.forEach(iterable, function(val) {\n    array.push(val);\n  });\n  return array;\n};\ngoog.iter.equals \x3d function(iterable1, iterable2, opt_equalsFn) {\n  const fillValue \x3d {};\n  const pairs \x3d goog.iter.zipLongest(fillValue, iterable1, iterable2);\n  const equalsFn \x3d opt_equalsFn || goog.array.defaultCompareEquality;\n  return goog.iter.every(pairs, function(pair) {\n    return equalsFn(pair[0], pair[1]);\n  });\n};\ngoog.iter.nextOrValue \x3d function(iterable, defaultValue) {\n  const iterator \x3d goog.iter.toIterator(iterable);\n  const {done, value} \x3d iterator.next();\n  if (done) {\n    return defaultValue;\n  }\n  return value;\n};\ngoog.iter.product \x3d function(var_args) {\n  const someArrayEmpty \x3d Array.prototype.some.call(arguments, function(arr) {\n    return !arr.length;\n  });\n  if (someArrayEmpty || !arguments.length) {\n    return new goog.iter.Iterator();\n  }\n  const iter \x3d new goog.iter.Iterator();\n  const arrays \x3d arguments;\n  let indices \x3d goog.array.repeat(0, arrays.length);\n  iter.next \x3d function() {\n    if (indices) {\n      const retVal \x3d goog.array.map(indices, function(valueIndex, arrayIndex) {\n        return arrays[arrayIndex][valueIndex];\n      });\n      for (let i \x3d indices.length - 1; i \x3e\x3d 0; i--) {\n        goog.asserts.assert(indices);\n        if (indices[i] \x3c arrays[i].length - 1) {\n          indices[i]++;\n          break;\n        }\n        if (i \x3d\x3d 0) {\n          indices \x3d null;\n          break;\n        }\n        indices[i] \x3d 0;\n      }\n      return goog.iter.createEs6IteratorYield(retVal);\n    }\n    return goog.iter.ES6_ITERATOR_DONE;\n  };\n  return iter;\n};\ngoog.iter.cycle \x3d function(iterable) {\n  const baseIterator \x3d goog.iter.toIterator(iterable);\n  const cache \x3d [];\n  let cacheIndex \x3d 0;\n  const iter \x3d new goog.iter.Iterator();\n  let useCache \x3d false;\n  iter.next \x3d function() {\n    let returnElement \x3d null;\n    if (!useCache) {\n      const it \x3d baseIterator.next();\n      if (it.done) {\n        if (goog.array.isEmpty(cache)) {\n          return goog.iter.ES6_ITERATOR_DONE;\n        }\n        useCache \x3d true;\n      } else {\n        cache.push(it.value);\n        return it;\n      }\n    }\n    returnElement \x3d cache[cacheIndex];\n    cacheIndex \x3d (cacheIndex + 1) % cache.length;\n    return goog.iter.createEs6IteratorYield(returnElement);\n  };\n  return iter;\n};\ngoog.iter.count \x3d function(opt_start, opt_step) {\n  let counter \x3d opt_start || 0;\n  const step \x3d opt_step !\x3d\x3d undefined ? opt_step : 1;\n  const iter \x3d new goog.iter.Iterator();\n  iter.next \x3d function() {\n    const returnValue \x3d counter;\n    counter \x3d counter + step;\n    return goog.iter.createEs6IteratorYield(returnValue);\n  };\n  return iter;\n};\ngoog.iter.repeat \x3d function(value) {\n  const iter \x3d new goog.iter.Iterator();\n  iter.next \x3d function() {\n    return goog.iter.createEs6IteratorYield(value);\n  };\n  return iter;\n};\ngoog.iter.accumulate \x3d function(iterable) {\n  const iterator \x3d goog.iter.toIterator(iterable);\n  let total \x3d 0;\n  const iter \x3d new goog.iter.Iterator();\n  iter.next \x3d function() {\n    const {done, value} \x3d iterator.next();\n    if (done) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    total \x3d total + value;\n    return goog.iter.createEs6IteratorYield(total);\n  };\n  return iter;\n};\ngoog.iter.zip \x3d function(var_args) {\n  const args \x3d arguments;\n  const iter \x3d new goog.iter.Iterator();\n  if (args.length \x3e 0) {\n    const iterators \x3d goog.array.map(args, goog.iter.toIterator);\n    let allDone \x3d false;\n    iter.next \x3d function() {\n      if (allDone) {\n        return goog.iter.ES6_ITERATOR_DONE;\n      }\n      const arr \x3d [];\n      for (let i \x3d 0, iterator; iterator \x3d iterators[i++];) {\n        const it \x3d iterator.next();\n        if (it.done) {\n          allDone \x3d true;\n          return goog.iter.ES6_ITERATOR_DONE;\n        }\n        arr.push(it.value);\n      }\n      return goog.iter.createEs6IteratorYield(arr);\n    };\n  }\n  return iter;\n};\ngoog.iter.zipLongest \x3d function(fillValue, var_args) {\n  const args \x3d Array.prototype.slice.call(arguments, 1);\n  const iter \x3d new goog.iter.Iterator();\n  if (args.length \x3e 0) {\n    const iterators \x3d goog.array.map(args, goog.iter.toIterator);\n    let allDone \x3d false;\n    iter.next \x3d function() {\n      if (allDone) {\n        return goog.iter.ES6_ITERATOR_DONE;\n      }\n      let iteratorsHaveValues \x3d false;\n      const arr \x3d [];\n      for (let i \x3d 0, iterator; iterator \x3d iterators[i++];) {\n        const it \x3d iterator.next();\n        if (it.done) {\n          arr.push(fillValue);\n          continue;\n        }\n        arr.push(it.value);\n        iteratorsHaveValues \x3d true;\n      }\n      if (!iteratorsHaveValues) {\n        allDone \x3d true;\n        return goog.iter.ES6_ITERATOR_DONE;\n      }\n      return goog.iter.createEs6IteratorYield(arr);\n    };\n  }\n  return iter;\n};\ngoog.iter.compress \x3d function(iterable, selectors) {\n  const valueIterator \x3d goog.iter.toIterator(iterable);\n  const selectorIterator \x3d goog.iter.toIterator(selectors);\n  const iter \x3d new goog.iter.Iterator();\n  let allDone \x3d false;\n  iter.next \x3d function() {\n    if (allDone) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    for (; true;) {\n      const valIt \x3d valueIterator.next();\n      if (valIt.done) {\n        allDone \x3d true;\n        return goog.iter.ES6_ITERATOR_DONE;\n      }\n      const selectorIt \x3d selectorIterator.next();\n      if (selectorIt.done) {\n        allDone \x3d true;\n        return goog.iter.ES6_ITERATOR_DONE;\n      }\n      const val \x3d valIt.value;\n      const selectorVal \x3d selectorIt.value;\n      if (selectorVal) {\n        return goog.iter.createEs6IteratorYield(val);\n      }\n    }\n  };\n  return iter;\n};\ngoog.iter.GroupByIterator_ \x3d function(iterable, opt_keyFunc) {\n  this.iterator \x3d goog.iter.toIterator(iterable);\n  this.keyFunc \x3d opt_keyFunc || goog.functions.identity;\n  this.targetKey;\n  this.currentKey;\n  this.currentValue;\n};\ngoog.inherits(goog.iter.GroupByIterator_, goog.iter.Iterator);\ngoog.iter.GroupByIterator_.prototype.next \x3d function() {\n  for (; this.currentKey \x3d\x3d this.targetKey;) {\n    const it \x3d this.iterator.next();\n    if (it.done) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    this.currentValue \x3d it.value;\n    this.currentKey \x3d this.keyFunc(this.currentValue);\n  }\n  this.targetKey \x3d this.currentKey;\n  return goog.iter.createEs6IteratorYield([this.currentKey, this.groupItems_(this.targetKey)]);\n};\ngoog.iter.GroupByIterator_.prototype.groupItems_ \x3d function(targetKey) {\n  const arr \x3d [];\n  for (; this.currentKey \x3d\x3d targetKey;) {\n    arr.push(this.currentValue);\n    const it \x3d this.iterator.next();\n    if (it.done) {\n      break;\n    }\n    this.currentValue \x3d it.value;\n    this.currentKey \x3d this.keyFunc(this.currentValue);\n  }\n  return arr;\n};\ngoog.iter.groupBy \x3d function(iterable, opt_keyFunc) {\n  return new goog.iter.GroupByIterator_(iterable, opt_keyFunc);\n};\ngoog.iter.starMap \x3d function(iterable, f, opt_obj) {\n  const iterator \x3d goog.iter.toIterator(iterable);\n  const iter \x3d new goog.iter.Iterator();\n  iter.next \x3d function() {\n    const it \x3d iterator.next();\n    if (it.done) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    const args \x3d goog.iter.toArray(it.value);\n    const value \x3d f.apply(opt_obj, [].concat(args, undefined, iterator));\n    return goog.iter.createEs6IteratorYield(value);\n  };\n  return iter;\n};\ngoog.iter.tee \x3d function(iterable, opt_num) {\n  function addNextIteratorValueToBuffers() {\n    const {done, value} \x3d iterator.next();\n    if (done) {\n      return false;\n    }\n    for (let i \x3d 0, buffer; buffer \x3d buffers[i++];) {\n      buffer.push(value);\n    }\n    return true;\n  }\n  function createIterator(buffer) {\n    const iter \x3d new goog.iter.Iterator();\n    iter.next \x3d function() {\n      if (goog.array.isEmpty(buffer)) {\n        const added \x3d addNextIteratorValueToBuffers();\n        if (!added) {\n          return goog.iter.ES6_ITERATOR_DONE;\n        }\n      }\n      goog.asserts.assert(!goog.array.isEmpty(buffer));\n      return goog.iter.createEs6IteratorYield(buffer.shift());\n    };\n    return iter;\n  }\n  const iterator \x3d goog.iter.toIterator(iterable);\n  const num \x3d typeof opt_num \x3d\x3d\x3d \x22number\x22 ? opt_num : 2;\n  const buffers \x3d goog.array.map(goog.array.range(num), function() {\n    return [];\n  });\n  return goog.array.map(buffers, createIterator);\n};\ngoog.iter.enumerate \x3d function(iterable, opt_start) {\n  return goog.iter.zip(goog.iter.count(opt_start), iterable);\n};\ngoog.iter.limit \x3d function(iterable, limitSize) {\n  goog.asserts.assert(goog.math.isInt(limitSize) \x26\x26 limitSize \x3e\x3d 0);\n  const iterator \x3d goog.iter.toIterator(iterable);\n  const iter \x3d new goog.iter.Iterator();\n  let remaining \x3d limitSize;\n  iter.next \x3d function() {\n    if (remaining-- \x3e 0) {\n      return iterator.next();\n    }\n    return goog.iter.ES6_ITERATOR_DONE;\n  };\n  return iter;\n};\ngoog.iter.consume \x3d function(iterable, count) {\n  goog.asserts.assert(goog.math.isInt(count) \x26\x26 count \x3e\x3d 0);\n  const iterator \x3d goog.iter.toIterator(iterable);\n  for (; count-- \x3e 0;) {\n    goog.iter.nextOrValue(iterator, null);\n  }\n  return iterator;\n};\ngoog.iter.slice \x3d function(iterable, start, opt_end) {\n  goog.asserts.assert(goog.math.isInt(start) \x26\x26 start \x3e\x3d 0);\n  let iterator \x3d goog.iter.consume(iterable, start);\n  if (typeof opt_end \x3d\x3d\x3d \x22number\x22) {\n    goog.asserts.assert(goog.math.isInt(opt_end) \x26\x26 opt_end \x3e\x3d start);\n    iterator \x3d goog.iter.limit(iterator, opt_end - start);\n  }\n  return iterator;\n};\ngoog.iter.hasDuplicates_ \x3d function(arr) {\n  const deduped \x3d [];\n  goog.array.removeDuplicates(arr, deduped);\n  return arr.length !\x3d deduped.length;\n};\ngoog.iter.permutations \x3d function(iterable, opt_length) {\n  const elements \x3d goog.iter.toArray(iterable);\n  const length \x3d typeof opt_length \x3d\x3d\x3d \x22number\x22 ? opt_length : elements.length;\n  const sets \x3d goog.array.repeat(elements, length);\n  const product \x3d goog.iter.product.apply(undefined, sets);\n  return goog.iter.filter(product, function(arr) {\n    return !goog.iter.hasDuplicates_(arr);\n  });\n};\ngoog.iter.combinations \x3d function(iterable, length) {\n  function getIndexFromElements(index) {\n    return elements[index];\n  }\n  const elements \x3d goog.iter.toArray(iterable);\n  const indexes \x3d goog.iter.range(elements.length);\n  const indexIterator \x3d goog.iter.permutations(indexes, length);\n  const sortedIndexIterator \x3d goog.iter.filter(indexIterator, function(arr) {\n    return goog.array.isSorted(arr);\n  });\n  const iter \x3d new goog.iter.Iterator();\n  iter.next \x3d function() {\n    const {done, value} \x3d sortedIndexIterator.next();\n    if (done) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    return goog.iter.createEs6IteratorYield(goog.array.map(value, getIndexFromElements));\n  };\n  return iter;\n};\ngoog.iter.combinationsWithReplacement \x3d function(iterable, length) {\n  function getIndexFromElements(index) {\n    return elements[index];\n  }\n  const elements \x3d goog.iter.toArray(iterable);\n  const indexes \x3d goog.array.range(elements.length);\n  const sets \x3d goog.array.repeat(indexes, length);\n  const indexIterator \x3d goog.iter.product.apply(undefined, sets);\n  const sortedIndexIterator \x3d goog.iter.filter(indexIterator, function(arr) {\n    return goog.array.isSorted(arr);\n  });\n  const iter \x3d new goog.iter.Iterator();\n  iter.next \x3d function() {\n    const {done, value} \x3d sortedIndexIterator.next();\n    if (done) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    return goog.iter.createEs6IteratorYield(goog.array.map(value, getIndexFromElements));\n  };\n  return iter;\n};\n");
SHADOW_ENV.evalLoad("goog.iter.es6.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.iter.es6\x22);\n  goog.module.declareLegacyNamespace();\n  const GoogIterable \x3d goog.require(\x22goog.iter.Iterable\x22);\n  const GoogIterator \x3d goog.require(\x22goog.iter.Iterator\x22);\n  class ShimIterable {\n    __iterator__() {\n    }\n    toGoog() {\n    }\n    toEs6() {\n    }\n    static of(iter) {\n      if (iter instanceof ShimIterableImpl || iter instanceof ShimGoogIterator || iter instanceof ShimEs6Iterator) {\n        return iter;\n      } else if (typeof iter.next \x3d\x3d \x22function\x22) {\n        return new ShimIterableImpl(() \x3d\x3e {\n          return iter;\n        });\n      } else if (typeof iter[Symbol.iterator] \x3d\x3d \x22function\x22) {\n        return new ShimIterableImpl(() \x3d\x3e {\n          return iter[Symbol.iterator]();\n        });\n      } else if (typeof iter.__iterator__ \x3d\x3d \x22function\x22) {\n        return new ShimIterableImpl(() \x3d\x3e {\n          return iter.__iterator__();\n        });\n      }\n      throw new Error(\x22Not an iterator or iterable.\x22);\n    }\n  }\n  class ShimIterableImpl {\n    constructor(func) {\n      this.func_ \x3d func;\n    }\n    __iterator__() {\n      return new ShimGoogIterator(this.func_());\n    }\n    toGoog() {\n      return new ShimGoogIterator(this.func_());\n    }\n    [Symbol.iterator]() {\n      return new ShimEs6Iterator(this.func_());\n    }\n    toEs6() {\n      return new ShimEs6Iterator(this.func_());\n    }\n  }\n  class ShimGoogIterator extends GoogIterator {\n    constructor(iter) {\n      super();\n      this.iter_ \x3d iter;\n    }\n    next() {\n      return this.iter_.next();\n    }\n    toGoog() {\n      return this;\n    }\n    [Symbol.iterator]() {\n      return new ShimEs6Iterator(this.iter_);\n    }\n    toEs6() {\n      return new ShimEs6Iterator(this.iter_);\n    }\n  }\n  class ShimEs6Iterator extends ShimIterableImpl {\n    constructor(iter) {\n      super(() \x3d\x3e {\n        return iter;\n      });\n      this.iter_ \x3d iter;\n    }\n    next() {\n      return this.iter_.next();\n    }\n  }\n  exports \x3d {ShimIterable, ShimEs6Iterator, ShimGoogIterator};\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.structs.map.js", true, "goog.provide(\x22goog.structs.Map\x22);\ngoog.require(\x22goog.collections.iters\x22);\ngoog.require(\x22goog.iter\x22);\ngoog.require(\x22goog.iter.Iterator\x22);\ngoog.require(\x22goog.iter.es6\x22);\ngoog.structs.Map \x3d function(opt_map, var_args) {\n  this.map_ \x3d {};\n  this.keys_ \x3d [];\n  this.size \x3d 0;\n  this.version_ \x3d 0;\n  var argLength \x3d arguments.length;\n  if (argLength \x3e 1) {\n    if (argLength % 2) {\n      throw new Error(\x22Uneven number of arguments\x22);\n    }\n    var i \x3d 0;\n    for (; i \x3c argLength; i \x3d i + 2) {\n      this.set(arguments[i], arguments[i + 1]);\n    }\n  } else if (opt_map) {\n    this.addAll(opt_map);\n  }\n};\ngoog.structs.Map.prototype.getCount \x3d function() {\n  return this.size;\n};\ngoog.structs.Map.prototype.getValues \x3d function() {\n  this.cleanupKeysArray_();\n  var rv \x3d [];\n  var i \x3d 0;\n  for (; i \x3c this.keys_.length; i++) {\n    var key \x3d this.keys_[i];\n    rv.push(this.map_[key]);\n  }\n  return rv;\n};\ngoog.structs.Map.prototype.getKeys \x3d function() {\n  this.cleanupKeysArray_();\n  return this.keys_.concat();\n};\ngoog.structs.Map.prototype.containsKey \x3d function(key) {\n  return this.has(key);\n};\ngoog.structs.Map.prototype.has \x3d function(key) {\n  return goog.structs.Map.hasKey_(this.map_, key);\n};\ngoog.structs.Map.prototype.containsValue \x3d function(val) {\n  var i \x3d 0;\n  for (; i \x3c this.keys_.length; i++) {\n    var key \x3d this.keys_[i];\n    if (goog.structs.Map.hasKey_(this.map_, key) \x26\x26 this.map_[key] \x3d\x3d val) {\n      return true;\n    }\n  }\n  return false;\n};\ngoog.structs.Map.prototype.equals \x3d function(otherMap, opt_equalityFn) {\n  if (this \x3d\x3d\x3d otherMap) {\n    return true;\n  }\n  if (this.size !\x3d otherMap.getCount()) {\n    return false;\n  }\n  var equalityFn \x3d opt_equalityFn || goog.structs.Map.defaultEquals;\n  this.cleanupKeysArray_();\n  var key;\n  var i \x3d 0;\n  for (; key \x3d this.keys_[i]; i++) {\n    if (!equalityFn(this.get(key), otherMap.get(key))) {\n      return false;\n    }\n  }\n  return true;\n};\ngoog.structs.Map.defaultEquals \x3d function(a, b) {\n  return a \x3d\x3d\x3d b;\n};\ngoog.structs.Map.prototype.isEmpty \x3d function() {\n  return this.size \x3d\x3d 0;\n};\ngoog.structs.Map.prototype.clear \x3d function() {\n  this.map_ \x3d {};\n  this.keys_.length \x3d 0;\n  this.setSizeInternal_(0);\n  this.version_ \x3d 0;\n};\ngoog.structs.Map.prototype.remove \x3d function(key) {\n  return this.delete(key);\n};\ngoog.structs.Map.prototype.delete \x3d function(key) {\n  if (goog.structs.Map.hasKey_(this.map_, key)) {\n    delete this.map_[key];\n    this.setSizeInternal_(this.size - 1);\n    this.version_++;\n    if (this.keys_.length \x3e 2 * this.size) {\n      this.cleanupKeysArray_();\n    }\n    return true;\n  }\n  return false;\n};\ngoog.structs.Map.prototype.cleanupKeysArray_ \x3d function() {\n  if (this.size !\x3d this.keys_.length) {\n    var srcIndex \x3d 0;\n    var destIndex \x3d 0;\n    for (; srcIndex \x3c this.keys_.length;) {\n      var key \x3d this.keys_[srcIndex];\n      if (goog.structs.Map.hasKey_(this.map_, key)) {\n        this.keys_[destIndex++] \x3d key;\n      }\n      srcIndex++;\n    }\n    this.keys_.length \x3d destIndex;\n  }\n  if (this.size !\x3d this.keys_.length) {\n    var seen \x3d {};\n    srcIndex \x3d 0;\n    destIndex \x3d 0;\n    for (; srcIndex \x3c this.keys_.length;) {\n      key \x3d this.keys_[srcIndex];\n      if (!goog.structs.Map.hasKey_(seen, key)) {\n        this.keys_[destIndex++] \x3d key;\n        seen[key] \x3d 1;\n      }\n      srcIndex++;\n    }\n    this.keys_.length \x3d destIndex;\n  }\n};\ngoog.structs.Map.prototype.get \x3d function(key, opt_val) {\n  if (goog.structs.Map.hasKey_(this.map_, key)) {\n    return this.map_[key];\n  }\n  return opt_val;\n};\ngoog.structs.Map.prototype.set \x3d function(key, value) {\n  if (!goog.structs.Map.hasKey_(this.map_, key)) {\n    this.setSizeInternal_(this.size + 1);\n    this.keys_.push(key);\n    this.version_++;\n  }\n  this.map_[key] \x3d value;\n};\ngoog.structs.Map.prototype.addAll \x3d function(map) {\n  if (map instanceof goog.structs.Map) {\n    var keys \x3d map.getKeys();\n    var i \x3d 0;\n    for (; i \x3c keys.length; i++) {\n      this.set(keys[i], map.get(keys[i]));\n    }\n  } else {\n    var key;\n    for (key in map) {\n      this.set(key, map[key]);\n    }\n  }\n};\ngoog.structs.Map.prototype.forEach \x3d function(f, opt_obj) {\n  var keys \x3d this.getKeys();\n  var i \x3d 0;\n  for (; i \x3c keys.length; i++) {\n    var key \x3d keys[i];\n    var value \x3d this.get(key);\n    f.call(opt_obj, value, key, this);\n  }\n};\ngoog.structs.Map.prototype.clone \x3d function() {\n  return new goog.structs.Map(this);\n};\ngoog.structs.Map.prototype.transpose \x3d function() {\n  var transposed \x3d new goog.structs.Map();\n  var i \x3d 0;\n  for (; i \x3c this.keys_.length; i++) {\n    var key \x3d this.keys_[i];\n    var value \x3d this.map_[key];\n    transposed.set(value, key);\n  }\n  return transposed;\n};\ngoog.structs.Map.prototype.toObject \x3d function() {\n  this.cleanupKeysArray_();\n  var obj \x3d {};\n  var i \x3d 0;\n  for (; i \x3c this.keys_.length; i++) {\n    var key \x3d this.keys_[i];\n    obj[key] \x3d this.map_[key];\n  }\n  return obj;\n};\ngoog.structs.Map.prototype.getKeyIterator \x3d function() {\n  return this.__iterator__(true);\n};\ngoog.structs.Map.prototype.keys \x3d function() {\n  return goog.iter.es6.ShimIterable.of(this.getKeyIterator()).toEs6();\n};\ngoog.structs.Map.prototype.getValueIterator \x3d function() {\n  return this.__iterator__(false);\n};\ngoog.structs.Map.prototype.values \x3d function() {\n  return goog.iter.es6.ShimIterable.of(this.getValueIterator()).toEs6();\n};\ngoog.structs.Map.prototype.entries \x3d function() {\n  const self \x3d this;\n  return goog.collections.iters.map(this.keys(), function(key) {\n    return [key, self.get(key)];\n  });\n};\ngoog.structs.Map.prototype.__iterator__ \x3d function(opt_keys) {\n  this.cleanupKeysArray_();\n  var i \x3d 0;\n  var version \x3d this.version_;\n  var selfObj \x3d this;\n  var newIter \x3d new goog.iter.Iterator();\n  newIter.next \x3d function() {\n    if (version !\x3d selfObj.version_) {\n      throw new Error(\x22The map has changed since the iterator was created\x22);\n    }\n    if (i \x3e\x3d selfObj.keys_.length) {\n      return goog.iter.ES6_ITERATOR_DONE;\n    }\n    var key \x3d selfObj.keys_[i++];\n    return goog.iter.createEs6IteratorYield(opt_keys ? key : selfObj.map_[key]);\n  };\n  return newIter;\n};\ngoog.structs.Map.prototype.setSizeInternal_ \x3d function(newSize) {\n  this.size \x3d newSize;\n};\ngoog.structs.Map.hasKey_ \x3d function(obj, key) {\n  return Object.prototype.hasOwnProperty.call(obj, key);\n};\n");
SHADOW_ENV.evalLoad("goog.window.window.js", true, "goog.provide(\x22goog.window\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.requireType(\x22goog.string.TypedString\x22);\ngoog.window.DEFAULT_POPUP_HEIGHT \x3d 500;\ngoog.window.DEFAULT_POPUP_WIDTH \x3d 690;\ngoog.window.DEFAULT_POPUP_TARGET \x3d \x22google_popup\x22;\ngoog.window.createFakeWindow_ \x3d function() {\n  return {};\n};\ngoog.window.open \x3d function(linkRef, opt_options, opt_parentWin) {\n  if (!opt_options) {\n    opt_options \x3d {};\n  }\n  var parentWin \x3d opt_parentWin || window;\n  var safeLinkRef;\n  if (linkRef instanceof goog.html.SafeUrl) {\n    safeLinkRef \x3d linkRef;\n  } else {\n    var url \x3d typeof linkRef.href !\x3d \x22undefined\x22 ? linkRef.href : String(linkRef);\n    safeLinkRef \x3d goog.html.SafeUrl.sanitize(url);\n  }\n  const browserSupportsCoop \x3d self.crossOriginIsolated !\x3d\x3d undefined;\n  let referrerPolicy \x3d \x22strict-origin-when-cross-origin\x22;\n  if (window.Request) {\n    referrerPolicy \x3d (new Request(\x22/\x22)).referrerPolicy;\n  }\n  const pageSetsUnsafeReferrerPolicy \x3d referrerPolicy \x3d\x3d\x3d \x22unsafe-url\x22;\n  let noReferrerOption \x3d opt_options[\x22noreferrer\x22];\n  if (browserSupportsCoop \x26\x26 noReferrerOption) {\n    if (pageSetsUnsafeReferrerPolicy) {\n      throw new Error(\x22Cannot use the noreferrer option on a page that sets a referrer-policy of `unsafe-url` in modern browsers!\x22);\n    }\n    noReferrerOption \x3d false;\n  }\n  var target \x3d opt_options.target || linkRef.target;\n  var sb \x3d [];\n  var option;\n  for (option in opt_options) {\n    switch(option) {\n      case \x22width\x22:\n      case \x22height\x22:\n      case \x22top\x22:\n      case \x22left\x22:\n        sb.push(option + \x22\\x3d\x22 + opt_options[option]);\n        break;\n      case \x22target\x22:\n      case \x22noopener\x22:\n      case \x22noreferrer\x22:\n        break;\n      default:\n        sb.push(option + \x22\\x3d\x22 + (opt_options[option] ? 1 : 0));\n    }\n  }\n  var optionString \x3d sb.join(\x22,\x22);\n  var newWin;\n  if (goog.labs.userAgent.platform.isIos() \x26\x26 parentWin.navigator \x26\x26 parentWin.navigator[\x22standalone\x22] \x26\x26 target \x26\x26 target !\x3d \x22_self\x22) {\n    var a \x3d goog.dom.createElement(goog.dom.TagName.A);\n    goog.dom.safe.setAnchorHref(a, safeLinkRef);\n    a.target \x3d target;\n    if (noReferrerOption) {\n      a.rel \x3d \x22noreferrer\x22;\n    }\n    var click \x3d document.createEvent(\x22MouseEvent\x22);\n    click.initMouseEvent(\x22click\x22, true, true, parentWin, 1);\n    a.dispatchEvent(click);\n    newWin \x3d goog.window.createFakeWindow_();\n  } else if (noReferrerOption) {\n    newWin \x3d goog.dom.safe.openInWindow(\x22\x22, parentWin, target, optionString);\n    var sanitizedLinkRef \x3d goog.html.SafeUrl.unwrap(safeLinkRef);\n    if (newWin) {\n      if (goog.userAgent.EDGE_OR_IE) {\n        if (goog.string.contains(sanitizedLinkRef, \x22;\x22)) {\n          sanitizedLinkRef \x3d \x22\x27\x22 + sanitizedLinkRef.replace(/\x27/g, \x22%27\x22) + \x22\x27\x22;\n        }\n      }\n      newWin.opener \x3d null;\n      if (sanitizedLinkRef \x3d\x3d\x3d \x22\x22) {\n        sanitizedLinkRef \x3d \x22javascript:\x27\x27\x22;\n      }\n      var safeHtml \x3d goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22b/12014412, meta tag with sanitized URL\x22), \x27\\x3cmeta name\\x3d\x22referrer\x22 content\\x3d\x22no-referrer\x22\\x3e\x27 + \x27\\x3cmeta http-equiv\\x3d\x22refresh\x22 content\\x3d\x220; url\\x3d\x27 + goog.string.htmlEscape(sanitizedLinkRef) + \x27\x22\\x3e\x27);\n      var newDoc \x3d newWin.document;\n      if (newDoc \x26\x26 newDoc.write) {\n        goog.dom.safe.documentWrite(newDoc, safeHtml);\n        newDoc.close();\n      }\n    }\n  } else {\n    newWin \x3d goog.dom.safe.openInWindow(safeLinkRef, parentWin, target, optionString);\n    if (newWin \x26\x26 opt_options[\x22noopener\x22]) {\n      newWin.opener \x3d null;\n    }\n    if (newWin \x26\x26 opt_options[\x22noreferrer\x22]) {\n      newWin.opener \x3d null;\n    }\n  }\n  return newWin;\n};\ngoog.window.openBlank \x3d function(opt_message, opt_options, opt_parentWin) {\n  const win \x3d goog.window.open(\x22\x22, opt_options, opt_parentWin);\n  if (win \x26\x26 opt_message) {\n    const body \x3d win.document.body;\n    if (body) {\n      body.textContent \x3d opt_message;\n    }\n  }\n  return win;\n};\ngoog.window.popup \x3d function(linkRef, opt_options) {\n  if (!opt_options) {\n    opt_options \x3d {};\n  }\n  opt_options[\x22target\x22] \x3d opt_options[\x22target\x22] || linkRef[\x22target\x22] || goog.window.DEFAULT_POPUP_TARGET;\n  opt_options[\x22width\x22] \x3d opt_options[\x22width\x22] || goog.window.DEFAULT_POPUP_WIDTH;\n  opt_options[\x22height\x22] \x3d opt_options[\x22height\x22] || goog.window.DEFAULT_POPUP_HEIGHT;\n  var newWin \x3d goog.window.open(linkRef, opt_options);\n  if (!newWin) {\n    return true;\n  }\n  newWin.focus();\n  return false;\n};\n");
SHADOW_ENV.evalLoad("goog.dom.forms.js", true, "goog.provide(\x22goog.dom.forms\x22);\ngoog.require(\x22goog.dom.InputType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.structs.Map\x22);\ngoog.require(\x22goog.window\x22);\ngoog.dom.forms.submitFormInNewWindow \x3d function(form, opt_submitElement) {\n  var formData \x3d goog.dom.forms.getFormDataMap(form);\n  var action \x3d form.action;\n  var method \x3d form.method;\n  if (opt_submitElement) {\n    if (goog.dom.InputType.SUBMIT !\x3d opt_submitElement.type.toLowerCase()) {\n      throw new Error(\x22opt_submitElement does not have a valid type.\x22);\n    }\n    var submitValue \x3d goog.dom.forms.getValue(opt_submitElement);\n    if (submitValue !\x3d null) {\n      goog.dom.forms.addFormDataToMap_(formData, opt_submitElement.name, submitValue);\n    }\n    if (opt_submitElement.getAttribute(\x22formaction\x22)) {\n      action \x3d opt_submitElement.getAttribute(\x22formaction\x22);\n    }\n    if (opt_submitElement.getAttribute(\x22formmethod\x22)) {\n      method \x3d opt_submitElement.getAttribute(\x22formmethod\x22);\n    }\n  }\n  return goog.dom.forms.submitFormDataInNewWindow(action, method, formData);\n};\ngoog.dom.forms.submitFormDataInNewWindow \x3d function(actionUri, method, formData) {\n  var newWin \x3d goog.window.openBlank(\x22\x22, {noreferrer:true});\n  if (!newWin) {\n    return false;\n  }\n  var newDocument \x3d newWin.document;\n  var newForm \x3d newDocument.createElement(\x22form\x22);\n  newForm.method \x3d method;\n  goog.dom.safe.setFormElementAction(newForm, actionUri);\n  formData.forEach(function(fieldValues, fieldName) {\n    var i \x3d 0;\n    for (; i \x3c fieldValues.length; i++) {\n      var fieldValue \x3d fieldValues[i];\n      var newInput \x3d newDocument.createElement(\x22input\x22);\n      newInput.name \x3d fieldName;\n      newInput.value \x3d fieldValue;\n      newInput.type \x3d \x22hidden\x22;\n      HTMLFormElement.prototype.appendChild.call(newForm, newInput);\n    }\n  });\n  HTMLFormElement.prototype.submit.call(newForm);\n  return true;\n};\ngoog.dom.forms.getFormDataMap \x3d function(form) {\n  var map \x3d new goog.structs.Map();\n  goog.dom.forms.getFormDataHelper_(form, map, goog.dom.forms.addFormDataToMap_);\n  return map;\n};\ngoog.dom.forms.getFormDataString \x3d function(form) {\n  var sb \x3d [];\n  goog.dom.forms.getFormDataHelper_(form, sb, goog.dom.forms.addFormDataToStringBuffer_);\n  return sb.join(\x22\\x26\x22);\n};\ngoog.dom.forms.getFormDataHelper_ \x3d function(form, result, fnAppend) {\n  var els \x3d form.elements;\n  var el;\n  var i \x3d 0;\n  for (; el \x3d els.item(i); i++) {\n    if (el.form !\x3d form || el.disabled || el.tagName \x3d\x3d goog.dom.TagName.FIELDSET) {\n      continue;\n    }\n    var name \x3d el.name;\n    switch(el.type.toLowerCase()) {\n      case goog.dom.InputType.FILE:\n      case goog.dom.InputType.SUBMIT:\n      case goog.dom.InputType.RESET:\n      case goog.dom.InputType.BUTTON:\n        break;\n      case goog.dom.InputType.SELECT_MULTIPLE:\n        var values \x3d goog.dom.forms.getValue(el);\n        if (values !\x3d null) {\n          var value;\n          var j \x3d 0;\n          for (; value \x3d values[j]; j++) {\n            fnAppend(result, name, value);\n          }\n        }\n        break;\n      default:\n        value \x3d goog.dom.forms.getValue(el);\n        if (value !\x3d null) {\n          fnAppend(result, name, value);\n        }\n    }\n  }\n  var inputs \x3d form.getElementsByTagName(String(goog.dom.TagName.INPUT));\n  var input;\n  i \x3d 0;\n  for (; input \x3d inputs[i]; i++) {\n    if (input.form \x3d\x3d form \x26\x26 input.type.toLowerCase() \x3d\x3d goog.dom.InputType.IMAGE) {\n      name \x3d input.name;\n      fnAppend(result, name, input.value);\n      fnAppend(result, name + \x22.x\x22, \x220\x22);\n      fnAppend(result, name + \x22.y\x22, \x220\x22);\n    }\n  }\n};\ngoog.dom.forms.addFormDataToMap_ \x3d function(map, name, value) {\n  var array \x3d map.get(name);\n  if (!array) {\n    array \x3d [];\n    map.set(name, array);\n  }\n  array.push(value);\n};\ngoog.dom.forms.addFormDataToStringBuffer_ \x3d function(sb, name, value) {\n  sb.push(encodeURIComponent(name) + \x22\\x3d\x22 + encodeURIComponent(value));\n};\ngoog.dom.forms.hasFileInput \x3d function(form) {\n  var els \x3d form.elements;\n  var el;\n  var i \x3d 0;\n  for (; el \x3d els[i]; i++) {\n    if (!el.disabled \x26\x26 el.type \x26\x26 el.type.toLowerCase() \x3d\x3d goog.dom.InputType.FILE) {\n      return true;\n    }\n  }\n  return false;\n};\ngoog.dom.forms.setDisabled \x3d function(el, disabled) {\n  if (el.tagName \x3d\x3d goog.dom.TagName.FORM) {\n    var els \x3d el.elements;\n    var i \x3d 0;\n    for (; el \x3d els.item(i); i++) {\n      goog.dom.forms.setDisabled(el, disabled);\n    }\n  } else {\n    if (disabled \x3d\x3d true) {\n      el.blur();\n    }\n    el.disabled \x3d disabled;\n  }\n};\ngoog.dom.forms.focusAndSelect \x3d function(el) {\n  el.focus();\n  if (el.select) {\n    el.select();\n  }\n};\ngoog.dom.forms.hasValue \x3d function(el) {\n  var value \x3d goog.dom.forms.getValue(el);\n  return !!value;\n};\ngoog.dom.forms.hasValueByName \x3d function(form, name) {\n  var value \x3d goog.dom.forms.getValueByName(form, name);\n  return !!value;\n};\ngoog.dom.forms.getValue \x3d function(input) {\n  var type \x3d input.type;\n  if (typeof type \x3d\x3d\x3d \x22string\x22) {\n    var el \x3d input;\n    switch(type.toLowerCase()) {\n      case goog.dom.InputType.CHECKBOX:\n      case goog.dom.InputType.RADIO:\n        return goog.dom.forms.getInputChecked_(el);\n      case goog.dom.InputType.SELECT_ONE:\n        return goog.dom.forms.getSelectSingle_(el);\n      case goog.dom.InputType.SELECT_MULTIPLE:\n        return goog.dom.forms.getSelectMultiple_(el);\n      default:\n    }\n  }\n  return input.value !\x3d null ? input.value : null;\n};\ngoog.dom.forms.getValueByName \x3d function(form, name) {\n  var els \x3d form.elements[name];\n  if (!els) {\n    return null;\n  } else if (els.type) {\n    return goog.dom.forms.getValue(els);\n  } else {\n    var i \x3d 0;\n    for (; i \x3c els.length; i++) {\n      var val \x3d goog.dom.forms.getValue(els[i]);\n      if (val) {\n        return val;\n      }\n    }\n    return null;\n  }\n};\ngoog.dom.forms.getInputChecked_ \x3d function(el) {\n  return el.checked ? el.value : null;\n};\ngoog.dom.forms.getSelectSingle_ \x3d function(el) {\n  var selectedIndex \x3d el.selectedIndex;\n  return selectedIndex \x3e\x3d 0 ? el.options[selectedIndex].value : null;\n};\ngoog.dom.forms.getSelectMultiple_ \x3d function(el) {\n  var values \x3d [];\n  var option;\n  var i \x3d 0;\n  for (; option \x3d el.options[i]; i++) {\n    if (option.selected) {\n      values.push(option.value);\n    }\n  }\n  return values.length ? values : null;\n};\ngoog.dom.forms.setValue \x3d function(el, opt_value) {\n  var type \x3d el.type;\n  switch(typeof type \x3d\x3d\x3d \x22string\x22 \x26\x26 type.toLowerCase()) {\n    case goog.dom.InputType.CHECKBOX:\n    case goog.dom.InputType.RADIO:\n      goog.dom.forms.setInputChecked_(el, opt_value);\n      return;\n    case goog.dom.InputType.SELECT_ONE:\n      goog.dom.forms.setSelectSingle_(el, opt_value);\n      return;\n    case goog.dom.InputType.SELECT_MULTIPLE:\n      goog.dom.forms.setSelectMultiple_(el, opt_value);\n      return;\n    default:\n      el.value \x3d opt_value !\x3d null ? opt_value : \x22\x22;\n  }\n};\ngoog.dom.forms.setInputChecked_ \x3d function(el, opt_value) {\n  el.checked \x3d opt_value;\n};\ngoog.dom.forms.setSelectSingle_ \x3d function(el, opt_value) {\n  el.selectedIndex \x3d -1;\n  if (typeof opt_value \x3d\x3d\x3d \x22string\x22) {\n    var option;\n    var i \x3d 0;\n    for (; option \x3d el.options[i]; i++) {\n      if (option.value \x3d\x3d opt_value) {\n        option.selected \x3d true;\n        break;\n      }\n    }\n  }\n};\ngoog.dom.forms.setSelectMultiple_ \x3d function(el, opt_value) {\n  if (typeof opt_value \x3d\x3d\x3d \x22string\x22) {\n    opt_value \x3d [opt_value];\n  }\n  var option;\n  var i \x3d 0;\n  for (; option \x3d el.options[i]; i++) {\n    option.selected \x3d false;\n    if (opt_value) {\n      var value;\n      var j \x3d 0;\n      for (; value \x3d opt_value[j]; j++) {\n        if (option.value \x3d\x3d value) {\n          option.selected \x3d true;\n        }\n      }\n    }\n  }\n};\n");
SHADOW_ENV.evalLoad("goog.dom.classlist.js", true, "goog.provide(\x22goog.dom.classlist\x22);\ngoog.require(\x22goog.array\x22);\ngoog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST \x3d goog.define(\x22goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST\x22, false);\ngoog.dom.classlist.getClassName_ \x3d function(element) {\n  return typeof element.className \x3d\x3d \x22string\x22 ? element.className : element.getAttribute \x26\x26 element.getAttribute(\x22class\x22) || \x22\x22;\n};\ngoog.dom.classlist.get \x3d function(element) {\n  if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n    return element.classList;\n  }\n  return goog.dom.classlist.getClassName_(element).match(/\\S+/g) || [];\n};\ngoog.dom.classlist.set \x3d function(element, className) {\n  if (typeof element.className \x3d\x3d \x22string\x22) {\n    element.className \x3d className;\n    return;\n  } else if (element.setAttribute) {\n    element.setAttribute(\x22class\x22, className);\n  }\n};\ngoog.dom.classlist.contains \x3d function(element, className) {\n  if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n    return element.classList.contains(className);\n  }\n  return goog.array.contains(goog.dom.classlist.get(element), className);\n};\ngoog.dom.classlist.add \x3d function(element, className) {\n  if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n    element.classList.add(className);\n    return;\n  }\n  if (!goog.dom.classlist.contains(element, className)) {\n    var oldClassName \x3d goog.dom.classlist.getClassName_(element);\n    goog.dom.classlist.set(element, oldClassName + (oldClassName.length \x3e 0 ? \x22 \x22 + className : className));\n  }\n};\ngoog.dom.classlist.addAll \x3d function(element, classesToAdd) {\n  if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n    Array.prototype.forEach.call(classesToAdd, function(className) {\n      goog.dom.classlist.add(element, className);\n    });\n    return;\n  }\n  var classMap \x3d {};\n  Array.prototype.forEach.call(goog.dom.classlist.get(element), function(className) {\n    classMap[className] \x3d true;\n  });\n  Array.prototype.forEach.call(classesToAdd, function(className) {\n    classMap[className] \x3d true;\n  });\n  var newClassName \x3d \x22\x22;\n  var className;\n  for (className in classMap) {\n    newClassName \x3d newClassName + (newClassName.length \x3e 0 ? \x22 \x22 + className : className);\n  }\n  goog.dom.classlist.set(element, newClassName);\n};\ngoog.dom.classlist.remove \x3d function(element, className) {\n  if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n    element.classList.remove(className);\n    return;\n  }\n  if (goog.dom.classlist.contains(element, className)) {\n    goog.dom.classlist.set(element, Array.prototype.filter.call(goog.dom.classlist.get(element), function(c) {\n      return c !\x3d className;\n    }).join(\x22 \x22));\n  }\n};\ngoog.dom.classlist.removeAll \x3d function(element, classesToRemove) {\n  if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n    Array.prototype.forEach.call(classesToRemove, function(className) {\n      goog.dom.classlist.remove(element, className);\n    });\n    return;\n  }\n  goog.dom.classlist.set(element, Array.prototype.filter.call(goog.dom.classlist.get(element), function(className) {\n    return !goog.array.contains(classesToRemove, className);\n  }).join(\x22 \x22));\n};\ngoog.dom.classlist.enable \x3d function(element, className, enabled) {\n  if (enabled) {\n    goog.dom.classlist.add(element, className);\n  } else {\n    goog.dom.classlist.remove(element, className);\n  }\n};\ngoog.dom.classlist.enableAll \x3d function(element, classesToEnable, enabled) {\n  var f \x3d enabled ? goog.dom.classlist.addAll : goog.dom.classlist.removeAll;\n  f(element, classesToEnable);\n};\ngoog.dom.classlist.swap \x3d function(element, fromClass, toClass) {\n  if (goog.dom.classlist.contains(element, fromClass)) {\n    goog.dom.classlist.remove(element, fromClass);\n    goog.dom.classlist.add(element, toClass);\n    return true;\n  }\n  return false;\n};\ngoog.dom.classlist.toggle \x3d function(element, className) {\n  var add \x3d !goog.dom.classlist.contains(element, className);\n  goog.dom.classlist.enable(element, className, add);\n  return add;\n};\ngoog.dom.classlist.addRemove \x3d function(element, classToRemove, classToAdd) {\n  goog.dom.classlist.remove(element, classToRemove);\n  goog.dom.classlist.add(element, classToAdd);\n};\n");
SHADOW_ENV.evalLoad("goog.dom.vendor.js", true, "goog.provide(\x22goog.dom.vendor\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.vendor.getVendorJsPrefix \x3d function() {\n  if (goog.userAgent.WEBKIT) {\n    return \x22Webkit\x22;\n  } else if (goog.userAgent.GECKO) {\n    return \x22Moz\x22;\n  } else if (goog.userAgent.IE) {\n    return \x22ms\x22;\n  }\n  return null;\n};\ngoog.dom.vendor.getVendorPrefix \x3d function() {\n  if (goog.userAgent.WEBKIT) {\n    return \x22-webkit\x22;\n  } else if (goog.userAgent.GECKO) {\n    return \x22-moz\x22;\n  } else if (goog.userAgent.IE) {\n    return \x22-ms\x22;\n  }\n  return null;\n};\ngoog.dom.vendor.getPrefixedPropertyName \x3d function(propertyName, opt_object) {\n  if (opt_object \x26\x26 propertyName in opt_object) {\n    return propertyName;\n  }\n  var prefix \x3d goog.dom.vendor.getVendorJsPrefix();\n  if (prefix) {\n    prefix \x3d prefix.toLowerCase();\n    var prefixedPropertyName \x3d prefix + goog.string.toTitleCase(propertyName);\n    return opt_object \x3d\x3d\x3d undefined || prefixedPropertyName in opt_object ? prefixedPropertyName : null;\n  }\n  return null;\n};\ngoog.dom.vendor.getPrefixedEventType \x3d function(eventType) {\n  var prefix \x3d goog.dom.vendor.getVendorJsPrefix() || \x22\x22;\n  return (prefix + eventType).toLowerCase();\n};\n");
SHADOW_ENV.evalLoad("goog.math.box.js", true, "goog.provide(\x22goog.math.Box\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.math.Box \x3d function(top, right, bottom, left) {\n  this.top \x3d top;\n  this.right \x3d right;\n  this.bottom \x3d bottom;\n  this.left \x3d left;\n};\ngoog.math.Box.boundingBox \x3d function(var_args) {\n  var box \x3d new goog.math.Box(arguments[0].y, arguments[0].x, arguments[0].y, arguments[0].x);\n  var i \x3d 1;\n  for (; i \x3c arguments.length; i++) {\n    box.expandToIncludeCoordinate(arguments[i]);\n  }\n  return box;\n};\ngoog.math.Box.prototype.getWidth \x3d function() {\n  return this.right - this.left;\n};\ngoog.math.Box.prototype.getHeight \x3d function() {\n  return this.bottom - this.top;\n};\ngoog.math.Box.prototype.clone \x3d function() {\n  return new goog.math.Box(this.top, this.right, this.bottom, this.left);\n};\nif (goog.DEBUG) {\n  goog.math.Box.prototype.toString \x3d function() {\n    return \x22(\x22 + this.top + \x22t, \x22 + this.right + \x22r, \x22 + this.bottom + \x22b, \x22 + this.left + \x22l)\x22;\n  };\n}\ngoog.math.Box.prototype.contains \x3d function(other) {\n  return goog.math.Box.contains(this, other);\n};\ngoog.math.Box.prototype.expand \x3d function(top, opt_right, opt_bottom, opt_left) {\n  if (goog.isObject(top)) {\n    this.top -\x3d top.top;\n    this.right +\x3d top.right;\n    this.bottom +\x3d top.bottom;\n    this.left -\x3d top.left;\n  } else {\n    this.top -\x3d top;\n    this.right +\x3d Number(opt_right);\n    this.bottom +\x3d Number(opt_bottom);\n    this.left -\x3d Number(opt_left);\n  }\n  return this;\n};\ngoog.math.Box.prototype.expandToInclude \x3d function(box) {\n  this.left \x3d Math.min(this.left, box.left);\n  this.top \x3d Math.min(this.top, box.top);\n  this.right \x3d Math.max(this.right, box.right);\n  this.bottom \x3d Math.max(this.bottom, box.bottom);\n};\ngoog.math.Box.prototype.expandToIncludeCoordinate \x3d function(coord) {\n  this.top \x3d Math.min(this.top, coord.y);\n  this.right \x3d Math.max(this.right, coord.x);\n  this.bottom \x3d Math.max(this.bottom, coord.y);\n  this.left \x3d Math.min(this.left, coord.x);\n};\ngoog.math.Box.equals \x3d function(a, b) {\n  if (a \x3d\x3d b) {\n    return true;\n  }\n  if (!a || !b) {\n    return false;\n  }\n  return a.top \x3d\x3d b.top \x26\x26 a.right \x3d\x3d b.right \x26\x26 a.bottom \x3d\x3d b.bottom \x26\x26 a.left \x3d\x3d b.left;\n};\ngoog.math.Box.contains \x3d function(box, other) {\n  if (!box || !other) {\n    return false;\n  }\n  if (other instanceof goog.math.Box) {\n    return other.left \x3e\x3d box.left \x26\x26 other.right \x3c\x3d box.right \x26\x26 other.top \x3e\x3d box.top \x26\x26 other.bottom \x3c\x3d box.bottom;\n  }\n  return other.x \x3e\x3d box.left \x26\x26 other.x \x3c\x3d box.right \x26\x26 other.y \x3e\x3d box.top \x26\x26 other.y \x3c\x3d box.bottom;\n};\ngoog.math.Box.relativePositionX \x3d function(box, coord) {\n  if (coord.x \x3c box.left) {\n    return coord.x - box.left;\n  } else if (coord.x \x3e box.right) {\n    return coord.x - box.right;\n  }\n  return 0;\n};\ngoog.math.Box.relativePositionY \x3d function(box, coord) {\n  if (coord.y \x3c box.top) {\n    return coord.y - box.top;\n  } else if (coord.y \x3e box.bottom) {\n    return coord.y - box.bottom;\n  }\n  return 0;\n};\ngoog.math.Box.distance \x3d function(box, coord) {\n  var x \x3d goog.math.Box.relativePositionX(box, coord);\n  var y \x3d goog.math.Box.relativePositionY(box, coord);\n  return Math.sqrt(x * x + y * y);\n};\ngoog.math.Box.intersects \x3d function(a, b) {\n  return a.left \x3c\x3d b.right \x26\x26 b.left \x3c\x3d a.right \x26\x26 a.top \x3c\x3d b.bottom \x26\x26 b.top \x3c\x3d a.bottom;\n};\ngoog.math.Box.intersectsWithPadding \x3d function(a, b, padding) {\n  return a.left \x3c\x3d b.right + padding \x26\x26 b.left \x3c\x3d a.right + padding \x26\x26 a.top \x3c\x3d b.bottom + padding \x26\x26 b.top \x3c\x3d a.bottom + padding;\n};\ngoog.math.Box.prototype.ceil \x3d function() {\n  this.top \x3d Math.ceil(this.top);\n  this.right \x3d Math.ceil(this.right);\n  this.bottom \x3d Math.ceil(this.bottom);\n  this.left \x3d Math.ceil(this.left);\n  return this;\n};\ngoog.math.Box.prototype.floor \x3d function() {\n  this.top \x3d Math.floor(this.top);\n  this.right \x3d Math.floor(this.right);\n  this.bottom \x3d Math.floor(this.bottom);\n  this.left \x3d Math.floor(this.left);\n  return this;\n};\ngoog.math.Box.prototype.round \x3d function() {\n  this.top \x3d Math.round(this.top);\n  this.right \x3d Math.round(this.right);\n  this.bottom \x3d Math.round(this.bottom);\n  this.left \x3d Math.round(this.left);\n  return this;\n};\ngoog.math.Box.prototype.translate \x3d function(tx, opt_ty) {\n  if (tx instanceof goog.math.Coordinate) {\n    this.left +\x3d tx.x;\n    this.right +\x3d tx.x;\n    this.top +\x3d tx.y;\n    this.bottom +\x3d tx.y;\n  } else {\n    goog.asserts.assertNumber(tx);\n    this.left +\x3d tx;\n    this.right +\x3d tx;\n    if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n      this.top +\x3d opt_ty;\n      this.bottom +\x3d opt_ty;\n    }\n  }\n  return this;\n};\ngoog.math.Box.prototype.scale \x3d function(sx, opt_sy) {\n  var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n  this.left *\x3d sx;\n  this.right *\x3d sx;\n  this.top *\x3d sy;\n  this.bottom *\x3d sy;\n  return this;\n};\n");
SHADOW_ENV.evalLoad("goog.math.irect.js", true, "goog.provide(\x22goog.math.IRect\x22);\ngoog.math.IRect \x3d function() {\n};\ngoog.math.IRect.prototype.left;\ngoog.math.IRect.prototype.top;\ngoog.math.IRect.prototype.width;\ngoog.math.IRect.prototype.height;\n");
SHADOW_ENV.evalLoad("goog.math.rect.js", true, "goog.provide(\x22goog.math.Rect\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.math.Box\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.IRect\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.math.Rect \x3d function(x, y, w, h) {\n  this.left \x3d x;\n  this.top \x3d y;\n  this.width \x3d w;\n  this.height \x3d h;\n};\ngoog.math.Rect.prototype.clone \x3d function() {\n  return new goog.math.Rect(this.left, this.top, this.width, this.height);\n};\ngoog.math.Rect.prototype.toBox \x3d function() {\n  var right \x3d this.left + this.width;\n  var bottom \x3d this.top + this.height;\n  return new goog.math.Box(this.top, right, bottom, this.left);\n};\ngoog.math.Rect.createFromPositionAndSize \x3d function(position, size) {\n  return new goog.math.Rect(position.x, position.y, size.width, size.height);\n};\ngoog.math.Rect.createFromBox \x3d function(box) {\n  return new goog.math.Rect(box.left, box.top, box.right - box.left, box.bottom - box.top);\n};\nif (goog.DEBUG) {\n  goog.math.Rect.prototype.toString \x3d function() {\n    return \x22(\x22 + this.left + \x22, \x22 + this.top + \x22 - \x22 + this.width + \x22w x \x22 + this.height + \x22h)\x22;\n  };\n}\ngoog.math.Rect.equals \x3d function(a, b) {\n  if (a \x3d\x3d b) {\n    return true;\n  }\n  if (!a || !b) {\n    return false;\n  }\n  return a.left \x3d\x3d b.left \x26\x26 a.width \x3d\x3d b.width \x26\x26 a.top \x3d\x3d b.top \x26\x26 a.height \x3d\x3d b.height;\n};\ngoog.math.Rect.prototype.intersection \x3d function(rect) {\n  var x0 \x3d Math.max(this.left, rect.left);\n  var x1 \x3d Math.min(this.left + this.width, rect.left + rect.width);\n  if (x0 \x3c\x3d x1) {\n    var y0 \x3d Math.max(this.top, rect.top);\n    var y1 \x3d Math.min(this.top + this.height, rect.top + rect.height);\n    if (y0 \x3c\x3d y1) {\n      this.left \x3d x0;\n      this.top \x3d y0;\n      this.width \x3d x1 - x0;\n      this.height \x3d y1 - y0;\n      return true;\n    }\n  }\n  return false;\n};\ngoog.math.Rect.intersection \x3d function(a, b) {\n  var x0 \x3d Math.max(a.left, b.left);\n  var x1 \x3d Math.min(a.left + a.width, b.left + b.width);\n  if (x0 \x3c\x3d x1) {\n    var y0 \x3d Math.max(a.top, b.top);\n    var y1 \x3d Math.min(a.top + a.height, b.top + b.height);\n    if (y0 \x3c\x3d y1) {\n      return new goog.math.Rect(x0, y0, x1 - x0, y1 - y0);\n    }\n  }\n  return null;\n};\ngoog.math.Rect.intersects \x3d function(a, b) {\n  return a.left \x3c\x3d b.left + b.width \x26\x26 b.left \x3c\x3d a.left + a.width \x26\x26 a.top \x3c\x3d b.top + b.height \x26\x26 b.top \x3c\x3d a.top + a.height;\n};\ngoog.math.Rect.prototype.intersects \x3d function(rect) {\n  return goog.math.Rect.intersects(this, rect);\n};\ngoog.math.Rect.difference \x3d function(a, b) {\n  var intersection \x3d goog.math.Rect.intersection(a, b);\n  if (!intersection || !intersection.height || !intersection.width) {\n    return [a.clone()];\n  }\n  var result \x3d [];\n  var top \x3d a.top;\n  var height \x3d a.height;\n  var ar \x3d a.left + a.width;\n  var ab \x3d a.top + a.height;\n  var br \x3d b.left + b.width;\n  var bb \x3d b.top + b.height;\n  if (b.top \x3e a.top) {\n    result.push(new goog.math.Rect(a.left, a.top, a.width, b.top - a.top));\n    top \x3d b.top;\n    height \x3d height - (b.top - a.top);\n  }\n  if (bb \x3c ab) {\n    result.push(new goog.math.Rect(a.left, bb, a.width, ab - bb));\n    height \x3d bb - top;\n  }\n  if (b.left \x3e a.left) {\n    result.push(new goog.math.Rect(a.left, top, b.left - a.left, height));\n  }\n  if (br \x3c ar) {\n    result.push(new goog.math.Rect(br, top, ar - br, height));\n  }\n  return result;\n};\ngoog.math.Rect.prototype.difference \x3d function(rect) {\n  return goog.math.Rect.difference(this, rect);\n};\ngoog.math.Rect.prototype.boundingRect \x3d function(rect) {\n  var right \x3d Math.max(this.left + this.width, rect.left + rect.width);\n  var bottom \x3d Math.max(this.top + this.height, rect.top + rect.height);\n  this.left \x3d Math.min(this.left, rect.left);\n  this.top \x3d Math.min(this.top, rect.top);\n  this.width \x3d right - this.left;\n  this.height \x3d bottom - this.top;\n};\ngoog.math.Rect.boundingRect \x3d function(a, b) {\n  if (!a || !b) {\n    return null;\n  }\n  var newRect \x3d new goog.math.Rect(a.left, a.top, a.width, a.height);\n  newRect.boundingRect(b);\n  return newRect;\n};\ngoog.math.Rect.prototype.contains \x3d function(another) {\n  if (another instanceof goog.math.Coordinate) {\n    return another.x \x3e\x3d this.left \x26\x26 another.x \x3c\x3d this.left + this.width \x26\x26 another.y \x3e\x3d this.top \x26\x26 another.y \x3c\x3d this.top + this.height;\n  } else {\n    return this.left \x3c\x3d another.left \x26\x26 this.left + this.width \x3e\x3d another.left + another.width \x26\x26 this.top \x3c\x3d another.top \x26\x26 this.top + this.height \x3e\x3d another.top + another.height;\n  }\n};\ngoog.math.Rect.prototype.squaredDistance \x3d function(point) {\n  var dx \x3d point.x \x3c this.left ? this.left - point.x : Math.max(point.x - (this.left + this.width), 0);\n  var dy \x3d point.y \x3c this.top ? this.top - point.y : Math.max(point.y - (this.top + this.height), 0);\n  return dx * dx + dy * dy;\n};\ngoog.math.Rect.prototype.distance \x3d function(point) {\n  return Math.sqrt(this.squaredDistance(point));\n};\ngoog.math.Rect.prototype.getSize \x3d function() {\n  return new goog.math.Size(this.width, this.height);\n};\ngoog.math.Rect.prototype.getTopLeft \x3d function() {\n  return new goog.math.Coordinate(this.left, this.top);\n};\ngoog.math.Rect.prototype.getCenter \x3d function() {\n  return new goog.math.Coordinate(this.left + this.width / 2, this.top + this.height / 2);\n};\ngoog.math.Rect.prototype.getBottomRight \x3d function() {\n  return new goog.math.Coordinate(this.left + this.width, this.top + this.height);\n};\ngoog.math.Rect.prototype.ceil \x3d function() {\n  this.left \x3d Math.ceil(this.left);\n  this.top \x3d Math.ceil(this.top);\n  this.width \x3d Math.ceil(this.width);\n  this.height \x3d Math.ceil(this.height);\n  return this;\n};\ngoog.math.Rect.prototype.floor \x3d function() {\n  this.left \x3d Math.floor(this.left);\n  this.top \x3d Math.floor(this.top);\n  this.width \x3d Math.floor(this.width);\n  this.height \x3d Math.floor(this.height);\n  return this;\n};\ngoog.math.Rect.prototype.round \x3d function() {\n  this.left \x3d Math.round(this.left);\n  this.top \x3d Math.round(this.top);\n  this.width \x3d Math.round(this.width);\n  this.height \x3d Math.round(this.height);\n  return this;\n};\ngoog.math.Rect.prototype.translate \x3d function(tx, opt_ty) {\n  if (tx instanceof goog.math.Coordinate) {\n    this.left +\x3d tx.x;\n    this.top +\x3d tx.y;\n  } else {\n    this.left +\x3d goog.asserts.assertNumber(tx);\n    if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n      this.top +\x3d opt_ty;\n    }\n  }\n  return this;\n};\ngoog.math.Rect.prototype.scale \x3d function(sx, opt_sy) {\n  var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n  this.left *\x3d sx;\n  this.width *\x3d sx;\n  this.top *\x3d sy;\n  this.height *\x3d sy;\n  return this;\n};\n");
SHADOW_ENV.evalLoad("goog.style.style.js", true, "goog.provide(\x22goog.style\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.NodeType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.dom.vendor\x22);\ngoog.require(\x22goog.html.SafeStyleSheet\x22);\ngoog.require(\x22goog.math.Box\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.Rect\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.require(\x22goog.object\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.requireType(\x22goog.events.Event\x22);\ngoog.style.setStyle \x3d function(element, style, opt_value) {\n  if (typeof style \x3d\x3d\x3d \x22string\x22) {\n    goog.style.setStyle_(element, opt_value, style);\n  } else {\n    var key;\n    for (key in style) {\n      goog.style.setStyle_(element, style[key], key);\n    }\n  }\n};\ngoog.style.setStyle_ \x3d function(element, value, style) {\n  var propertyName \x3d goog.style.getVendorJsStyleName_(element, style);\n  if (propertyName) {\n    element.style[propertyName] \x3d value;\n  }\n};\ngoog.style.styleNameCache_ \x3d {};\ngoog.style.getVendorJsStyleName_ \x3d function(element, style) {\n  var propertyName \x3d goog.style.styleNameCache_[style];\n  if (!propertyName) {\n    var camelStyle \x3d goog.string.toCamelCase(style);\n    propertyName \x3d camelStyle;\n    if (element.style[camelStyle] \x3d\x3d\x3d undefined) {\n      var prefixedStyle \x3d goog.dom.vendor.getVendorJsPrefix() + goog.string.toTitleCase(camelStyle);\n      if (element.style[prefixedStyle] !\x3d\x3d undefined) {\n        propertyName \x3d prefixedStyle;\n      }\n    }\n    goog.style.styleNameCache_[style] \x3d propertyName;\n  }\n  return propertyName;\n};\ngoog.style.getVendorStyleName_ \x3d function(element, style) {\n  var camelStyle \x3d goog.string.toCamelCase(style);\n  if (element.style[camelStyle] \x3d\x3d\x3d undefined) {\n    var prefixedStyle \x3d goog.dom.vendor.getVendorJsPrefix() + goog.string.toTitleCase(camelStyle);\n    if (element.style[prefixedStyle] !\x3d\x3d undefined) {\n      return goog.dom.vendor.getVendorPrefix() + \x22-\x22 + style;\n    }\n  }\n  return style;\n};\ngoog.style.getStyle \x3d function(element, property) {\n  var styleValue \x3d element.style[goog.string.toCamelCase(property)];\n  if (typeof styleValue !\x3d\x3d \x22undefined\x22) {\n    return styleValue;\n  }\n  return element.style[goog.style.getVendorJsStyleName_(element, property)] || \x22\x22;\n};\ngoog.style.getComputedStyle \x3d function(element, property) {\n  var doc \x3d goog.dom.getOwnerDocument(element);\n  if (doc.defaultView \x26\x26 doc.defaultView.getComputedStyle) {\n    var styles \x3d doc.defaultView.getComputedStyle(element, null);\n    if (styles) {\n      return styles[property] || styles.getPropertyValue(property) || \x22\x22;\n    }\n  }\n  return \x22\x22;\n};\ngoog.style.getCascadedStyle \x3d function(element, style) {\n  return element.currentStyle ? element.currentStyle[style] : null;\n};\ngoog.style.getStyle_ \x3d function(element, style) {\n  return goog.style.getComputedStyle(element, style) || goog.style.getCascadedStyle(element, style) || element.style \x26\x26 element.style[style];\n};\ngoog.style.getComputedBoxSizing \x3d function(element) {\n  return goog.style.getStyle_(element, \x22boxSizing\x22) || goog.style.getStyle_(element, \x22MozBoxSizing\x22) || goog.style.getStyle_(element, \x22WebkitBoxSizing\x22) || null;\n};\ngoog.style.getComputedPosition \x3d function(element) {\n  return goog.style.getStyle_(element, \x22position\x22);\n};\ngoog.style.getBackgroundColor \x3d function(element) {\n  return goog.style.getStyle_(element, \x22backgroundColor\x22);\n};\ngoog.style.getComputedOverflowX \x3d function(element) {\n  return goog.style.getStyle_(element, \x22overflowX\x22);\n};\ngoog.style.getComputedOverflowY \x3d function(element) {\n  return goog.style.getStyle_(element, \x22overflowY\x22);\n};\ngoog.style.getComputedZIndex \x3d function(element) {\n  return goog.style.getStyle_(element, \x22zIndex\x22);\n};\ngoog.style.getComputedTextAlign \x3d function(element) {\n  return goog.style.getStyle_(element, \x22textAlign\x22);\n};\ngoog.style.getComputedCursor \x3d function(element) {\n  return goog.style.getStyle_(element, \x22cursor\x22);\n};\ngoog.style.getComputedTransform \x3d function(element) {\n  var property \x3d goog.style.getVendorStyleName_(element, \x22transform\x22);\n  return goog.style.getStyle_(element, property) || goog.style.getStyle_(element, \x22transform\x22);\n};\ngoog.style.setPosition \x3d function(el, arg1, opt_arg2) {\n  var x;\n  var y;\n  if (arg1 instanceof goog.math.Coordinate) {\n    x \x3d arg1.x;\n    y \x3d arg1.y;\n  } else {\n    x \x3d arg1;\n    y \x3d opt_arg2;\n  }\n  el.style.left \x3d goog.style.getPixelStyleValue_(x, false);\n  el.style.top \x3d goog.style.getPixelStyleValue_(y, false);\n};\ngoog.style.getPosition \x3d function(element) {\n  return new goog.math.Coordinate(element.offsetLeft, element.offsetTop);\n};\ngoog.style.getClientViewportElement \x3d function(opt_node) {\n  var doc;\n  if (opt_node) {\n    doc \x3d goog.dom.getOwnerDocument(opt_node);\n  } else {\n    doc \x3d goog.dom.getDocument();\n  }\n  if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9) \x26\x26 !goog.dom.getDomHelper(doc).isCss1CompatMode()) {\n    return doc.body;\n  }\n  return doc.documentElement;\n};\ngoog.style.getViewportPageOffset \x3d function(doc) {\n  var body \x3d doc.body;\n  var documentElement \x3d doc.documentElement;\n  var scrollLeft \x3d body.scrollLeft || documentElement.scrollLeft;\n  var scrollTop \x3d body.scrollTop || documentElement.scrollTop;\n  return new goog.math.Coordinate(scrollLeft, scrollTop);\n};\ngoog.style.getBoundingClientRect_ \x3d function(el) {\n  try {\n    return el.getBoundingClientRect();\n  } catch (e) {\n    return {\x22left\x22:0, \x22top\x22:0, \x22right\x22:0, \x22bottom\x22:0};\n  }\n};\ngoog.style.getOffsetParent \x3d function(element) {\n  if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(8)) {\n    goog.asserts.assert(element \x26\x26 \x22offsetParent\x22 in element);\n    return element.offsetParent;\n  }\n  var doc \x3d goog.dom.getOwnerDocument(element);\n  var positionStyle \x3d goog.style.getStyle_(element, \x22position\x22);\n  var skipStatic \x3d positionStyle \x3d\x3d \x22fixed\x22 || positionStyle \x3d\x3d \x22absolute\x22;\n  var parent \x3d element.parentNode;\n  for (; parent \x26\x26 parent !\x3d doc; parent \x3d parent.parentNode) {\n    if (parent.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT_FRAGMENT \x26\x26 parent.host) {\n      parent \x3d parent.host;\n    }\n    positionStyle \x3d goog.style.getStyle_(parent, \x22position\x22);\n    skipStatic \x3d skipStatic \x26\x26 positionStyle \x3d\x3d \x22static\x22 \x26\x26 parent !\x3d doc.documentElement \x26\x26 parent !\x3d doc.body;\n    if (!skipStatic \x26\x26 (parent.scrollWidth \x3e parent.clientWidth || parent.scrollHeight \x3e parent.clientHeight || positionStyle \x3d\x3d \x22fixed\x22 || positionStyle \x3d\x3d \x22absolute\x22 || positionStyle \x3d\x3d \x22relative\x22)) {\n      return parent;\n    }\n  }\n  return null;\n};\ngoog.style.getVisibleRectForElement \x3d function(element) {\n  var visibleRect \x3d new goog.math.Box(0, Infinity, Infinity, 0);\n  var dom \x3d goog.dom.getDomHelper(element);\n  var body \x3d dom.getDocument().body;\n  var documentElement \x3d dom.getDocument().documentElement;\n  var scrollEl \x3d dom.getDocumentScrollElement();\n  var el \x3d element;\n  for (; el \x3d goog.style.getOffsetParent(el);) {\n    if ((!goog.userAgent.IE || el.clientWidth !\x3d 0) \x26\x26 (!goog.userAgent.WEBKIT || el.clientHeight !\x3d 0 || el !\x3d body) \x26\x26 (el !\x3d body \x26\x26 el !\x3d documentElement \x26\x26 goog.style.getStyle_(el, \x22overflow\x22) !\x3d \x22visible\x22)) {\n      var pos \x3d goog.style.getPageOffset(el);\n      var client \x3d goog.style.getClientLeftTop(el);\n      pos.x +\x3d client.x;\n      pos.y +\x3d client.y;\n      visibleRect.top \x3d Math.max(visibleRect.top, pos.y);\n      visibleRect.right \x3d Math.min(visibleRect.right, pos.x + el.clientWidth);\n      visibleRect.bottom \x3d Math.min(visibleRect.bottom, pos.y + el.clientHeight);\n      visibleRect.left \x3d Math.max(visibleRect.left, pos.x);\n    }\n  }\n  var scrollX \x3d scrollEl.scrollLeft;\n  var scrollY \x3d scrollEl.scrollTop;\n  visibleRect.left \x3d Math.max(visibleRect.left, scrollX);\n  visibleRect.top \x3d Math.max(visibleRect.top, scrollY);\n  var winSize \x3d dom.getViewportSize();\n  visibleRect.right \x3d Math.min(visibleRect.right, scrollX + winSize.width);\n  visibleRect.bottom \x3d Math.min(visibleRect.bottom, scrollY + winSize.height);\n  return visibleRect.top \x3e\x3d 0 \x26\x26 visibleRect.left \x3e\x3d 0 \x26\x26 visibleRect.bottom \x3e visibleRect.top \x26\x26 visibleRect.right \x3e visibleRect.left ? visibleRect : null;\n};\ngoog.style.getContainerOffsetToScrollInto \x3d function(element, opt_container, opt_center) {\n  var container \x3d opt_container || goog.dom.getDocumentScrollElement();\n  var elementPos \x3d goog.style.getPageOffset(element);\n  var containerPos \x3d goog.style.getPageOffset(container);\n  var containerBorder \x3d goog.style.getBorderBox(container);\n  if (container \x3d\x3d goog.dom.getDocumentScrollElement()) {\n    var relX \x3d elementPos.x - container.scrollLeft;\n    var relY \x3d elementPos.y - container.scrollTop;\n    if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(10)) {\n      relX \x3d relX + containerBorder.left;\n      relY \x3d relY + containerBorder.top;\n    }\n  } else {\n    relX \x3d elementPos.x - containerPos.x - containerBorder.left;\n    relY \x3d elementPos.y - containerPos.y - containerBorder.top;\n  }\n  var elementSize \x3d goog.style.getSizeWithDisplay_(element);\n  var spaceX \x3d container.clientWidth - elementSize.width;\n  var spaceY \x3d container.clientHeight - elementSize.height;\n  var scrollLeft \x3d container.scrollLeft;\n  var scrollTop \x3d container.scrollTop;\n  if (opt_center) {\n    scrollLeft \x3d scrollLeft + (relX - spaceX / 2);\n    scrollTop \x3d scrollTop + (relY - spaceY / 2);\n  } else {\n    scrollLeft \x3d scrollLeft + Math.min(relX, Math.max(relX - spaceX, 0));\n    scrollTop \x3d scrollTop + Math.min(relY, Math.max(relY - spaceY, 0));\n  }\n  return new goog.math.Coordinate(scrollLeft, scrollTop);\n};\ngoog.style.scrollIntoContainerView \x3d function(element, opt_container, opt_center) {\n  var container \x3d opt_container || goog.dom.getDocumentScrollElement();\n  var offset \x3d goog.style.getContainerOffsetToScrollInto(element, container, opt_center);\n  container.scrollLeft \x3d offset.x;\n  container.scrollTop \x3d offset.y;\n};\ngoog.style.getClientLeftTop \x3d function(el) {\n  return new goog.math.Coordinate(el.clientLeft, el.clientTop);\n};\ngoog.style.getPageOffset \x3d function(el) {\n  var doc \x3d goog.dom.getOwnerDocument(el);\n  goog.asserts.assertObject(el, \x22Parameter is required\x22);\n  var pos \x3d new goog.math.Coordinate(0, 0);\n  var viewportElement \x3d goog.style.getClientViewportElement(doc);\n  if (el \x3d\x3d viewportElement) {\n    return pos;\n  }\n  var box \x3d goog.style.getBoundingClientRect_(el);\n  var scrollCoord \x3d goog.dom.getDomHelper(doc).getDocumentScroll();\n  pos.x \x3d box.left + scrollCoord.x;\n  pos.y \x3d box.top + scrollCoord.y;\n  return pos;\n};\ngoog.style.getPageOffsetLeft \x3d function(el) {\n  return goog.style.getPageOffset(el).x;\n};\ngoog.style.getPageOffsetTop \x3d function(el) {\n  return goog.style.getPageOffset(el).y;\n};\ngoog.style.getFramedPageOffset \x3d function(el, relativeWin) {\n  var position \x3d new goog.math.Coordinate(0, 0);\n  var currentWin \x3d goog.dom.getWindow(goog.dom.getOwnerDocument(el));\n  if (!goog.reflect.canAccessProperty(currentWin, \x22parent\x22)) {\n    return position;\n  }\n  var currentEl \x3d el;\n  do {\n    var offset \x3d currentWin \x3d\x3d relativeWin ? goog.style.getPageOffset(currentEl) : goog.style.getClientPositionForElement_(goog.asserts.assert(currentEl));\n    position.x +\x3d offset.x;\n    position.y +\x3d offset.y;\n  } while (currentWin \x26\x26 currentWin !\x3d relativeWin \x26\x26 currentWin !\x3d currentWin.parent \x26\x26 (currentEl \x3d currentWin.frameElement) \x26\x26 (currentWin \x3d currentWin.parent));\n  return position;\n};\ngoog.style.translateRectForAnotherFrame \x3d function(rect, origBase, newBase) {\n  if (origBase.getDocument() !\x3d newBase.getDocument()) {\n    var body \x3d origBase.getDocument().body;\n    var pos \x3d goog.style.getFramedPageOffset(body, newBase.getWindow());\n    pos \x3d goog.math.Coordinate.difference(pos, goog.style.getPageOffset(body));\n    if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9) \x26\x26 !origBase.isCss1CompatMode()) {\n      pos \x3d goog.math.Coordinate.difference(pos, origBase.getDocumentScroll());\n    }\n    rect.left +\x3d pos.x;\n    rect.top +\x3d pos.y;\n  }\n};\ngoog.style.getRelativePosition \x3d function(a, b) {\n  var ap \x3d goog.style.getClientPosition(a);\n  var bp \x3d goog.style.getClientPosition(b);\n  return new goog.math.Coordinate(ap.x - bp.x, ap.y - bp.y);\n};\ngoog.style.getClientPositionForElement_ \x3d function(el) {\n  var box \x3d goog.style.getBoundingClientRect_(el);\n  return new goog.math.Coordinate(box.left, box.top);\n};\ngoog.style.getClientPosition \x3d function(el) {\n  goog.asserts.assert(el);\n  if (el.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT) {\n    return goog.style.getClientPositionForElement_(el);\n  } else {\n    var targetEvent \x3d el.changedTouches ? el.changedTouches[0] : el;\n    return new goog.math.Coordinate(targetEvent.clientX, targetEvent.clientY);\n  }\n};\ngoog.style.setPageOffset \x3d function(el, x, opt_y) {\n  var cur \x3d goog.style.getPageOffset(el);\n  if (x instanceof goog.math.Coordinate) {\n    opt_y \x3d x.y;\n    x \x3d x.x;\n  }\n  var dx \x3d goog.asserts.assertNumber(x) - cur.x;\n  var dy \x3d Number(opt_y) - cur.y;\n  goog.style.setPosition(el, el.offsetLeft + dx, el.offsetTop + dy);\n};\ngoog.style.setSize \x3d function(element, w, opt_h) {\n  var h;\n  if (w instanceof goog.math.Size) {\n    h \x3d w.height;\n    w \x3d w.width;\n  } else {\n    if (opt_h \x3d\x3d undefined) {\n      throw new Error(\x22missing height argument\x22);\n    }\n    h \x3d opt_h;\n  }\n  goog.style.setWidth(element, w);\n  goog.style.setHeight(element, h);\n};\ngoog.style.getPixelStyleValue_ \x3d function(value, round) {\n  if (typeof value \x3d\x3d \x22number\x22) {\n    value \x3d (round ? Math.round(value) : value) + \x22px\x22;\n  }\n  return value;\n};\ngoog.style.setHeight \x3d function(element, height) {\n  element.style.height \x3d goog.style.getPixelStyleValue_(height, true);\n};\ngoog.style.setWidth \x3d function(element, width) {\n  element.style.width \x3d goog.style.getPixelStyleValue_(width, true);\n};\ngoog.style.getSize \x3d function(element) {\n  return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_, element);\n};\ngoog.style.evaluateWithTemporaryDisplay_ \x3d function(fn, element) {\n  if (goog.style.getStyle_(element, \x22display\x22) !\x3d \x22none\x22) {\n    return fn(element);\n  }\n  var style \x3d element.style;\n  var originalDisplay \x3d style.display;\n  var originalVisibility \x3d style.visibility;\n  var originalPosition \x3d style.position;\n  style.visibility \x3d \x22hidden\x22;\n  style.position \x3d \x22absolute\x22;\n  style.display \x3d \x22inline\x22;\n  var retVal \x3d fn(element);\n  style.display \x3d originalDisplay;\n  style.position \x3d originalPosition;\n  style.visibility \x3d originalVisibility;\n  return retVal;\n};\ngoog.style.getSizeWithDisplay_ \x3d function(element) {\n  var offsetWidth \x3d element.offsetWidth;\n  var offsetHeight \x3d element.offsetHeight;\n  var webkitOffsetsZero \x3d goog.userAgent.WEBKIT \x26\x26 !offsetWidth \x26\x26 !offsetHeight;\n  if ((offsetWidth \x3d\x3d\x3d undefined || webkitOffsetsZero) \x26\x26 element.getBoundingClientRect) {\n    var clientRect \x3d goog.style.getBoundingClientRect_(element);\n    return new goog.math.Size(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top);\n  }\n  return new goog.math.Size(offsetWidth, offsetHeight);\n};\ngoog.style.getTransformedSize \x3d function(element) {\n  if (!element.getBoundingClientRect) {\n    return null;\n  }\n  var clientRect \x3d goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_, element);\n  return new goog.math.Size(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top);\n};\ngoog.style.getBounds \x3d function(element) {\n  var o \x3d goog.style.getPageOffset(element);\n  var s \x3d goog.style.getSize(element);\n  return new goog.math.Rect(o.x, o.y, s.width, s.height);\n};\ngoog.style.toCamelCase \x3d function(selector) {\n  return goog.string.toCamelCase(String(selector));\n};\ngoog.style.toSelectorCase \x3d function(selector) {\n  return goog.string.toSelectorCase(selector);\n};\ngoog.style.getOpacity \x3d function(el) {\n  goog.asserts.assert(el);\n  var style \x3d el.style;\n  var result \x3d \x22\x22;\n  if (\x22opacity\x22 in style) {\n    result \x3d style.opacity;\n  } else if (\x22MozOpacity\x22 in style) {\n    result \x3d style.MozOpacity;\n  } else if (\x22filter\x22 in style) {\n    var match \x3d style.filter.match(/alpha\\(opacity\x3d([\\d.]+)\\)/);\n    if (match) {\n      result \x3d String(match[1] / 100);\n    }\n  }\n  return result \x3d\x3d \x22\x22 ? result : Number(result);\n};\ngoog.style.setOpacity \x3d function(el, alpha) {\n  goog.asserts.assert(el);\n  var style \x3d el.style;\n  if (\x22opacity\x22 in style) {\n    style.opacity \x3d alpha;\n  } else if (\x22MozOpacity\x22 in style) {\n    style.MozOpacity \x3d alpha;\n  } else if (\x22filter\x22 in style) {\n    if (alpha \x3d\x3d\x3d \x22\x22) {\n      style.filter \x3d \x22\x22;\n    } else {\n      style.filter \x3d \x22alpha(opacity\\x3d\x22 + Number(alpha) * 100 + \x22)\x22;\n    }\n  }\n};\ngoog.style.setTransparentBackgroundImage \x3d function(el, src) {\n  var style \x3d el.style;\n  style.backgroundImage \x3d \x22url(\x22 + src + \x22)\x22;\n  style.backgroundPosition \x3d \x22top left\x22;\n  style.backgroundRepeat \x3d \x22no-repeat\x22;\n};\ngoog.style.clearTransparentBackgroundImage \x3d function(el) {\n  var style \x3d el.style;\n  if (\x22filter\x22 in style) {\n    style.filter \x3d \x22\x22;\n  } else {\n    style.backgroundImage \x3d \x22none\x22;\n  }\n};\ngoog.style.showElement \x3d function(el, display) {\n  goog.style.setElementShown(el, display);\n};\ngoog.style.setElementShown \x3d function(el, isShown) {\n  el.style.display \x3d isShown ? \x22\x22 : \x22none\x22;\n};\ngoog.style.isElementShown \x3d function(el) {\n  return el.style.display !\x3d \x22none\x22;\n};\ngoog.style.installSafeStyleSheet \x3d function(safeStyleSheet, opt_node) {\n  var dh \x3d goog.dom.getDomHelper(opt_node);\n  var doc \x3d dh.getDocument();\n  if (goog.userAgent.IE \x26\x26 doc.createStyleSheet) {\n    var styleSheet \x3d doc.createStyleSheet();\n    goog.style.setSafeStyleSheet(styleSheet, safeStyleSheet);\n    return styleSheet;\n  } else {\n    var head \x3d dh.getElementsByTagNameAndClass(goog.dom.TagName.HEAD)[0];\n    if (!head) {\n      var body \x3d dh.getElementsByTagNameAndClass(goog.dom.TagName.BODY)[0];\n      head \x3d dh.createDom(goog.dom.TagName.HEAD);\n      body.parentNode.insertBefore(head, body);\n    }\n    var el \x3d dh.createDom(goog.dom.TagName.STYLE);\n    const nonce \x3d goog.dom.safe.getStyleNonce();\n    if (nonce) {\n      el.setAttribute(\x22nonce\x22, nonce);\n    }\n    goog.style.setSafeStyleSheet(el, safeStyleSheet);\n    dh.appendChild(head, el);\n    return el;\n  }\n};\ngoog.style.uninstallStyles \x3d function(styleSheet) {\n  var node \x3d styleSheet.ownerNode || styleSheet.owningElement || styleSheet;\n  goog.dom.removeNode(node);\n};\ngoog.style.setSafeStyleSheet \x3d function(element, safeStyleSheet) {\n  var stylesString \x3d goog.html.SafeStyleSheet.unwrap(safeStyleSheet);\n  if (goog.userAgent.IE \x26\x26 element.cssText !\x3d\x3d undefined) {\n    element.cssText \x3d stylesString;\n  } else if (goog.global.trustedTypes) {\n    goog.dom.setTextContent(element, stylesString);\n  } else {\n    element.innerHTML \x3d stylesString;\n  }\n};\ngoog.style.setPreWrap \x3d function(el) {\n  var style \x3d el.style;\n  if (goog.userAgent.GECKO) {\n    style.whiteSpace \x3d \x22-moz-pre-wrap\x22;\n  } else {\n    style.whiteSpace \x3d \x22pre-wrap\x22;\n  }\n};\ngoog.style.setInlineBlock \x3d function(el) {\n  var style \x3d el.style;\n  style.position \x3d \x22relative\x22;\n  style.display \x3d \x22inline-block\x22;\n};\ngoog.style.isRightToLeft \x3d function(el) {\n  return \x22rtl\x22 \x3d\x3d goog.style.getStyle_(el, \x22direction\x22);\n};\ngoog.style.unselectableStyle_ \x3d goog.userAgent.GECKO ? \x22MozUserSelect\x22 : goog.userAgent.WEBKIT || goog.userAgent.EDGE ? \x22WebkitUserSelect\x22 : null;\ngoog.style.isUnselectable \x3d function(el) {\n  if (goog.style.unselectableStyle_) {\n    return el.style[goog.style.unselectableStyle_].toLowerCase() \x3d\x3d \x22none\x22;\n  } else if (goog.userAgent.IE) {\n    return el.getAttribute(\x22unselectable\x22) \x3d\x3d \x22on\x22;\n  }\n  return false;\n};\ngoog.style.setUnselectable \x3d function(el, unselectable, opt_noRecurse) {\n  var descendants \x3d !opt_noRecurse ? el.getElementsByTagName(\x22*\x22) : null;\n  var name \x3d goog.style.unselectableStyle_;\n  if (name) {\n    var value \x3d unselectable ? \x22none\x22 : \x22\x22;\n    if (el.style) {\n      el.style[name] \x3d value;\n    }\n    if (descendants) {\n      var i \x3d 0;\n      var descendant;\n      for (; descendant \x3d descendants[i]; i++) {\n        if (descendant.style) {\n          descendant.style[name] \x3d value;\n        }\n      }\n    }\n  } else if (goog.userAgent.IE) {\n    value \x3d unselectable ? \x22on\x22 : \x22\x22;\n    el.setAttribute(\x22unselectable\x22, value);\n    if (descendants) {\n      i \x3d 0;\n      for (; descendant \x3d descendants[i]; i++) {\n        descendant.setAttribute(\x22unselectable\x22, value);\n      }\n    }\n  }\n};\ngoog.style.getBorderBoxSize \x3d function(element) {\n  return new goog.math.Size(element.offsetWidth, element.offsetHeight);\n};\ngoog.style.setBorderBoxSize \x3d function(element, size) {\n  goog.style.setBoxSizingSize_(element, size, \x22border-box\x22);\n};\ngoog.style.getContentBoxSize \x3d function(element) {\n  var doc \x3d goog.dom.getOwnerDocument(element);\n  var ieCurrentStyle \x3d goog.userAgent.IE \x26\x26 element.currentStyle;\n  if (ieCurrentStyle \x26\x26 goog.dom.getDomHelper(doc).isCss1CompatMode() \x26\x26 ieCurrentStyle.width !\x3d \x22auto\x22 \x26\x26 ieCurrentStyle.height !\x3d \x22auto\x22 \x26\x26 !ieCurrentStyle.boxSizing) {\n    var width \x3d goog.style.getIePixelValue_(element, ieCurrentStyle.width, \x22width\x22, \x22pixelWidth\x22);\n    var height \x3d goog.style.getIePixelValue_(element, ieCurrentStyle.height, \x22height\x22, \x22pixelHeight\x22);\n    return new goog.math.Size(width, height);\n  } else {\n    var borderBoxSize \x3d goog.style.getBorderBoxSize(element);\n    var paddingBox \x3d goog.style.getPaddingBox(element);\n    var borderBox \x3d goog.style.getBorderBox(element);\n    return new goog.math.Size(borderBoxSize.width - borderBox.left - paddingBox.left - paddingBox.right - borderBox.right, borderBoxSize.height - borderBox.top - paddingBox.top - paddingBox.bottom - borderBox.bottom);\n  }\n};\ngoog.style.setContentBoxSize \x3d function(element, size) {\n  goog.style.setBoxSizingSize_(element, size, \x22content-box\x22);\n};\ngoog.style.setBoxSizingSize_ \x3d function(element, size, boxSizing) {\n  var style \x3d element.style;\n  if (goog.userAgent.GECKO) {\n    style.MozBoxSizing \x3d boxSizing;\n  } else if (goog.userAgent.WEBKIT) {\n    style.WebkitBoxSizing \x3d boxSizing;\n  } else {\n    style.boxSizing \x3d boxSizing;\n  }\n  style.width \x3d Math.max(size.width, 0) + \x22px\x22;\n  style.height \x3d Math.max(size.height, 0) + \x22px\x22;\n};\ngoog.style.getIePixelValue_ \x3d function(element, value, name, pixelName) {\n  if (/^\\d+px?$/.test(value)) {\n    return parseInt(value, 10);\n  } else {\n    var oldStyleValue \x3d element.style[name];\n    var oldRuntimeValue \x3d element.runtimeStyle[name];\n    element.runtimeStyle[name] \x3d element.currentStyle[name];\n    element.style[name] \x3d value;\n    var pixelValue \x3d element.style[pixelName];\n    element.style[name] \x3d oldStyleValue;\n    element.runtimeStyle[name] \x3d oldRuntimeValue;\n    return +pixelValue;\n  }\n};\ngoog.style.getIePixelDistance_ \x3d function(element, propName) {\n  var value \x3d goog.style.getCascadedStyle(element, propName);\n  return value ? goog.style.getIePixelValue_(element, value, \x22left\x22, \x22pixelLeft\x22) : 0;\n};\ngoog.style.getBox_ \x3d function(element, stylePrefix) {\n  if (goog.userAgent.IE) {\n    var left \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Left\x22);\n    var right \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Right\x22);\n    var top \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Top\x22);\n    var bottom \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Bottom\x22);\n    return new goog.math.Box(top, right, bottom, left);\n  } else {\n    left \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Left\x22);\n    right \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Right\x22);\n    top \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Top\x22);\n    bottom \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Bottom\x22);\n    return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left));\n  }\n};\ngoog.style.getPaddingBox \x3d function(element) {\n  return goog.style.getBox_(element, \x22padding\x22);\n};\ngoog.style.getMarginBox \x3d function(element) {\n  return goog.style.getBox_(element, \x22margin\x22);\n};\ngoog.style.ieBorderWidthKeywords_ \x3d {\x22thin\x22:2, \x22medium\x22:4, \x22thick\x22:6};\ngoog.style.getIePixelBorder_ \x3d function(element, prop) {\n  if (goog.style.getCascadedStyle(element, prop + \x22Style\x22) \x3d\x3d \x22none\x22) {\n    return 0;\n  }\n  var width \x3d goog.style.getCascadedStyle(element, prop + \x22Width\x22);\n  if (width in goog.style.ieBorderWidthKeywords_) {\n    return goog.style.ieBorderWidthKeywords_[width];\n  }\n  return goog.style.getIePixelValue_(element, width, \x22left\x22, \x22pixelLeft\x22);\n};\ngoog.style.getBorderBox \x3d function(element) {\n  if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9)) {\n    var left \x3d goog.style.getIePixelBorder_(element, \x22borderLeft\x22);\n    var right \x3d goog.style.getIePixelBorder_(element, \x22borderRight\x22);\n    var top \x3d goog.style.getIePixelBorder_(element, \x22borderTop\x22);\n    var bottom \x3d goog.style.getIePixelBorder_(element, \x22borderBottom\x22);\n    return new goog.math.Box(top, right, bottom, left);\n  } else {\n    left \x3d goog.style.getComputedStyle(element, \x22borderLeftWidth\x22);\n    right \x3d goog.style.getComputedStyle(element, \x22borderRightWidth\x22);\n    top \x3d goog.style.getComputedStyle(element, \x22borderTopWidth\x22);\n    bottom \x3d goog.style.getComputedStyle(element, \x22borderBottomWidth\x22);\n    return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left));\n  }\n};\ngoog.style.getFontFamily \x3d function(el) {\n  var doc \x3d goog.dom.getOwnerDocument(el);\n  var font \x3d \x22\x22;\n  if (doc.body.createTextRange \x26\x26 goog.dom.contains(doc, el)) {\n    var range \x3d doc.body.createTextRange();\n    range.moveToElementText(el);\n    try {\n      font \x3d range.queryCommandValue(\x22FontName\x22);\n    } catch (e) {\n      font \x3d \x22\x22;\n    }\n  }\n  if (!font) {\n    font \x3d goog.style.getStyle_(el, \x22fontFamily\x22);\n  }\n  var fontsArray \x3d font.split(\x22,\x22);\n  if (fontsArray.length \x3e 1) {\n    font \x3d fontsArray[0];\n  }\n  return goog.string.stripQuotes(font, \x22\\\x22\x27\x22);\n};\ngoog.style.lengthUnitRegex_ \x3d /[^\\d]+$/;\ngoog.style.getLengthUnits \x3d function(value) {\n  var units \x3d value.match(goog.style.lengthUnitRegex_);\n  return units \x26\x26 units[0] || null;\n};\ngoog.style.ABSOLUTE_CSS_LENGTH_UNITS_ \x3d {\x22cm\x22:1, \x22in\x22:1, \x22mm\x22:1, \x22pc\x22:1, \x22pt\x22:1};\ngoog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_ \x3d {\x22em\x22:1, \x22ex\x22:1};\ngoog.style.getFontSize \x3d function(el) {\n  var fontSize \x3d goog.style.getStyle_(el, \x22fontSize\x22);\n  var sizeUnits \x3d goog.style.getLengthUnits(fontSize);\n  if (fontSize \x26\x26 \x22px\x22 \x3d\x3d sizeUnits) {\n    return parseInt(fontSize, 10);\n  }\n  if (goog.userAgent.IE) {\n    if (String(sizeUnits) in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_) {\n      return goog.style.getIePixelValue_(el, fontSize, \x22left\x22, \x22pixelLeft\x22);\n    } else if (el.parentNode \x26\x26 el.parentNode.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT \x26\x26 String(sizeUnits) in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_) {\n      var parentElement \x3d el.parentNode;\n      var parentSize \x3d goog.style.getStyle_(parentElement, \x22fontSize\x22);\n      return goog.style.getIePixelValue_(parentElement, fontSize \x3d\x3d parentSize ? \x221em\x22 : fontSize, \x22left\x22, \x22pixelLeft\x22);\n    }\n  }\n  var sizeElement \x3d goog.dom.createDom(goog.dom.TagName.SPAN, {\x22style\x22:\x22visibility:hidden;position:absolute;\x22 + \x22line-height:0;padding:0;margin:0;border:0;height:1em;\x22});\n  goog.dom.appendChild(el, sizeElement);\n  fontSize \x3d sizeElement.offsetHeight;\n  goog.dom.removeNode(sizeElement);\n  return fontSize;\n};\ngoog.style.parseStyleAttribute \x3d function(value) {\n  var result \x3d {};\n  value.split(/\\s*;\\s*/).forEach(function(pair) {\n    var keyValue \x3d pair.match(/\\s*([\\w-]+)\\s*:(.+)/);\n    if (keyValue) {\n      var styleName \x3d keyValue[1];\n      var styleValue \x3d goog.string.trim(keyValue[2]);\n      result[goog.string.toCamelCase(styleName.toLowerCase())] \x3d styleValue;\n    }\n  });\n  return result;\n};\ngoog.style.toStyleAttribute \x3d function(obj) {\n  var buffer \x3d [];\n  goog.object.forEach(obj, function(value, key) {\n    buffer.push(goog.string.toSelectorCase(key), \x22:\x22, value, \x22;\x22);\n  });\n  return buffer.join(\x22\x22);\n};\ngoog.style.setFloat \x3d function(el, value) {\n  el.style[goog.userAgent.IE ? \x22styleFloat\x22 : \x22cssFloat\x22] \x3d value;\n};\ngoog.style.getFloat \x3d function(el) {\n  return el.style[goog.userAgent.IE ? \x22styleFloat\x22 : \x22cssFloat\x22] || \x22\x22;\n};\ngoog.style.getScrollbarWidth \x3d function(opt_className) {\n  var outerDiv \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n  if (opt_className) {\n    outerDiv.className \x3d opt_className;\n  }\n  outerDiv.style.cssText \x3d \x22overflow:auto;\x22 + \x22position:absolute;top:0;width:100px;height:100px\x22;\n  var innerDiv \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n  goog.style.setSize(innerDiv, \x22200px\x22, \x22200px\x22);\n  outerDiv.appendChild(innerDiv);\n  goog.dom.appendChild(goog.dom.getDocument().body, outerDiv);\n  var width \x3d outerDiv.offsetWidth - outerDiv.clientWidth;\n  goog.dom.removeNode(outerDiv);\n  return width;\n};\ngoog.style.MATRIX_TRANSLATION_REGEX_ \x3d new RegExp(\x22matrix\\\\([0-9\\\\.\\\\-]+, [0-9\\\\.\\\\-]+, \x22 + \x22[0-9\\\\.\\\\-]+, [0-9\\\\.\\\\-]+, \x22 + \x22([0-9\\\\.\\\\-]+)p?x?, ([0-9\\\\.\\\\-]+)p?x?\\\\)\x22);\ngoog.style.getCssTranslation \x3d function(element) {\n  var transform \x3d goog.style.getComputedTransform(element);\n  if (!transform) {\n    return new goog.math.Coordinate(0, 0);\n  }\n  var matches \x3d transform.match(goog.style.MATRIX_TRANSLATION_REGEX_);\n  if (!matches) {\n    return new goog.math.Coordinate(0, 0);\n  }\n  return new goog.math.Coordinate(parseFloat(matches[1]), parseFloat(matches[2]));\n};\n");
SHADOW_ENV.evalLoad("shadow.dom.js", true, "goog.provide(\x27shadow.dom\x27);\nshadow.dom.transition_supported_QMARK_ \x3d true;\n\n/**\n * @interface\n */\nshadow.dom.IElement \x3d function(){};\n\nvar shadow$dom$IElement$_to_dom$dyn_33135 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.dom._to_dom[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.dom._to_dom[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IElement.-to-dom\x22,this$);\n}\n}\n});\nshadow.dom._to_dom \x3d (function shadow$dom$_to_dom(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$IElement$_to_dom$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$IElement$_to_dom$arity$1(this$);\n} else {\nreturn shadow$dom$IElement$_to_dom$dyn_33135(this$);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.dom.SVGElement \x3d function(){};\n\nvar shadow$dom$SVGElement$_to_svg$dyn_33137 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.dom._to_svg[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.dom._to_svg[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22SVGElement.-to-svg\x22,this$);\n}\n}\n});\nshadow.dom._to_svg \x3d (function shadow$dom$_to_svg(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$SVGElement$_to_svg$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$SVGElement$_to_svg$arity$1(this$);\n} else {\nreturn shadow$dom$SVGElement$_to_svg$dyn_33137(this$);\n}\n});\n\nshadow.dom.lazy_native_coll_seq \x3d (function shadow$dom$lazy_native_coll_seq(coll,idx){\nif((idx \x3c coll.length)){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons((coll[idx]),(function (){var G__31782 \x3d coll;\nvar G__31783 \x3d (idx + (1));\nreturn (shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2 ? shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2(G__31782,G__31783) : shadow.dom.lazy_native_coll_seq.call(null,G__31782,G__31783));\n})());\n}),null,null));\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n*/\nshadow.dom.NativeColl \x3d (function (coll){\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8421394;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.dom.NativeColl.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (this$,n){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.coll[n]);\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (this$,n,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar or__5025__auto__ \x3d (self__.coll[n]);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn not_found;\n}\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll.length;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.dom.lazy_native_coll_seq(self__.coll,(0));\n}));\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(shadow.dom.NativeColl.cljs$lang$type \x3d true);\n\n(shadow.dom.NativeColl.cljs$lang$ctorStr \x3d \x22shadow.dom/NativeColl\x22);\n\n(shadow.dom.NativeColl.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.dom/NativeColl\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/NativeColl.\n */\nshadow.dom.__GT_NativeColl \x3d (function shadow$dom$__GT_NativeColl(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\n\nshadow.dom.native_coll \x3d (function shadow$dom$native_coll(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\nshadow.dom.dom_node \x3d (function shadow$dom$dom_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$IElement$))))?true:false):false)){\nreturn el.shadow$dom$IElement$_to_dom$arity$1(null);\n} else {\nif(typeof el \x3d\x3d\x3d \x27string\x27){\nreturn document.createTextNode(el);\n} else {\nif(typeof el \x3d\x3d\x3d \x27number\x27){\nreturn document.createTextNode(cljs.core.str.cljs$core$IFn$_invoke$arity$1(el));\n} else {\nreturn el;\n\n}\n}\n}\n}\n});\nshadow.dom.query_one \x3d (function shadow$dom$query_one(var_args){\nvar G__31825 \x3d arguments.length;\nswitch (G__31825) {\ncase 1:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn document.querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn shadow.dom.dom_node(root).querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.query \x3d (function shadow$dom$query(var_args){\nvar G__31829 \x3d arguments.length;\nswitch (G__31829) {\ncase 1:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn (new shadow.dom.NativeColl(document.querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(root).querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.by_id \x3d (function shadow$dom$by_id(var_args){\nvar G__31834 \x3d arguments.length;\nswitch (G__31834) {\ncase 2:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2 \x3d (function (id,el){\nreturn shadow.dom.dom_node(el).getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1 \x3d (function (id){\nreturn document.getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.build \x3d shadow.dom.dom_node;\nshadow.dom.ev_stop \x3d (function shadow$dom$ev_stop(var_args){\nvar G__31839 \x3d arguments.length;\nswitch (G__31839) {\ncase 1:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1 \x3d (function (e){\nif(cljs.core.truth_(e.stopPropagation)){\ne.stopPropagation();\n\ne.preventDefault();\n} else {\n(e.cancelBubble \x3d true);\n\n(e.returnValue \x3d false);\n}\n\nreturn e;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2 \x3d (function (e,el){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4 \x3d (function (e,el,scope,owner){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * check wether a parent node (or the document) contains the child\n */\nshadow.dom.contains_QMARK_ \x3d (function shadow$dom$contains_QMARK_(var_args){\nvar G__31843 \x3d arguments.length;\nswitch (G__31843) {\ncase 1:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn goog.dom.contains(document,shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (parent,el){\nreturn goog.dom.contains(shadow.dom.dom_node(parent),shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.add_class \x3d (function shadow$dom$add_class(el,cls){\nreturn goog.dom.classlist.add(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.remove_class \x3d (function shadow$dom$remove_class(el,cls){\nreturn goog.dom.classlist.remove(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.toggle_class \x3d (function shadow$dom$toggle_class(var_args){\nvar G__31846 \x3d arguments.length;\nswitch (G__31846) {\ncase 2:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,cls){\nreturn goog.dom.classlist.toggle(shadow.dom.dom_node(el),cls);\n}));\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,cls,v){\nif(cljs.core.truth_(v)){\nreturn shadow.dom.add_class(el,cls);\n} else {\nreturn shadow.dom.remove_class(el,cls);\n}\n}));\n\n(shadow.dom.toggle_class.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.dom_listen \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn document.addEventListener;\n}\n})())?(function shadow$dom$dom_listen_good(el,ev,handler){\nreturn el.addEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_ie(el,ev,handler){\ntry{return el.attachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),(function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n}));\n}catch (e31854){if((e31854 instanceof Object)){\nvar e \x3d e31854;\nreturn console.log(\x22didnt support attachEvent\x22,el,e);\n} else {\nthrow e31854;\n\n}\n}}));\nshadow.dom.dom_listen_remove \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn document.removeEventListener;\n}\n})())?(function shadow$dom$dom_listen_remove_good(el,ev,handler){\nreturn el.removeEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_remove_ie(el,ev,handler){\nreturn el.detachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),handler);\n}));\nshadow.dom.on_query \x3d (function shadow$dom$on_query(root_el,ev,selector,handler){\nvar seq__31857 \x3d cljs.core.seq(shadow.dom.query.cljs$core$IFn$_invoke$arity$2(selector,root_el));\nvar chunk__31858 \x3d null;\nvar count__31859 \x3d (0);\nvar i__31860 \x3d (0);\nwhile(true){\nif((i__31860 \x3c count__31859)){\nvar el \x3d chunk__31858.cljs$core$IIndexed$_nth$arity$2(null,i__31860);\nvar handler_33162__$1 \x3d ((function (seq__31857,chunk__31858,count__31859,i__31860,el){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__31857,chunk__31858,count__31859,i__31860,el))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_33162__$1);\n\n\nvar G__33164 \x3d seq__31857;\nvar G__33165 \x3d chunk__31858;\nvar G__33166 \x3d count__31859;\nvar G__33167 \x3d (i__31860 + (1));\nseq__31857 \x3d G__33164;\nchunk__31858 \x3d G__33165;\ncount__31859 \x3d G__33166;\ni__31860 \x3d G__33167;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31857);\nif(temp__5804__auto__){\nvar seq__31857__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31857__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31857__$1);\nvar G__33170 \x3d cljs.core.chunk_rest(seq__31857__$1);\nvar G__33171 \x3d c__5548__auto__;\nvar G__33172 \x3d cljs.core.count(c__5548__auto__);\nvar G__33173 \x3d (0);\nseq__31857 \x3d G__33170;\nchunk__31858 \x3d G__33171;\ncount__31859 \x3d G__33172;\ni__31860 \x3d G__33173;\ncontinue;\n} else {\nvar el \x3d cljs.core.first(seq__31857__$1);\nvar handler_33174__$1 \x3d ((function (seq__31857,chunk__31858,count__31859,i__31860,el,seq__31857__$1,temp__5804__auto__){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__31857,chunk__31858,count__31859,i__31860,el,seq__31857__$1,temp__5804__auto__))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_33174__$1);\n\n\nvar G__33175 \x3d cljs.core.next(seq__31857__$1);\nvar G__33176 \x3d null;\nvar G__33177 \x3d (0);\nvar G__33178 \x3d (0);\nseq__31857 \x3d G__33175;\nchunk__31858 \x3d G__33176;\ncount__31859 \x3d G__33177;\ni__31860 \x3d G__33178;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.on \x3d (function shadow$dom$on(var_args){\nvar G__31910 \x3d arguments.length;\nswitch (G__31910) {\ncase 3:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,ev,handler){\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4(el,ev,handler,false);\n}));\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$4 \x3d (function (el,ev,handler,capture){\nif(cljs.core.vector_QMARK_(ev)){\nreturn shadow.dom.on_query(el,cljs.core.first(ev),cljs.core.second(ev),handler);\n} else {\nvar handler__$1 \x3d (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});\nreturn shadow.dom.dom_listen(shadow.dom.dom_node(el),cljs.core.name(ev),handler__$1);\n}\n}));\n\n(shadow.dom.on.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.dom.remove_event_handler \x3d (function shadow$dom$remove_event_handler(el,ev,handler){\nreturn shadow.dom.dom_listen_remove(shadow.dom.dom_node(el),cljs.core.name(ev),handler);\n});\nshadow.dom.add_event_listeners \x3d (function shadow$dom$add_event_listeners(el,events){\nvar seq__31929 \x3d cljs.core.seq(events);\nvar chunk__31930 \x3d null;\nvar count__31931 \x3d (0);\nvar i__31932 \x3d (0);\nwhile(true){\nif((i__31932 \x3c count__31931)){\nvar vec__31941 \x3d chunk__31930.cljs$core$IIndexed$_nth$arity$2(null,i__31932);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31941,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31941,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__33191 \x3d seq__31929;\nvar G__33192 \x3d chunk__31930;\nvar G__33193 \x3d count__31931;\nvar G__33194 \x3d (i__31932 + (1));\nseq__31929 \x3d G__33191;\nchunk__31930 \x3d G__33192;\ncount__31931 \x3d G__33193;\ni__31932 \x3d G__33194;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31929);\nif(temp__5804__auto__){\nvar seq__31929__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31929__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31929__$1);\nvar G__33195 \x3d cljs.core.chunk_rest(seq__31929__$1);\nvar G__33196 \x3d c__5548__auto__;\nvar G__33197 \x3d cljs.core.count(c__5548__auto__);\nvar G__33198 \x3d (0);\nseq__31929 \x3d G__33195;\nchunk__31930 \x3d G__33196;\ncount__31931 \x3d G__33197;\ni__31932 \x3d G__33198;\ncontinue;\n} else {\nvar vec__31950 \x3d cljs.core.first(seq__31929__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31950,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31950,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__33199 \x3d cljs.core.next(seq__31929__$1);\nvar G__33200 \x3d null;\nvar G__33201 \x3d (0);\nvar G__33202 \x3d (0);\nseq__31929 \x3d G__33199;\nchunk__31930 \x3d G__33200;\ncount__31931 \x3d G__33201;\ni__31932 \x3d G__33202;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_style \x3d (function shadow$dom$set_style(el,styles){\nvar dom \x3d shadow.dom.dom_node(el);\nvar seq__31954 \x3d cljs.core.seq(styles);\nvar chunk__31955 \x3d null;\nvar count__31956 \x3d (0);\nvar i__31957 \x3d (0);\nwhile(true){\nif((i__31957 \x3c count__31956)){\nvar vec__31969 \x3d chunk__31955.cljs$core$IIndexed$_nth$arity$2(null,i__31957);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31969,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31969,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__33203 \x3d seq__31954;\nvar G__33204 \x3d chunk__31955;\nvar G__33205 \x3d count__31956;\nvar G__33206 \x3d (i__31957 + (1));\nseq__31954 \x3d G__33203;\nchunk__31955 \x3d G__33204;\ncount__31956 \x3d G__33205;\ni__31957 \x3d G__33206;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31954);\nif(temp__5804__auto__){\nvar seq__31954__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31954__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31954__$1);\nvar G__33207 \x3d cljs.core.chunk_rest(seq__31954__$1);\nvar G__33208 \x3d c__5548__auto__;\nvar G__33209 \x3d cljs.core.count(c__5548__auto__);\nvar G__33210 \x3d (0);\nseq__31954 \x3d G__33207;\nchunk__31955 \x3d G__33208;\ncount__31956 \x3d G__33209;\ni__31957 \x3d G__33210;\ncontinue;\n} else {\nvar vec__31973 \x3d cljs.core.first(seq__31954__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31973,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31973,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__33212 \x3d cljs.core.next(seq__31954__$1);\nvar G__33213 \x3d null;\nvar G__33214 \x3d (0);\nvar G__33215 \x3d (0);\nseq__31954 \x3d G__33212;\nchunk__31955 \x3d G__33213;\ncount__31956 \x3d G__33214;\ni__31957 \x3d G__33215;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_attr_STAR_ \x3d (function shadow$dom$set_attr_STAR_(el,key,value){\nvar G__31978_33217 \x3d key;\nvar G__31978_33218__$1 \x3d (((G__31978_33217 instanceof cljs.core.Keyword))?G__31978_33217.fqn:null);\nswitch (G__31978_33218__$1) {\ncase \x22id\x22:\n(el.id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22class\x22:\n(el.className \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22for\x22:\n(el.htmlFor \x3d value);\n\nbreak;\ncase \x22cellpadding\x22:\nel.setAttribute(\x22cellPadding\x22,value);\n\nbreak;\ncase \x22cellspacing\x22:\nel.setAttribute(\x22cellSpacing\x22,value);\n\nbreak;\ncase \x22colspan\x22:\nel.setAttribute(\x22colSpan\x22,value);\n\nbreak;\ncase \x22frameborder\x22:\nel.setAttribute(\x22frameBorder\x22,value);\n\nbreak;\ncase \x22height\x22:\nel.setAttribute(\x22height\x22,value);\n\nbreak;\ncase \x22maxlength\x22:\nel.setAttribute(\x22maxLength\x22,value);\n\nbreak;\ncase \x22role\x22:\nel.setAttribute(\x22role\x22,value);\n\nbreak;\ncase \x22rowspan\x22:\nel.setAttribute(\x22rowSpan\x22,value);\n\nbreak;\ncase \x22type\x22:\nel.setAttribute(\x22type\x22,value);\n\nbreak;\ncase \x22usemap\x22:\nel.setAttribute(\x22useMap\x22,value);\n\nbreak;\ncase \x22valign\x22:\nel.setAttribute(\x22vAlign\x22,value);\n\nbreak;\ncase \x22width\x22:\nel.setAttribute(\x22width\x22,value);\n\nbreak;\ncase \x22on\x22:\nshadow.dom.add_event_listeners(el,value);\n\nbreak;\ncase \x22style\x22:\nif((value \x3d\x3d null)){\n} else {\nif(typeof value \x3d\x3d\x3d \x27string\x27){\nel.setAttribute(\x22style\x22,value);\n} else {\nif(cljs.core.map_QMARK_(value)){\nshadow.dom.set_style(el,value);\n} else {\ngoog.style.setStyle(el,value);\n\n}\n}\n}\n\nbreak;\ndefault:\nvar ks_33224 \x3d cljs.core.name(key);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d goog.string.startsWith(ks_33224,\x22data-\x22);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn goog.string.startsWith(ks_33224,\x22aria-\x22);\n}\n})())){\nel.setAttribute(ks_33224,value);\n} else {\n(el[ks_33224] \x3d value);\n}\n\n}\n\nreturn el;\n});\nshadow.dom.set_attrs \x3d (function shadow$dom$set_attrs(el,attrs){\nreturn cljs.core.reduce_kv((function (el__$1,key,value){\nshadow.dom.set_attr_STAR_(el__$1,key,value);\n\nreturn el__$1;\n}),shadow.dom.dom_node(el),attrs);\n});\nshadow.dom.set_attr \x3d (function shadow$dom$set_attr(el,key,value){\nreturn shadow.dom.set_attr_STAR_(shadow.dom.dom_node(el),key,value);\n});\nshadow.dom.has_class_QMARK_ \x3d (function shadow$dom$has_class_QMARK_(el,cls){\nreturn goog.dom.classlist.contains(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.merge_class_string \x3d (function shadow$dom$merge_class_string(current,extra_class){\nif(cljs.core.seq(current)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(current),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(extra_class)].join(\x27\x27);\n} else {\nreturn extra_class;\n}\n});\nshadow.dom.parse_tag \x3d (function shadow$dom$parse_tag(spec){\nvar spec__$1 \x3d cljs.core.name(spec);\nvar fdot \x3d spec__$1.indexOf(\x22.\x22);\nvar fhash \x3d spec__$1.indexOf(\x22#\x22);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1,null,null], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fdot),null,clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1))),null], null);\n} else {\nif((fhash \x3e fdot)){\nthrow [\x22cant have id after class?\x22,spec__$1].join(\x27\x27);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1)),fdot),clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n\n}\n}\n}\n}\n});\nshadow.dom.create_dom_node \x3d (function shadow$dom$create_dom_node(tag_def,p__32003){\nvar map__32004 \x3d p__32003;\nvar map__32004__$1 \x3d cljs.core.__destructure_map(map__32004);\nvar props \x3d map__32004__$1;\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32004__$1,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996));\nvar tag_props \x3d ({});\nvar vec__32006 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32006,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32006,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32006,(2),null);\nif(cljs.core.truth_(tag_id)){\n(tag_props[\x22id\x22] \x3d tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\n(tag_props[\x22class\x22] \x3d shadow.dom.merge_class_string(class$,tag_classes));\n} else {\n}\n\nvar G__32013 \x3d goog.dom.createDom(tag_name,tag_props);\nshadow.dom.set_attrs(G__32013,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(props,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)));\n\nreturn G__32013;\n});\nshadow.dom.append \x3d (function shadow$dom$append(var_args){\nvar G__32019 \x3d arguments.length;\nswitch (G__32019) {\ncase 1:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nif(cljs.core.truth_(node)){\nvar temp__5804__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar n \x3d temp__5804__auto__;\ndocument.body.appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,node){\nif(cljs.core.truth_(node)){\nvar temp__5804__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar n \x3d temp__5804__auto__;\nshadow.dom.dom_node(el).appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.destructure_node \x3d (function shadow$dom$destructure_node(create_fn,p__32031){\nvar vec__32032 \x3d p__32031;\nvar seq__32033 \x3d cljs.core.seq(vec__32032);\nvar first__32034 \x3d cljs.core.first(seq__32033);\nvar seq__32033__$1 \x3d cljs.core.next(seq__32033);\nvar nn \x3d first__32034;\nvar first__32034__$1 \x3d cljs.core.first(seq__32033__$1);\nvar seq__32033__$2 \x3d cljs.core.next(seq__32033__$1);\nvar np \x3d first__32034__$1;\nvar nc \x3d seq__32033__$2;\nvar node \x3d vec__32032;\nif((nn instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid dom node\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22node\x22,\x22node\x22,581201198),node], null));\n}\n\nif((((np \x3d\x3d null)) \x26\x26 ((nc \x3d\x3d null)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__32036 \x3d nn;\nvar G__32037 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__32036,G__32037) : create_fn.call(null,G__32036,G__32037));\n})(),cljs.core.List.EMPTY], null);\n} else {\nif(cljs.core.map_QMARK_(np)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(nn,np) : create_fn.call(null,nn,np)),nc], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__32041 \x3d nn;\nvar G__32042 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__32041,G__32042) : create_fn.call(null,G__32041,G__32042));\n})(),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(nc,np)], null);\n\n}\n}\n});\nshadow.dom.make_dom_node \x3d (function shadow$dom$make_dom_node(structure){\nvar vec__32047 \x3d shadow.dom.destructure_node(shadow.dom.create_dom_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32047,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32047,(1),null);\nvar seq__32050_33243 \x3d cljs.core.seq(node_children);\nvar chunk__32051_33244 \x3d null;\nvar count__32052_33245 \x3d (0);\nvar i__32053_33246 \x3d (0);\nwhile(true){\nif((i__32053_33246 \x3c count__32052_33245)){\nvar child_struct_33249 \x3d chunk__32051_33244.cljs$core$IIndexed$_nth$arity$2(null,i__32053_33246);\nvar children_33250 \x3d shadow.dom.dom_node(child_struct_33249);\nif(cljs.core.seq_QMARK_(children_33250)){\nvar seq__32103_33252 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_33250));\nvar chunk__32105_33253 \x3d null;\nvar count__32106_33254 \x3d (0);\nvar i__32107_33255 \x3d (0);\nwhile(true){\nif((i__32107_33255 \x3c count__32106_33254)){\nvar child_33256 \x3d chunk__32105_33253.cljs$core$IIndexed$_nth$arity$2(null,i__32107_33255);\nif(cljs.core.truth_(child_33256)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_33256);\n\n\nvar G__33257 \x3d seq__32103_33252;\nvar G__33258 \x3d chunk__32105_33253;\nvar G__33259 \x3d count__32106_33254;\nvar G__33260 \x3d (i__32107_33255 + (1));\nseq__32103_33252 \x3d G__33257;\nchunk__32105_33253 \x3d G__33258;\ncount__32106_33254 \x3d G__33259;\ni__32107_33255 \x3d G__33260;\ncontinue;\n} else {\nvar G__33261 \x3d seq__32103_33252;\nvar G__33262 \x3d chunk__32105_33253;\nvar G__33263 \x3d count__32106_33254;\nvar G__33264 \x3d (i__32107_33255 + (1));\nseq__32103_33252 \x3d G__33261;\nchunk__32105_33253 \x3d G__33262;\ncount__32106_33254 \x3d G__33263;\ni__32107_33255 \x3d G__33264;\ncontinue;\n}\n} else {\nvar temp__5804__auto___33265 \x3d cljs.core.seq(seq__32103_33252);\nif(temp__5804__auto___33265){\nvar seq__32103_33266__$1 \x3d temp__5804__auto___33265;\nif(cljs.core.chunked_seq_QMARK_(seq__32103_33266__$1)){\nvar c__5548__auto___33267 \x3d cljs.core.chunk_first(seq__32103_33266__$1);\nvar G__33268 \x3d cljs.core.chunk_rest(seq__32103_33266__$1);\nvar G__33269 \x3d c__5548__auto___33267;\nvar G__33270 \x3d cljs.core.count(c__5548__auto___33267);\nvar G__33271 \x3d (0);\nseq__32103_33252 \x3d G__33268;\nchunk__32105_33253 \x3d G__33269;\ncount__32106_33254 \x3d G__33270;\ni__32107_33255 \x3d G__33271;\ncontinue;\n} else {\nvar child_33273 \x3d cljs.core.first(seq__32103_33266__$1);\nif(cljs.core.truth_(child_33273)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_33273);\n\n\nvar G__33275 \x3d cljs.core.next(seq__32103_33266__$1);\nvar G__33276 \x3d null;\nvar G__33278 \x3d (0);\nvar G__33279 \x3d (0);\nseq__32103_33252 \x3d G__33275;\nchunk__32105_33253 \x3d G__33276;\ncount__32106_33254 \x3d G__33278;\ni__32107_33255 \x3d G__33279;\ncontinue;\n} else {\nvar G__33280 \x3d cljs.core.next(seq__32103_33266__$1);\nvar G__33281 \x3d null;\nvar G__33282 \x3d (0);\nvar G__33283 \x3d (0);\nseq__32103_33252 \x3d G__33280;\nchunk__32105_33253 \x3d G__33281;\ncount__32106_33254 \x3d G__33282;\ni__32107_33255 \x3d G__33283;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_33250);\n}\n\n\nvar G__33285 \x3d seq__32050_33243;\nvar G__33286 \x3d chunk__32051_33244;\nvar G__33287 \x3d count__32052_33245;\nvar G__33288 \x3d (i__32053_33246 + (1));\nseq__32050_33243 \x3d G__33285;\nchunk__32051_33244 \x3d G__33286;\ncount__32052_33245 \x3d G__33287;\ni__32053_33246 \x3d G__33288;\ncontinue;\n} else {\nvar temp__5804__auto___33289 \x3d cljs.core.seq(seq__32050_33243);\nif(temp__5804__auto___33289){\nvar seq__32050_33291__$1 \x3d temp__5804__auto___33289;\nif(cljs.core.chunked_seq_QMARK_(seq__32050_33291__$1)){\nvar c__5548__auto___33294 \x3d cljs.core.chunk_first(seq__32050_33291__$1);\nvar G__33297 \x3d cljs.core.chunk_rest(seq__32050_33291__$1);\nvar G__33298 \x3d c__5548__auto___33294;\nvar G__33299 \x3d cljs.core.count(c__5548__auto___33294);\nvar G__33300 \x3d (0);\nseq__32050_33243 \x3d G__33297;\nchunk__32051_33244 \x3d G__33298;\ncount__32052_33245 \x3d G__33299;\ni__32053_33246 \x3d G__33300;\ncontinue;\n} else {\nvar child_struct_33301 \x3d cljs.core.first(seq__32050_33291__$1);\nvar children_33302 \x3d shadow.dom.dom_node(child_struct_33301);\nif(cljs.core.seq_QMARK_(children_33302)){\nvar seq__32116_33303 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_33302));\nvar chunk__32118_33304 \x3d null;\nvar count__32119_33305 \x3d (0);\nvar i__32120_33306 \x3d (0);\nwhile(true){\nif((i__32120_33306 \x3c count__32119_33305)){\nvar child_33311 \x3d chunk__32118_33304.cljs$core$IIndexed$_nth$arity$2(null,i__32120_33306);\nif(cljs.core.truth_(child_33311)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_33311);\n\n\nvar G__33312 \x3d seq__32116_33303;\nvar G__33313 \x3d chunk__32118_33304;\nvar G__33314 \x3d count__32119_33305;\nvar G__33315 \x3d (i__32120_33306 + (1));\nseq__32116_33303 \x3d G__33312;\nchunk__32118_33304 \x3d G__33313;\ncount__32119_33305 \x3d G__33314;\ni__32120_33306 \x3d G__33315;\ncontinue;\n} else {\nvar G__33316 \x3d seq__32116_33303;\nvar G__33317 \x3d chunk__32118_33304;\nvar G__33318 \x3d count__32119_33305;\nvar G__33319 \x3d (i__32120_33306 + (1));\nseq__32116_33303 \x3d G__33316;\nchunk__32118_33304 \x3d G__33317;\ncount__32119_33305 \x3d G__33318;\ni__32120_33306 \x3d G__33319;\ncontinue;\n}\n} else {\nvar temp__5804__auto___33320__$1 \x3d cljs.core.seq(seq__32116_33303);\nif(temp__5804__auto___33320__$1){\nvar seq__32116_33321__$1 \x3d temp__5804__auto___33320__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__32116_33321__$1)){\nvar c__5548__auto___33322 \x3d cljs.core.chunk_first(seq__32116_33321__$1);\nvar G__33323 \x3d cljs.core.chunk_rest(seq__32116_33321__$1);\nvar G__33324 \x3d c__5548__auto___33322;\nvar G__33325 \x3d cljs.core.count(c__5548__auto___33322);\nvar G__33326 \x3d (0);\nseq__32116_33303 \x3d G__33323;\nchunk__32118_33304 \x3d G__33324;\ncount__32119_33305 \x3d G__33325;\ni__32120_33306 \x3d G__33326;\ncontinue;\n} else {\nvar child_33327 \x3d cljs.core.first(seq__32116_33321__$1);\nif(cljs.core.truth_(child_33327)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_33327);\n\n\nvar G__33329 \x3d cljs.core.next(seq__32116_33321__$1);\nvar G__33330 \x3d null;\nvar G__33331 \x3d (0);\nvar G__33332 \x3d (0);\nseq__32116_33303 \x3d G__33329;\nchunk__32118_33304 \x3d G__33330;\ncount__32119_33305 \x3d G__33331;\ni__32120_33306 \x3d G__33332;\ncontinue;\n} else {\nvar G__33333 \x3d cljs.core.next(seq__32116_33321__$1);\nvar G__33334 \x3d null;\nvar G__33335 \x3d (0);\nvar G__33336 \x3d (0);\nseq__32116_33303 \x3d G__33333;\nchunk__32118_33304 \x3d G__33334;\ncount__32119_33305 \x3d G__33335;\ni__32120_33306 \x3d G__33336;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_33302);\n}\n\n\nvar G__33337 \x3d cljs.core.next(seq__32050_33291__$1);\nvar G__33338 \x3d null;\nvar G__33339 \x3d (0);\nvar G__33340 \x3d (0);\nseq__32050_33243 \x3d G__33337;\nchunk__32051_33244 \x3d G__33338;\ncount__32052_33245 \x3d G__33339;\ni__32053_33246 \x3d G__33340;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(cljs.core.Keyword.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$__$1], null));\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_dom,this$__$1);\n}));\nif(cljs.core.truth_(((typeof HTMLElement) !\x3d \x27undefined\x27))){\n(HTMLElement.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(HTMLElement.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\nif(cljs.core.truth_(((typeof DocumentFragment) !\x3d \x27undefined\x27))){\n(DocumentFragment.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(DocumentFragment.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\n/**\n * clear node children\n */\nshadow.dom.reset \x3d (function shadow$dom$reset(node){\nreturn goog.dom.removeChildren(shadow.dom.dom_node(node));\n});\nshadow.dom.remove \x3d (function shadow$dom$remove(node){\nif((((!((node \x3d\x3d null))))?(((((node.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d node.cljs$core$ISeqable$))))?true:false):false)){\nvar seq__32175 \x3d cljs.core.seq(node);\nvar chunk__32176 \x3d null;\nvar count__32177 \x3d (0);\nvar i__32178 \x3d (0);\nwhile(true){\nif((i__32178 \x3c count__32177)){\nvar n \x3d chunk__32176.cljs$core$IIndexed$_nth$arity$2(null,i__32178);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__33350 \x3d seq__32175;\nvar G__33351 \x3d chunk__32176;\nvar G__33352 \x3d count__32177;\nvar G__33353 \x3d (i__32178 + (1));\nseq__32175 \x3d G__33350;\nchunk__32176 \x3d G__33351;\ncount__32177 \x3d G__33352;\ni__32178 \x3d G__33353;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__32175);\nif(temp__5804__auto__){\nvar seq__32175__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__32175__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__32175__$1);\nvar G__33355 \x3d cljs.core.chunk_rest(seq__32175__$1);\nvar G__33356 \x3d c__5548__auto__;\nvar G__33357 \x3d cljs.core.count(c__5548__auto__);\nvar G__33358 \x3d (0);\nseq__32175 \x3d G__33355;\nchunk__32176 \x3d G__33356;\ncount__32177 \x3d G__33357;\ni__32178 \x3d G__33358;\ncontinue;\n} else {\nvar n \x3d cljs.core.first(seq__32175__$1);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__33362 \x3d cljs.core.next(seq__32175__$1);\nvar G__33363 \x3d null;\nvar G__33364 \x3d (0);\nvar G__33365 \x3d (0);\nseq__32175 \x3d G__33362;\nchunk__32176 \x3d G__33363;\ncount__32177 \x3d G__33364;\ni__32178 \x3d G__33365;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn goog.dom.removeNode(node);\n}\n});\nshadow.dom.replace_node \x3d (function shadow$dom$replace_node(old,new$){\nreturn goog.dom.replaceNode(shadow.dom.dom_node(new$),shadow.dom.dom_node(old));\n});\nshadow.dom.text \x3d (function shadow$dom$text(var_args){\nvar G__32209 \x3d arguments.length;\nswitch (G__32209) {\ncase 2:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,new_text){\nreturn (shadow.dom.dom_node(el).innerText \x3d new_text);\n}));\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.dom_node(el).innerText;\n}));\n\n(shadow.dom.text.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.check \x3d (function shadow$dom$check(var_args){\nvar G__32222 \x3d arguments.length;\nswitch (G__32222) {\ncase 1:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2(el,true);\n}));\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,checked){\nreturn (shadow.dom.dom_node(el).checked \x3d checked);\n}));\n\n(shadow.dom.check.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.checked_QMARK_ \x3d (function shadow$dom$checked_QMARK_(el){\nreturn shadow.dom.dom_node(el).checked;\n});\nshadow.dom.form_elements \x3d (function shadow$dom$form_elements(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).elements));\n});\nshadow.dom.children \x3d (function shadow$dom$children(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).children));\n});\nshadow.dom.child_nodes \x3d (function shadow$dom$child_nodes(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).childNodes));\n});\nshadow.dom.attr \x3d (function shadow$dom$attr(var_args){\nvar G__32241 \x3d arguments.length;\nswitch (G__32241) {\ncase 2:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,key){\nreturn shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\n}));\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,key,default$){\nvar or__5025__auto__ \x3d shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn default$;\n}\n}));\n\n(shadow.dom.attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.del_attr \x3d (function shadow$dom$del_attr(el,key){\nreturn shadow.dom.dom_node(el).removeAttribute(cljs.core.name(key));\n});\nshadow.dom.data \x3d (function shadow$dom$data(el,key){\nreturn shadow.dom.dom_node(el).getAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27));\n});\nshadow.dom.set_data \x3d (function shadow$dom$set_data(el,key,value){\nreturn shadow.dom.dom_node(el).setAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n});\nshadow.dom.set_html \x3d (function shadow$dom$set_html(node,text){\nreturn (shadow.dom.dom_node(node).innerHTML \x3d text);\n});\nshadow.dom.get_html \x3d (function shadow$dom$get_html(node){\nreturn shadow.dom.dom_node(node).innerHTML;\n});\nshadow.dom.fragment \x3d (function shadow$dom$fragment(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33392 \x3d arguments.length;\nvar i__5750__auto___33394 \x3d (0);\nwhile(true){\nif((i__5750__auto___33394 \x3c len__5749__auto___33392)){\nargs__5755__auto__.push((arguments[i__5750__auto___33394]));\n\nvar G__33395 \x3d (i__5750__auto___33394 + (1));\ni__5750__auto___33394 \x3d G__33395;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (nodes){\nvar fragment \x3d document.createDocumentFragment();\nvar seq__32256_33396 \x3d cljs.core.seq(nodes);\nvar chunk__32257_33397 \x3d null;\nvar count__32258_33398 \x3d (0);\nvar i__32259_33399 \x3d (0);\nwhile(true){\nif((i__32259_33399 \x3c count__32258_33398)){\nvar node_33400 \x3d chunk__32257_33397.cljs$core$IIndexed$_nth$arity$2(null,i__32259_33399);\nfragment.appendChild(shadow.dom._to_dom(node_33400));\n\n\nvar G__33401 \x3d seq__32256_33396;\nvar G__33402 \x3d chunk__32257_33397;\nvar G__33403 \x3d count__32258_33398;\nvar G__33404 \x3d (i__32259_33399 + (1));\nseq__32256_33396 \x3d G__33401;\nchunk__32257_33397 \x3d G__33402;\ncount__32258_33398 \x3d G__33403;\ni__32259_33399 \x3d G__33404;\ncontinue;\n} else {\nvar temp__5804__auto___33405 \x3d cljs.core.seq(seq__32256_33396);\nif(temp__5804__auto___33405){\nvar seq__32256_33407__$1 \x3d temp__5804__auto___33405;\nif(cljs.core.chunked_seq_QMARK_(seq__32256_33407__$1)){\nvar c__5548__auto___33408 \x3d cljs.core.chunk_first(seq__32256_33407__$1);\nvar G__33410 \x3d cljs.core.chunk_rest(seq__32256_33407__$1);\nvar G__33411 \x3d c__5548__auto___33408;\nvar G__33412 \x3d cljs.core.count(c__5548__auto___33408);\nvar G__33413 \x3d (0);\nseq__32256_33396 \x3d G__33410;\nchunk__32257_33397 \x3d G__33411;\ncount__32258_33398 \x3d G__33412;\ni__32259_33399 \x3d G__33413;\ncontinue;\n} else {\nvar node_33414 \x3d cljs.core.first(seq__32256_33407__$1);\nfragment.appendChild(shadow.dom._to_dom(node_33414));\n\n\nvar G__33415 \x3d cljs.core.next(seq__32256_33407__$1);\nvar G__33416 \x3d null;\nvar G__33417 \x3d (0);\nvar G__33418 \x3d (0);\nseq__32256_33396 \x3d G__33415;\nchunk__32257_33397 \x3d G__33416;\ncount__32258_33398 \x3d G__33417;\ni__32259_33399 \x3d G__33418;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (new shadow.dom.NativeColl(fragment));\n}));\n\n(shadow.dom.fragment.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.dom.fragment.cljs$lang$applyTo \x3d (function (seq32251){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32251));\n}));\n\n/**\n * given a html string, eval all \x3cscript\x3e tags and return the html without the scripts\n * don\x27t do this for everything, only content you trust.\n */\nshadow.dom.eval_scripts \x3d (function shadow$dom$eval_scripts(s){\nvar scripts \x3d cljs.core.re_seq(/\x3cscript[^\x3e]*?\x3e(.+?)\x3c\\/script\x3e/,s);\nvar seq__32273_33425 \x3d cljs.core.seq(scripts);\nvar chunk__32274_33426 \x3d null;\nvar count__32275_33428 \x3d (0);\nvar i__32276_33429 \x3d (0);\nwhile(true){\nif((i__32276_33429 \x3c count__32275_33428)){\nvar vec__32299_33430 \x3d chunk__32274_33426.cljs$core$IIndexed$_nth$arity$2(null,i__32276_33429);\nvar script_tag_33431 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32299_33430,(0),null);\nvar script_body_33432 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32299_33430,(1),null);\neval(script_body_33432);\n\n\nvar G__33435 \x3d seq__32273_33425;\nvar G__33436 \x3d chunk__32274_33426;\nvar G__33437 \x3d count__32275_33428;\nvar G__33438 \x3d (i__32276_33429 + (1));\nseq__32273_33425 \x3d G__33435;\nchunk__32274_33426 \x3d G__33436;\ncount__32275_33428 \x3d G__33437;\ni__32276_33429 \x3d G__33438;\ncontinue;\n} else {\nvar temp__5804__auto___33439 \x3d cljs.core.seq(seq__32273_33425);\nif(temp__5804__auto___33439){\nvar seq__32273_33440__$1 \x3d temp__5804__auto___33439;\nif(cljs.core.chunked_seq_QMARK_(seq__32273_33440__$1)){\nvar c__5548__auto___33441 \x3d cljs.core.chunk_first(seq__32273_33440__$1);\nvar G__33442 \x3d cljs.core.chunk_rest(seq__32273_33440__$1);\nvar G__33443 \x3d c__5548__auto___33441;\nvar G__33444 \x3d cljs.core.count(c__5548__auto___33441);\nvar G__33445 \x3d (0);\nseq__32273_33425 \x3d G__33442;\nchunk__32274_33426 \x3d G__33443;\ncount__32275_33428 \x3d G__33444;\ni__32276_33429 \x3d G__33445;\ncontinue;\n} else {\nvar vec__32315_33446 \x3d cljs.core.first(seq__32273_33440__$1);\nvar script_tag_33447 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32315_33446,(0),null);\nvar script_body_33448 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32315_33446,(1),null);\neval(script_body_33448);\n\n\nvar G__33450 \x3d cljs.core.next(seq__32273_33440__$1);\nvar G__33451 \x3d null;\nvar G__33452 \x3d (0);\nvar G__33453 \x3d (0);\nseq__32273_33425 \x3d G__33450;\nchunk__32274_33426 \x3d G__33451;\ncount__32275_33428 \x3d G__33452;\ni__32276_33429 \x3d G__33453;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s__$1,p__32319){\nvar vec__32320 \x3d p__32319;\nvar script_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32320,(0),null);\nvar script_body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32320,(1),null);\nreturn clojure.string.replace(s__$1,script_tag,\x22\x22);\n}),s,scripts);\n});\nshadow.dom.str__GT_fragment \x3d (function shadow$dom$str__GT_fragment(s){\nvar el \x3d document.createElement(\x22div\x22);\n(el.innerHTML \x3d s);\n\nreturn (new shadow.dom.NativeColl(goog.dom.childrenToNode_(document,el)));\n});\nshadow.dom.node_name \x3d (function shadow$dom$node_name(el){\nreturn shadow.dom.dom_node(el).nodeName;\n});\nshadow.dom.ancestor_by_class \x3d (function shadow$dom$ancestor_by_class(el,cls){\nreturn goog.dom.getAncestorByClass(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.ancestor_by_tag \x3d (function shadow$dom$ancestor_by_tag(var_args){\nvar G__32334 \x3d arguments.length;\nswitch (G__32334) {\ncase 2:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,tag){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,tag,cls){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag),cljs.core.name(cls));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.get_value \x3d (function shadow$dom$get_value(dom){\nreturn goog.dom.forms.getValue(shadow.dom.dom_node(dom));\n});\nshadow.dom.set_value \x3d (function shadow$dom$set_value(dom,value){\nreturn goog.dom.forms.setValue(shadow.dom.dom_node(dom),value);\n});\nshadow.dom.px \x3d (function shadow$dom$px(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((value | (0))),\x22px\x22].join(\x27\x27);\n});\nshadow.dom.pct \x3d (function shadow$dom$pct(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(value),\x22%\x22].join(\x27\x27);\n});\nshadow.dom.remove_style_STAR_ \x3d (function shadow$dom$remove_style_STAR_(el,style){\nreturn el.style.removeProperty(cljs.core.name(style));\n});\nshadow.dom.remove_style \x3d (function shadow$dom$remove_style(el,style){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nreturn shadow.dom.remove_style_STAR_(el__$1,style);\n});\nshadow.dom.remove_styles \x3d (function shadow$dom$remove_styles(el,style_keys){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar seq__32342 \x3d cljs.core.seq(style_keys);\nvar chunk__32343 \x3d null;\nvar count__32344 \x3d (0);\nvar i__32345 \x3d (0);\nwhile(true){\nif((i__32345 \x3c count__32344)){\nvar it \x3d chunk__32343.cljs$core$IIndexed$_nth$arity$2(null,i__32345);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__33466 \x3d seq__32342;\nvar G__33467 \x3d chunk__32343;\nvar G__33468 \x3d count__32344;\nvar G__33469 \x3d (i__32345 + (1));\nseq__32342 \x3d G__33466;\nchunk__32343 \x3d G__33467;\ncount__32344 \x3d G__33468;\ni__32345 \x3d G__33469;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__32342);\nif(temp__5804__auto__){\nvar seq__32342__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__32342__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__32342__$1);\nvar G__33474 \x3d cljs.core.chunk_rest(seq__32342__$1);\nvar G__33475 \x3d c__5548__auto__;\nvar G__33476 \x3d cljs.core.count(c__5548__auto__);\nvar G__33477 \x3d (0);\nseq__32342 \x3d G__33474;\nchunk__32343 \x3d G__33475;\ncount__32344 \x3d G__33476;\ni__32345 \x3d G__33477;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__32342__$1);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__33479 \x3d cljs.core.next(seq__32342__$1);\nvar G__33480 \x3d null;\nvar G__33481 \x3d (0);\nvar G__33482 \x3d (0);\nseq__32342 \x3d G__33479;\nchunk__32343 \x3d G__33480;\ncount__32344 \x3d G__33481;\ni__32345 \x3d G__33482;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Coordinate \x3d (function (x,y,__meta,__extmap,__hash){\nthis.x \x3d x;\nthis.y \x3d y;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k32354,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__32363 \x3d k32354;\nvar G__32363__$1 \x3d (((G__32363 instanceof cljs.core.Keyword))?G__32363.fqn:null);\nswitch (G__32363__$1) {\ncase \x22x\x22:\nreturn self__.x;\n\nbreak;\ncase \x22y\x22:\nreturn self__.y;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k32354,else__5326__auto__);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__32368){\nvar vec__32373 \x3d p__32368;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32373,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32373,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.dom.Coordinate{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__32353){\nvar self__ \x3d this;\nvar G__32353__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__32353__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (145542109 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this32355,other32356){\nvar self__ \x3d this;\nvar this32355__$1 \x3d this;\nreturn (((!((other32356 \x3d\x3d null)))) \x26\x26 ((((this32355__$1.constructor \x3d\x3d\x3d other32356.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32355__$1.x,other32356.x)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32355__$1.y,other32356.y)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32355__$1.__extmap,other32356.__extmap)))))))));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k32354){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__32418 \x3d k32354;\nvar G__32418__$1 \x3d (((G__32418 instanceof cljs.core.Keyword))?G__32418.fqn:null);\nswitch (G__32418__$1) {\ncase \x22x\x22:\ncase \x22y\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k32354);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__32353){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__32452 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__32453 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__32452.cljs$core$IFn$_invoke$arity$2 ? pred__32452.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__32453) : pred__32452.call(null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__32453)))){\nreturn (new shadow.dom.Coordinate(G__32353,self__.y,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__32452.cljs$core$IFn$_invoke$arity$2 ? pred__32452.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__32453) : pred__32452.call(null,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__32453)))){\nreturn (new shadow.dom.Coordinate(self__.x,G__32353,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__32353),null));\n}\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__32353){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,G__32353,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.dom.Coordinate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22y\x22,\x22y\x22,-117328249,null)], null);\n}));\n\n(shadow.dom.Coordinate.cljs$lang$type \x3d true);\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Coordinate\x22,null,(1),null));\n}));\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.dom/Coordinate\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Coordinate.\n */\nshadow.dom.__GT_Coordinate \x3d (function shadow$dom$__GT_Coordinate(x,y){\nreturn (new shadow.dom.Coordinate(x,y,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Coordinate, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Coordinate \x3d (function shadow$dom$map__GT_Coordinate(G__32358){\nvar extmap__5365__auto__ \x3d (function (){var G__32483 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__32358,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], 0));\nif(cljs.core.record_QMARK_(G__32358)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__32483);\n} else {\nreturn G__32483;\n}\n})();\nreturn (new shadow.dom.Coordinate(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(G__32358),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(G__32358),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nshadow.dom.get_position \x3d (function shadow$dom$get_position(el){\nvar pos \x3d goog.style.getPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_client_position \x3d (function shadow$dom$get_client_position(el){\nvar pos \x3d goog.style.getClientPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_page_offset \x3d (function shadow$dom$get_page_offset(el){\nvar pos \x3d goog.style.getPageOffset(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Size \x3d (function (w,h,__meta,__extmap,__hash){\nthis.w \x3d w;\nthis.h \x3d h;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k32523,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__32535 \x3d k32523;\nvar G__32535__$1 \x3d (((G__32535 instanceof cljs.core.Keyword))?G__32535.fqn:null);\nswitch (G__32535__$1) {\ncase \x22w\x22:\nreturn self__.w;\n\nbreak;\ncase \x22h\x22:\nreturn self__.h;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k32523,else__5326__auto__);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__32550){\nvar vec__32552 \x3d p__32550;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32552,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32552,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.dom.Size{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__32522){\nvar self__ \x3d this;\nvar G__32522__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__32522__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-1228019642 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this32524,other32525){\nvar self__ \x3d this;\nvar this32524__$1 \x3d this;\nreturn (((!((other32525 \x3d\x3d null)))) \x26\x26 ((((this32524__$1.constructor \x3d\x3d\x3d other32525.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32524__$1.w,other32525.w)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32524__$1.h,other32525.h)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32524__$1.__extmap,other32525.__extmap)))))))));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k32523){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__32679 \x3d k32523;\nvar G__32679__$1 \x3d (((G__32679 instanceof cljs.core.Keyword))?G__32679.fqn:null);\nswitch (G__32679__$1) {\ncase \x22w\x22:\ncase \x22h\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k32523);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__32522){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__32694 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__32695 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__32694.cljs$core$IFn$_invoke$arity$2 ? pred__32694.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__32695) : pred__32694.call(null,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__32695)))){\nreturn (new shadow.dom.Size(G__32522,self__.h,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__32694.cljs$core$IFn$_invoke$arity$2 ? pred__32694.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__32695) : pred__32694.call(null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__32695)))){\nreturn (new shadow.dom.Size(self__.w,G__32522,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__32522),null));\n}\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__32522){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,G__32522,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.dom.Size.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22w\x22,\x22w\x22,1994700528,null),new cljs.core.Symbol(null,\x22h\x22,\x22h\x22,-1544777029,null)], null);\n}));\n\n(shadow.dom.Size.cljs$lang$type \x3d true);\n\n(shadow.dom.Size.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Size\x22,null,(1),null));\n}));\n\n(shadow.dom.Size.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.dom/Size\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Size.\n */\nshadow.dom.__GT_Size \x3d (function shadow$dom$__GT_Size(w,h){\nreturn (new shadow.dom.Size(w,h,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Size, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Size \x3d (function shadow$dom$map__GT_Size(G__32528){\nvar extmap__5365__auto__ \x3d (function (){var G__32750 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__32528,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], 0));\nif(cljs.core.record_QMARK_(G__32528)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__32750);\n} else {\nreturn G__32750;\n}\n})();\nreturn (new shadow.dom.Size(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(G__32528),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740).cljs$core$IFn$_invoke$arity$1(G__32528),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nshadow.dom.size__GT_clj \x3d (function shadow$dom$size__GT_clj(size){\nreturn (new shadow.dom.Size(size.width,size.height,null,null,null));\n});\nshadow.dom.get_size \x3d (function shadow$dom$get_size(el){\nreturn shadow.dom.size__GT_clj(goog.style.getSize(shadow.dom.dom_node(el)));\n});\nshadow.dom.get_height \x3d (function shadow$dom$get_height(el){\nreturn shadow.dom.get_size(el).h;\n});\nshadow.dom.get_viewport_size \x3d (function shadow$dom$get_viewport_size(){\nreturn shadow.dom.size__GT_clj(goog.dom.getViewportSize());\n});\nshadow.dom.first_child \x3d (function shadow$dom$first_child(el){\nreturn (shadow.dom.dom_node(el).children[(0)]);\n});\nshadow.dom.select_option_values \x3d (function shadow$dom$select_option_values(el){\nvar native$ \x3d shadow.dom.dom_node(el);\nvar opts \x3d (native$[\x22options\x22]);\nvar a__5613__auto__ \x3d opts;\nvar l__5614__auto__ \x3d a__5613__auto__.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((i \x3c l__5614__auto__)){\nvar G__33572 \x3d (i + (1));\nvar G__33573 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(opts[i][\x22value\x22]));\ni \x3d G__33572;\nret \x3d G__33573;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nshadow.dom.build_url \x3d (function shadow$dom$build_url(path,query_params){\nif(cljs.core.empty_QMARK_(query_params)){\nreturn path;\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22?\x22,clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x26\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__32844){\nvar vec__32845 \x3d p__32844;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32845,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32845,(1),null);\nreturn [cljs.core.name(k),\x22\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(encodeURIComponent(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v)))].join(\x27\x27);\n}),query_params))].join(\x27\x27);\n}\n});\nshadow.dom.redirect \x3d (function shadow$dom$redirect(var_args){\nvar G__32850 \x3d arguments.length;\nswitch (G__32850) {\ncase 1:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1 \x3d (function (path){\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2(path,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2 \x3d (function (path,query_params){\nreturn (document[\x22location\x22][\x22href\x22] \x3d shadow.dom.build_url(path,query_params));\n}));\n\n(shadow.dom.redirect.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.reload_BANG_ \x3d (function shadow$dom$reload_BANG_(){\nreturn (document.location.href \x3d document.location.href);\n});\nshadow.dom.tag_name \x3d (function shadow$dom$tag_name(el){\nvar dom \x3d shadow.dom.dom_node(el);\nreturn dom.tagName;\n});\nshadow.dom.insert_after \x3d (function shadow$dom$insert_after(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingAfter(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_before \x3d (function shadow$dom$insert_before(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingBefore(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_first \x3d (function shadow$dom$insert_first(ref,new$){\nvar temp__5802__auto__ \x3d shadow.dom.dom_node(ref).firstChild;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar child \x3d temp__5802__auto__;\nreturn shadow.dom.insert_before(child,new$);\n} else {\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(ref,new$);\n}\n});\nshadow.dom.index_of \x3d (function shadow$dom$index_of(el){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar i \x3d (0);\nwhile(true){\nvar ps \x3d el__$1.previousSibling;\nif((ps \x3d\x3d null)){\nreturn i;\n} else {\nvar G__33601 \x3d ps;\nvar G__33602 \x3d (i + (1));\nel__$1 \x3d G__33601;\ni \x3d G__33602;\ncontinue;\n}\nbreak;\n}\n});\nshadow.dom.get_parent \x3d (function shadow$dom$get_parent(el){\nreturn goog.dom.getParentElement(shadow.dom.dom_node(el));\n});\nshadow.dom.parents \x3d (function shadow$dom$parents(el){\nvar parent \x3d shadow.dom.get_parent(el);\nif(cljs.core.truth_(parent)){\nreturn cljs.core.cons(parent,(new cljs.core.LazySeq(null,(function (){\nreturn (shadow.dom.parents.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.parents.cljs$core$IFn$_invoke$arity$1(parent) : shadow.dom.parents.call(null,parent));\n}),null,null)));\n} else {\nreturn null;\n}\n});\nshadow.dom.matches \x3d (function shadow$dom$matches(el,sel){\nreturn shadow.dom.dom_node(el).matches(sel);\n});\nshadow.dom.get_next_sibling \x3d (function shadow$dom$get_next_sibling(el){\nreturn goog.dom.getNextElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.get_previous_sibling \x3d (function shadow$dom$get_previous_sibling(el){\nreturn goog.dom.getPreviousElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.xmlns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [\x22svg\x22,\x22http://www.w3.org/2000/svg\x22,\x22xlink\x22,\x22http://www.w3.org/1999/xlink\x22], null));\nshadow.dom.create_svg_node \x3d (function shadow$dom$create_svg_node(tag_def,props){\nvar vec__32922 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32922,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32922,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32922,(2),null);\nvar el \x3d document.createElementNS(\x22http://www.w3.org/2000/svg\x22,tag_name);\nif(cljs.core.truth_(tag_id)){\nel.setAttribute(\x22id\x22,tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\nel.setAttribute(\x22class\x22,shadow.dom.merge_class_string(new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(props),tag_classes));\n} else {\n}\n\nvar seq__32928_33615 \x3d cljs.core.seq(props);\nvar chunk__32929_33616 \x3d null;\nvar count__32930_33617 \x3d (0);\nvar i__32931_33618 \x3d (0);\nwhile(true){\nif((i__32931_33618 \x3c count__32930_33617)){\nvar vec__32944_33620 \x3d chunk__32929_33616.cljs$core$IIndexed$_nth$arity$2(null,i__32931_33618);\nvar k_33621 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32944_33620,(0),null);\nvar v_33622 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32944_33620,(1),null);\nel.setAttributeNS((function (){var temp__5804__auto__ \x3d cljs.core.namespace(k_33621);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_33621),v_33622);\n\n\nvar G__33625 \x3d seq__32928_33615;\nvar G__33626 \x3d chunk__32929_33616;\nvar G__33627 \x3d count__32930_33617;\nvar G__33628 \x3d (i__32931_33618 + (1));\nseq__32928_33615 \x3d G__33625;\nchunk__32929_33616 \x3d G__33626;\ncount__32930_33617 \x3d G__33627;\ni__32931_33618 \x3d G__33628;\ncontinue;\n} else {\nvar temp__5804__auto___33629 \x3d cljs.core.seq(seq__32928_33615);\nif(temp__5804__auto___33629){\nvar seq__32928_33630__$1 \x3d temp__5804__auto___33629;\nif(cljs.core.chunked_seq_QMARK_(seq__32928_33630__$1)){\nvar c__5548__auto___33632 \x3d cljs.core.chunk_first(seq__32928_33630__$1);\nvar G__33634 \x3d cljs.core.chunk_rest(seq__32928_33630__$1);\nvar G__33635 \x3d c__5548__auto___33632;\nvar G__33636 \x3d cljs.core.count(c__5548__auto___33632);\nvar G__33638 \x3d (0);\nseq__32928_33615 \x3d G__33634;\nchunk__32929_33616 \x3d G__33635;\ncount__32930_33617 \x3d G__33636;\ni__32931_33618 \x3d G__33638;\ncontinue;\n} else {\nvar vec__32968_33639 \x3d cljs.core.first(seq__32928_33630__$1);\nvar k_33640 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32968_33639,(0),null);\nvar v_33641 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32968_33639,(1),null);\nel.setAttributeNS((function (){var temp__5804__auto____$1 \x3d cljs.core.namespace(k_33640);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar ns \x3d temp__5804__auto____$1;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_33640),v_33641);\n\n\nvar G__33643 \x3d cljs.core.next(seq__32928_33630__$1);\nvar G__33644 \x3d null;\nvar G__33645 \x3d (0);\nvar G__33646 \x3d (0);\nseq__32928_33615 \x3d G__33643;\nchunk__32929_33616 \x3d G__33644;\ncount__32930_33617 \x3d G__33645;\ni__32931_33618 \x3d G__33646;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn el;\n});\nshadow.dom.svg_node \x3d (function shadow$dom$svg_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$SVGElement$))))?true:false):false)){\nreturn el.shadow$dom$SVGElement$_to_svg$arity$1(null);\n} else {\nreturn el;\n\n}\n}\n});\nshadow.dom.make_svg_node \x3d (function shadow$dom$make_svg_node(structure){\nvar vec__32996 \x3d shadow.dom.destructure_node(shadow.dom.create_svg_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32996,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32996,(1),null);\nvar seq__32999_33651 \x3d cljs.core.seq(node_children);\nvar chunk__33002_33652 \x3d null;\nvar count__33003_33653 \x3d (0);\nvar i__33004_33654 \x3d (0);\nwhile(true){\nif((i__33004_33654 \x3c count__33003_33653)){\nvar child_struct_33657 \x3d chunk__33002_33652.cljs$core$IIndexed$_nth$arity$2(null,i__33004_33654);\nif((!((child_struct_33657 \x3d\x3d null)))){\nif(typeof child_struct_33657 \x3d\x3d\x3d \x27string\x27){\nvar text_33659 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_33659),child_struct_33657].join(\x27\x27));\n} else {\nvar children_33660 \x3d shadow.dom.svg_node(child_struct_33657);\nif(cljs.core.seq_QMARK_(children_33660)){\nvar seq__33066_33661 \x3d cljs.core.seq(children_33660);\nvar chunk__33068_33662 \x3d null;\nvar count__33069_33663 \x3d (0);\nvar i__33070_33664 \x3d (0);\nwhile(true){\nif((i__33070_33664 \x3c count__33069_33663)){\nvar child_33667 \x3d chunk__33068_33662.cljs$core$IIndexed$_nth$arity$2(null,i__33070_33664);\nif(cljs.core.truth_(child_33667)){\nnode.appendChild(child_33667);\n\n\nvar G__33668 \x3d seq__33066_33661;\nvar G__33669 \x3d chunk__33068_33662;\nvar G__33670 \x3d count__33069_33663;\nvar G__33671 \x3d (i__33070_33664 + (1));\nseq__33066_33661 \x3d G__33668;\nchunk__33068_33662 \x3d G__33669;\ncount__33069_33663 \x3d G__33670;\ni__33070_33664 \x3d G__33671;\ncontinue;\n} else {\nvar G__33672 \x3d seq__33066_33661;\nvar G__33673 \x3d chunk__33068_33662;\nvar G__33674 \x3d count__33069_33663;\nvar G__33675 \x3d (i__33070_33664 + (1));\nseq__33066_33661 \x3d G__33672;\nchunk__33068_33662 \x3d G__33673;\ncount__33069_33663 \x3d G__33674;\ni__33070_33664 \x3d G__33675;\ncontinue;\n}\n} else {\nvar temp__5804__auto___33676 \x3d cljs.core.seq(seq__33066_33661);\nif(temp__5804__auto___33676){\nvar seq__33066_33677__$1 \x3d temp__5804__auto___33676;\nif(cljs.core.chunked_seq_QMARK_(seq__33066_33677__$1)){\nvar c__5548__auto___33679 \x3d cljs.core.chunk_first(seq__33066_33677__$1);\nvar G__33681 \x3d cljs.core.chunk_rest(seq__33066_33677__$1);\nvar G__33682 \x3d c__5548__auto___33679;\nvar G__33683 \x3d cljs.core.count(c__5548__auto___33679);\nvar G__33684 \x3d (0);\nseq__33066_33661 \x3d G__33681;\nchunk__33068_33662 \x3d G__33682;\ncount__33069_33663 \x3d G__33683;\ni__33070_33664 \x3d G__33684;\ncontinue;\n} else {\nvar child_33685 \x3d cljs.core.first(seq__33066_33677__$1);\nif(cljs.core.truth_(child_33685)){\nnode.appendChild(child_33685);\n\n\nvar G__33687 \x3d cljs.core.next(seq__33066_33677__$1);\nvar G__33688 \x3d null;\nvar G__33689 \x3d (0);\nvar G__33690 \x3d (0);\nseq__33066_33661 \x3d G__33687;\nchunk__33068_33662 \x3d G__33688;\ncount__33069_33663 \x3d G__33689;\ni__33070_33664 \x3d G__33690;\ncontinue;\n} else {\nvar G__33692 \x3d cljs.core.next(seq__33066_33677__$1);\nvar G__33693 \x3d null;\nvar G__33694 \x3d (0);\nvar G__33695 \x3d (0);\nseq__33066_33661 \x3d G__33692;\nchunk__33068_33662 \x3d G__33693;\ncount__33069_33663 \x3d G__33694;\ni__33070_33664 \x3d G__33695;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_33660);\n}\n}\n\n\nvar G__33696 \x3d seq__32999_33651;\nvar G__33697 \x3d chunk__33002_33652;\nvar G__33698 \x3d count__33003_33653;\nvar G__33699 \x3d (i__33004_33654 + (1));\nseq__32999_33651 \x3d G__33696;\nchunk__33002_33652 \x3d G__33697;\ncount__33003_33653 \x3d G__33698;\ni__33004_33654 \x3d G__33699;\ncontinue;\n} else {\nvar G__33701 \x3d seq__32999_33651;\nvar G__33702 \x3d chunk__33002_33652;\nvar G__33703 \x3d count__33003_33653;\nvar G__33704 \x3d (i__33004_33654 + (1));\nseq__32999_33651 \x3d G__33701;\nchunk__33002_33652 \x3d G__33702;\ncount__33003_33653 \x3d G__33703;\ni__33004_33654 \x3d G__33704;\ncontinue;\n}\n} else {\nvar temp__5804__auto___33706 \x3d cljs.core.seq(seq__32999_33651);\nif(temp__5804__auto___33706){\nvar seq__32999_33707__$1 \x3d temp__5804__auto___33706;\nif(cljs.core.chunked_seq_QMARK_(seq__32999_33707__$1)){\nvar c__5548__auto___33708 \x3d cljs.core.chunk_first(seq__32999_33707__$1);\nvar G__33709 \x3d cljs.core.chunk_rest(seq__32999_33707__$1);\nvar G__33710 \x3d c__5548__auto___33708;\nvar G__33711 \x3d cljs.core.count(c__5548__auto___33708);\nvar G__33712 \x3d (0);\nseq__32999_33651 \x3d G__33709;\nchunk__33002_33652 \x3d G__33710;\ncount__33003_33653 \x3d G__33711;\ni__33004_33654 \x3d G__33712;\ncontinue;\n} else {\nvar child_struct_33714 \x3d cljs.core.first(seq__32999_33707__$1);\nif((!((child_struct_33714 \x3d\x3d null)))){\nif(typeof child_struct_33714 \x3d\x3d\x3d \x27string\x27){\nvar text_33716 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_33716),child_struct_33714].join(\x27\x27));\n} else {\nvar children_33720 \x3d shadow.dom.svg_node(child_struct_33714);\nif(cljs.core.seq_QMARK_(children_33720)){\nvar seq__33106_33721 \x3d cljs.core.seq(children_33720);\nvar chunk__33108_33722 \x3d null;\nvar count__33109_33723 \x3d (0);\nvar i__33110_33724 \x3d (0);\nwhile(true){\nif((i__33110_33724 \x3c count__33109_33723)){\nvar child_33726 \x3d chunk__33108_33722.cljs$core$IIndexed$_nth$arity$2(null,i__33110_33724);\nif(cljs.core.truth_(child_33726)){\nnode.appendChild(child_33726);\n\n\nvar G__33727 \x3d seq__33106_33721;\nvar G__33728 \x3d chunk__33108_33722;\nvar G__33729 \x3d count__33109_33723;\nvar G__33730 \x3d (i__33110_33724 + (1));\nseq__33106_33721 \x3d G__33727;\nchunk__33108_33722 \x3d G__33728;\ncount__33109_33723 \x3d G__33729;\ni__33110_33724 \x3d G__33730;\ncontinue;\n} else {\nvar G__33731 \x3d seq__33106_33721;\nvar G__33732 \x3d chunk__33108_33722;\nvar G__33733 \x3d count__33109_33723;\nvar G__33734 \x3d (i__33110_33724 + (1));\nseq__33106_33721 \x3d G__33731;\nchunk__33108_33722 \x3d G__33732;\ncount__33109_33723 \x3d G__33733;\ni__33110_33724 \x3d G__33734;\ncontinue;\n}\n} else {\nvar temp__5804__auto___33736__$1 \x3d cljs.core.seq(seq__33106_33721);\nif(temp__5804__auto___33736__$1){\nvar seq__33106_33737__$1 \x3d temp__5804__auto___33736__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__33106_33737__$1)){\nvar c__5548__auto___33738 \x3d cljs.core.chunk_first(seq__33106_33737__$1);\nvar G__33743 \x3d cljs.core.chunk_rest(seq__33106_33737__$1);\nvar G__33744 \x3d c__5548__auto___33738;\nvar G__33745 \x3d cljs.core.count(c__5548__auto___33738);\nvar G__33746 \x3d (0);\nseq__33106_33721 \x3d G__33743;\nchunk__33108_33722 \x3d G__33744;\ncount__33109_33723 \x3d G__33745;\ni__33110_33724 \x3d G__33746;\ncontinue;\n} else {\nvar child_33747 \x3d cljs.core.first(seq__33106_33737__$1);\nif(cljs.core.truth_(child_33747)){\nnode.appendChild(child_33747);\n\n\nvar G__33751 \x3d cljs.core.next(seq__33106_33737__$1);\nvar G__33752 \x3d null;\nvar G__33753 \x3d (0);\nvar G__33754 \x3d (0);\nseq__33106_33721 \x3d G__33751;\nchunk__33108_33722 \x3d G__33752;\ncount__33109_33723 \x3d G__33753;\ni__33110_33724 \x3d G__33754;\ncontinue;\n} else {\nvar G__33758 \x3d cljs.core.next(seq__33106_33737__$1);\nvar G__33759 \x3d null;\nvar G__33760 \x3d (0);\nvar G__33761 \x3d (0);\nseq__33106_33721 \x3d G__33758;\nchunk__33108_33722 \x3d G__33759;\ncount__33109_33723 \x3d G__33760;\ni__33110_33724 \x3d G__33761;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_33720);\n}\n}\n\n\nvar G__33762 \x3d cljs.core.next(seq__32999_33707__$1);\nvar G__33763 \x3d null;\nvar G__33764 \x3d (0);\nvar G__33765 \x3d (0);\nseq__32999_33651 \x3d G__33762;\nchunk__33002_33652 \x3d G__33763;\ncount__33003_33653 \x3d G__33764;\ni__33004_33654 \x3d G__33765;\ncontinue;\n} else {\nvar G__33767 \x3d cljs.core.next(seq__32999_33707__$1);\nvar G__33768 \x3d null;\nvar G__33769 \x3d (0);\nvar G__33770 \x3d (0);\nseq__32999_33651 \x3d G__33767;\nchunk__33002_33652 \x3d G__33768;\ncount__33003_33653 \x3d G__33769;\ni__33004_33654 \x3d G__33770;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(shadow.dom.SVGElement[\x22string\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22string\x22] \x3d (function (this$){\nif((this$ instanceof cljs.core.Keyword)){\nreturn shadow.dom.make_svg_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$], null));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22strings cannot be in svgs\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22this\x22,\x22this\x22,-611633625),this$], null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_svg_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_svg,this$__$1);\n}));\n\n(shadow.dom.SVGElement[\x22null\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\nshadow.dom.svg \x3d (function shadow$dom$svg(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33772 \x3d arguments.length;\nvar i__5750__auto___33773 \x3d (0);\nwhile(true){\nif((i__5750__auto___33773 \x3c len__5749__auto___33772)){\nargs__5755__auto__.push((arguments[i__5750__auto___33773]));\n\nvar G__33775 \x3d (i__5750__auto___33773 + (1));\ni__5750__auto___33773 \x3d G__33775;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (attrs,children){\nreturn shadow.dom._to_svg(cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22svg\x22,\x22svg\x22,856789142),attrs], null),children)));\n}));\n\n(shadow.dom.svg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.dom.svg.cljs$lang$applyTo \x3d (function (seq33122){\nvar G__33123 \x3d cljs.core.first(seq33122);\nvar seq33122__$1 \x3d cljs.core.next(seq33122);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__33123,seq33122__$1);\n}));\n\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.protocols.js", true, "goog.provide(\x27cljs.core.async.impl.protocols\x27);\ncljs.core.async.impl.protocols.MAX_QUEUE_SIZE \x3d (1024);\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.ReadPort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_31953 \x3d (function (port,fn1_handler){\nvar x__5373__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5374__auto__.call(null,port,fn1_handler));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5372__auto__.call(null,port,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22ReadPort.take!\x22,port);\n}\n}\n});\n/**\n * derefable val if taken, nil if take was enqueued\n */\ncljs.core.async.impl.protocols.take_BANG_ \x3d (function cljs$core$async$impl$protocols$take_BANG_(port,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(port,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_31953(port,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.WritePort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_31965 \x3d (function (port,val,fn1_handler){\nvar x__5373__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5374__auto__.call(null,port,val,fn1_handler));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5372__auto__.call(null,port,val,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22WritePort.put!\x22,port);\n}\n}\n});\n/**\n * derefable boolean (false if already closed) if handled, nil if put was enqueued.\n *                             Must throw on nil val.\n */\ncljs.core.async.impl.protocols.put_BANG_ \x3d (function cljs$core$async$impl$protocols$put_BANG_(port,val,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(port,val,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_31965(port,val,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Channel \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_31972 \x3d (function (chan){\nvar x__5373__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5374__auto__.call(null,chan));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5372__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.close!\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.close_BANG_ \x3d (function cljs$core$async$impl$protocols$close_BANG_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_31972(chan);\n}\n});\n\nvar cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_31976 \x3d (function (chan){\nvar x__5373__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5374__auto__.call(null,chan));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5372__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.closed?\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.closed_QMARK_ \x3d (function cljs$core$async$impl$protocols$closed_QMARK_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_31976(chan);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Handler \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_31979 \x3d (function (h){\nvar x__5373__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5374__auto__.call(null,h));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5372__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.active?\x22,h);\n}\n}\n});\n/**\n * returns true if has callback. Must work w/o lock\n */\ncljs.core.async.impl.protocols.active_QMARK_ \x3d (function cljs$core$async$impl$protocols$active_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_31979(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_31980 \x3d (function (h){\nvar x__5373__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5374__auto__.call(null,h));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5372__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.blockable?\x22,h);\n}\n}\n});\n/**\n * returns true if this handler may be blocked, otherwise it must not block\n */\ncljs.core.async.impl.protocols.blockable_QMARK_ \x3d (function cljs$core$async$impl$protocols$blockable_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_31980(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$commit$dyn_31988 \x3d (function (h){\nvar x__5373__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.commit[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5374__auto__.call(null,h));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.commit[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5372__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.commit\x22,h);\n}\n}\n});\n/**\n * commit to fulfilling its end of the transfer, returns cb. Must be called within lock\n */\ncljs.core.async.impl.protocols.commit \x3d (function cljs$core$async$impl$protocols$commit(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$commit$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$commit$dyn_31988(h);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Buffer \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_31992 \x3d (function (b){\nvar x__5373__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5374__auto__.call(null,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5372__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.full?\x22,b);\n}\n}\n});\n/**\n * returns true if buffer cannot accept put\n */\ncljs.core.async.impl.protocols.full_QMARK_ \x3d (function cljs$core$async$impl$protocols$full_QMARK_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_31992(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_31993 \x3d (function (b){\nvar x__5373__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5374__auto__.call(null,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5372__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.remove!\x22,b);\n}\n}\n});\n/**\n * remove and return next item from buffer, called under chan mutex\n */\ncljs.core.async.impl.protocols.remove_BANG_ \x3d (function cljs$core$async$impl$protocols$remove_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_31993(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_32000 \x3d (function (b,itm){\nvar x__5373__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5374__auto__.call(null,b,itm));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5372__auto__.call(null,b,itm));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.add!*\x22,b);\n}\n}\n});\n/**\n * if room, add item to the buffer, returns b, called under chan mutex\n */\ncljs.core.async.impl.protocols.add_BANG__STAR_ \x3d (function cljs$core$async$impl$protocols$add_BANG__STAR_(b,itm){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2(b,itm);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_32000(b,itm);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_32002 \x3d (function (b){\nvar x__5373__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5374__auto__.call(null,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5372__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.close-buf!\x22,b);\n}\n}\n});\n/**\n * called on chan closed under chan mutex, return ignored\n */\ncljs.core.async.impl.protocols.close_buf_BANG_ \x3d (function cljs$core$async$impl$protocols$close_buf_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_32002(b);\n}\n});\n\ncljs.core.async.impl.protocols.add_BANG_ \x3d (function cljs$core$async$impl$protocols$add_BANG_(var_args){\nvar G__31934 \x3d arguments.length;\nswitch (G__31934) {\ncase 1:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (b){\nreturn b;\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (b,itm){\nif((!((itm \x3d\x3d null)))){\n} else {\nthrow (new Error(\x22Assert failed: (not (nil? itm))\x22));\n}\n\nreturn cljs.core.async.impl.protocols.add_BANG__STAR_(b,itm);\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.UnblockingBuffer \x3d function(){};\n\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.buffers.js", true, "goog.provide(\x27cljs.core.async.impl.buffers\x27);\ncljs.core.async.impl.buffers.acopy \x3d (function cljs$core$async$impl$buffers$acopy(src,src_start,dest,dest_start,len){\nvar cnt \x3d (0);\nwhile(true){\nif((cnt \x3c len)){\n(dest[(dest_start + cnt)] \x3d (src[(src_start + cnt)]));\n\nvar G__32109 \x3d (cnt + (1));\ncnt \x3d G__32109;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.buffers.RingBuffer \x3d (function (head,tail,length,arr){\nthis.head \x3d head;\nthis.tail \x3d tail;\nthis.length \x3d length;\nthis.arr \x3d arr;\n});\n(cljs.core.async.impl.buffers.RingBuffer.prototype.pop \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar x \x3d (self__.arr[self__.tail]);\n(self__.arr[self__.tail] \x3d null);\n\n(self__.tail \x3d ((self__.tail + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length - (1)));\n\nreturn x;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unshift \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.arr[self__.head] \x3d x);\n\n(self__.head \x3d ((self__.head + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length + (1)));\n\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unbounded_unshift \x3d (function (x){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.length + (1)) \x3d\x3d\x3d self__.arr.length)){\nthis$.resize();\n} else {\n}\n\nreturn this$.unshift(x);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.resize \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar new_arr_size \x3d (self__.arr.length * (2));\nvar new_arr \x3d (new Array(new_arr_size));\nif((self__.tail \x3c self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),self__.length);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3e self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),(self__.arr.length - self__.tail));\n\ncljs.core.async.impl.buffers.acopy(self__.arr,(0),new_arr,(self__.arr.length - self__.tail),self__.head);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3d\x3d\x3d self__.head)){\n(self__.tail \x3d (0));\n\n(self__.head \x3d (0));\n\nreturn (self__.arr \x3d new_arr);\n} else {\nreturn null;\n}\n}\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.cleanup \x3d (function (keep_QMARK_){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar n__5616__auto__ \x3d self__.length;\nvar x \x3d (0);\nwhile(true){\nif((x \x3c n__5616__auto__)){\nvar v_32110 \x3d this$.pop();\nif((keep_QMARK_.cljs$core$IFn$_invoke$arity$1 ? keep_QMARK_.cljs$core$IFn$_invoke$arity$1(v_32110) : keep_QMARK_.call(null,v_32110))){\nthis$.unshift(v_32110);\n} else {\n}\n\nvar G__32111 \x3d (x + (1));\nx \x3d G__32111;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22head\x22,\x22head\x22,869147608,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22length\x22,\x22length\x22,-2065447907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/RingBuffer\x22);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/RingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/RingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_RingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_RingBuffer(head,tail,length,arr){\nreturn (new cljs.core.async.impl.buffers.RingBuffer(head,tail,length,arr));\n});\n\ncljs.core.async.impl.buffers.ring_buffer \x3d (function cljs$core$async$impl$buffers$ring_buffer(n){\nif((n \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t create a ring buffer of size 0\x22,\x22\\n\x22,\x22(\x3e n 0)\x22].join(\x27\x27)));\n}\n\nreturn (new cljs.core.async.impl.buffers.RingBuffer((0),(0),(0),(new Array(n))));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.FixedBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.buf.length \x3e\x3d self__.n);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nself__.buf.unbounded_unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/FixedBuffer.\n */\ncljs.core.async.impl.buffers.__GT_FixedBuffer \x3d (function cljs$core$async$impl$buffers$__GT_FixedBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.fixed_buffer \x3d (function cljs$core$async$impl$buffers$fixed_buffer(n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.DroppingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\n} else {\nself__.buf.unshift(itm);\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/DroppingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_DroppingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_DroppingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.dropping_buffer \x3d (function cljs$core$async$impl$buffers$dropping_buffer(n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.SlidingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\nthis$__$1.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\n} else {\n}\n\nself__.buf.unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/SlidingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_SlidingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_SlidingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.sliding_buffer \x3d (function cljs$core$async$impl$buffers$sliding_buffer(n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers.NO_VAL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.async.impl.buffers.NO_VAL \x3d (new Object());\n}\ncljs.core.async.impl.buffers.undelivered_QMARK_ \x3d (function cljs$core$async$impl$buffers$undelivered_QMARK_(val){\nreturn (cljs.core.async.impl.buffers.NO_VAL \x3d\x3d\x3d val);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.PromiseBuffer \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\n(self__.val \x3d itm);\n} else {\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (self__.val \x3d null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (0);\n} else {\nreturn (1);\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/PromiseBuffer.\n */\ncljs.core.async.impl.buffers.__GT_PromiseBuffer \x3d (function cljs$core$async$impl$buffers$__GT_PromiseBuffer(val){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(val));\n});\n\ncljs.core.async.impl.buffers.promise_buffer \x3d (function cljs$core$async$impl$buffers$promise_buffer(){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(cljs.core.async.impl.buffers.NO_VAL));\n});\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.dispatch.js", true, "goog.provide(\x27cljs.core.async.impl.dispatch\x27);\ncljs.core.async.impl.dispatch.tasks \x3d cljs.core.async.impl.buffers.ring_buffer((32));\ncljs.core.async.impl.dispatch.running_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.queued_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.TASK_BATCH_SIZE \x3d (1024);\ncljs.core.async.impl.dispatch.process_messages \x3d (function cljs$core$async$impl$dispatch$process_messages(){\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d true);\n\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d false);\n\nvar count_32145 \x3d (0);\nwhile(true){\nvar m_32146 \x3d cljs.core.async.impl.dispatch.tasks.pop();\nif((m_32146 \x3d\x3d null)){\n} else {\n(m_32146.cljs$core$IFn$_invoke$arity$0 ? m_32146.cljs$core$IFn$_invoke$arity$0() : m_32146.call(null));\n\nif((count_32145 \x3c cljs.core.async.impl.dispatch.TASK_BATCH_SIZE)){\nvar G__32148 \x3d (count_32145 + (1));\ncount_32145 \x3d G__32148;\ncontinue;\n} else {\n}\n}\nbreak;\n}\n\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d false);\n\nif((cljs.core.async.impl.dispatch.tasks.length \x3e (0))){\nreturn (cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0 ? cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0() : cljs.core.async.impl.dispatch.queue_dispatcher.call(null));\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.dispatch.queue_dispatcher \x3d (function cljs$core$async$impl$dispatch$queue_dispatcher(){\nif(((cljs.core.async.impl.dispatch.queued_QMARK_) \x26\x26 (cljs.core.async.impl.dispatch.running_QMARK_))){\nreturn null;\n} else {\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d true);\n\nreturn goog.async.nextTick(cljs.core.async.impl.dispatch.process_messages);\n}\n});\ncljs.core.async.impl.dispatch.run \x3d (function cljs$core$async$impl$dispatch$run(f){\ncljs.core.async.impl.dispatch.tasks.unbounded_unshift(f);\n\nreturn cljs.core.async.impl.dispatch.queue_dispatcher();\n});\ncljs.core.async.impl.dispatch.queue_delay \x3d (function cljs$core$async$impl$dispatch$queue_delay(f,delay){\nreturn setTimeout(f,delay);\n});\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.channels.js", true, "goog.provide(\x27cljs.core.async.impl.channels\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242 \x3d (function (val,meta32243){\nthis.val \x3d val;\nthis.meta32243 \x3d meta32243;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 425984;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_32244,meta32243__$1){\nvar self__ \x3d this;\nvar _32244__$1 \x3d this;\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242(self__.val,meta32243__$1));\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_32244){\nvar self__ \x3d this;\nvar _32244__$1 \x3d this;\nreturn self__.meta32243;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22meta32243\x22,\x22meta32243\x22,-303455196,null)], null);\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels32242\x22);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels32242\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/t_cljs$core$async$impl$channels32242.\n */\ncljs.core.async.impl.channels.__GT_t_cljs$core$async$impl$channels32242 \x3d (function cljs$core$async$impl$channels$__GT_t_cljs$core$async$impl$channels32242(val,meta32243){\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242(val,meta32243));\n});\n\n\ncljs.core.async.impl.channels.box \x3d (function cljs$core$async$impl$channels$box(val){\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32242(val,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.channels.PutBox \x3d (function (handler,val){\nthis.handler \x3d handler;\nthis.val \x3d val;\n});\n\n(cljs.core.async.impl.channels.PutBox.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/PutBox\x22);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.channels/PutBox\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/PutBox.\n */\ncljs.core.async.impl.channels.__GT_PutBox \x3d (function cljs$core$async$impl$channels$__GT_PutBox(handler,val){\nreturn (new cljs.core.async.impl.channels.PutBox(handler,val));\n});\n\ncljs.core.async.impl.channels.put_active_QMARK_ \x3d (function cljs$core$async$impl$channels$put_active_QMARK_(box){\nreturn cljs.core.async.impl.protocols.active_QMARK_(box.handler);\n});\ncljs.core.async.impl.channels.MAX_DIRTY \x3d (64);\n\n/**\n * @interface\n */\ncljs.core.async.impl.channels.MMC \x3d function(){};\n\nvar cljs$core$async$impl$channels$MMC$abort$dyn_32534 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.channels.abort[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.channels.abort[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22MMC.abort\x22,this$);\n}\n}\n});\ncljs.core.async.impl.channels.abort \x3d (function cljs$core$async$impl$channels$abort(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$async$impl$channels$MMC$abort$arity$1(this$);\n} else {\nreturn cljs$core$async$impl$channels$MMC$abort$dyn_32534(this$);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.channels.MMC}\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n*/\ncljs.core.async.impl.channels.ManyToManyChannel \x3d (function (takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nthis.takes \x3d takes;\nthis.dirty_takes \x3d dirty_takes;\nthis.puts \x3d puts;\nthis.dirty_puts \x3d dirty_puts;\nthis.buf \x3d buf;\nthis.closed \x3d closed;\nthis.add_BANG_ \x3d add_BANG_;\n});\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nwhile(true){\nvar putter_32541 \x3d self__.puts.pop();\nif((putter_32541 \x3d\x3d null)){\n} else {\nvar put_handler_32542 \x3d putter_32541.handler;\nvar val_32543 \x3d putter_32541.val;\nif(put_handler_32542.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar put_cb_32549 \x3d put_handler_32542.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\ncljs.core.async.impl.dispatch.run(((function (put_cb_32549,put_handler_32542,val_32543,putter_32541,this$__$1){\nreturn (function (){\nreturn (put_cb_32549.cljs$core$IFn$_invoke$arity$1 ? put_cb_32549.cljs$core$IFn$_invoke$arity$1(true) : put_cb_32549.call(null,true));\n});})(put_cb_32549,put_handler_32542,val_32543,putter_32541,this$__$1))\n);\n} else {\ncontinue;\n}\n}\nbreak;\n}\n\nself__.puts.cleanup(cljs.core.constantly(false));\n\nreturn this$__$1.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (this$,val,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((val \x3d\x3d null)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t put nil on a channel\x22,\x22\\n\x22,\x22(not (nil? val))\x22].join(\x27\x27)));\n}\n\nvar closed__$1 \x3d self__.closed;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn cljs.core.async.impl.channels.box((!(closed__$1)));\n} else {\nif(closed__$1){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nreturn cljs.core.async.impl.channels.box(false);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nvar done_QMARK_ \x3d cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val) : self__.add_BANG_.call(null,self__.buf,val)));\nvar take_cbs \x3d (function (){var takers \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((((self__.takes.length \x3e (0))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar taker \x3d self__.takes.pop();\nif(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar ret \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val__$1 \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar G__32561 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(takers,((function (takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1){\nreturn (function (){\nreturn (ret.cljs$core$IFn$_invoke$arity$1 ? ret.cljs$core$IFn$_invoke$arity$1(val__$1) : ret.call(null,val__$1));\n});})(takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1))\n);\ntakers \x3d G__32561;\ncontinue;\n} else {\nvar G__32565 \x3d takers;\ntakers \x3d G__32565;\ncontinue;\n}\n} else {\nreturn takers;\n}\nbreak;\n}\n})();\nif(done_QMARK_){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nif(cljs.core.seq(take_cbs)){\nvar seq__32335_32569 \x3d cljs.core.seq(take_cbs);\nvar chunk__32336_32570 \x3d null;\nvar count__32337_32571 \x3d (0);\nvar i__32338_32572 \x3d (0);\nwhile(true){\nif((i__32338_32572 \x3c count__32337_32571)){\nvar f_32574 \x3d chunk__32336_32570.cljs$core$IIndexed$_nth$arity$2(null,i__32338_32572);\ncljs.core.async.impl.dispatch.run(f_32574);\n\n\nvar G__32575 \x3d seq__32335_32569;\nvar G__32576 \x3d chunk__32336_32570;\nvar G__32577 \x3d count__32337_32571;\nvar G__32578 \x3d (i__32338_32572 + (1));\nseq__32335_32569 \x3d G__32575;\nchunk__32336_32570 \x3d G__32576;\ncount__32337_32571 \x3d G__32577;\ni__32338_32572 \x3d G__32578;\ncontinue;\n} else {\nvar temp__5804__auto___32581 \x3d cljs.core.seq(seq__32335_32569);\nif(temp__5804__auto___32581){\nvar seq__32335_32583__$1 \x3d temp__5804__auto___32581;\nif(cljs.core.chunked_seq_QMARK_(seq__32335_32583__$1)){\nvar c__5548__auto___32585 \x3d cljs.core.chunk_first(seq__32335_32583__$1);\nvar G__32586 \x3d cljs.core.chunk_rest(seq__32335_32583__$1);\nvar G__32587 \x3d c__5548__auto___32585;\nvar G__32588 \x3d cljs.core.count(c__5548__auto___32585);\nvar G__32589 \x3d (0);\nseq__32335_32569 \x3d G__32586;\nchunk__32336_32570 \x3d G__32587;\ncount__32337_32571 \x3d G__32588;\ni__32338_32572 \x3d G__32589;\ncontinue;\n} else {\nvar f_32592 \x3d cljs.core.first(seq__32335_32583__$1);\ncljs.core.async.impl.dispatch.run(f_32592);\n\n\nvar G__32593 \x3d cljs.core.next(seq__32335_32583__$1);\nvar G__32594 \x3d null;\nvar G__32595 \x3d (0);\nvar G__32596 \x3d (0);\nseq__32335_32569 \x3d G__32593;\nchunk__32336_32570 \x3d G__32594;\ncount__32337_32571 \x3d G__32595;\ni__32338_32572 \x3d G__32596;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nvar taker \x3d (function (){while(true){\nvar taker \x3d self__.takes.pop();\nif(cljs.core.truth_(taker)){\nif(cljs.core.truth_(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null))){\nreturn taker;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(taker)){\nvar take_cb \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (take_cb.cljs$core$IFn$_invoke$arity$1 ? take_cb.cljs$core$IFn$_invoke$arity$1(val) : take_cb.call(null,val));\n}));\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nif((self__.dirty_puts \x3e (64))){\n(self__.dirty_puts \x3d (0));\n\nself__.puts.cleanup(cljs.core.async.impl.channels.put_active_QMARK_);\n} else {\n(self__.dirty_puts \x3d (self__.dirty_puts + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.puts.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending puts are allowed on a single channel.\x22,\x22 Consider using a windowed buffer.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length puts) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.puts.unbounded_unshift((new cljs.core.async.impl.channels.PutBox(handler,val)));\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn null;\n} else {\nif((((!((self__.buf \x3d\x3d null)))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar temp__5802__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar take_cb \x3d temp__5802__auto__;\nvar val \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar vec__32350 \x3d ((((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0)))))?(function (){var cbs \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar putter \x3d self__.puts.pop();\nvar put_handler \x3d putter.handler;\nvar val__$1 \x3d putter.val;\nvar cb \x3d (function (){var and__5023__auto__ \x3d put_handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(and__5023__auto__){\nreturn put_handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar cbs__$1 \x3d (cljs.core.truth_(cb)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cbs,cb):cbs);\nvar done_QMARK_ \x3d (cljs.core.truth_(cb)?cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val__$1) : self__.add_BANG_.call(null,self__.buf,val__$1))):null);\nif(((cljs.core.not(done_QMARK_)) \x26\x26 (((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0))))))){\nvar G__32619 \x3d cbs__$1;\ncbs \x3d G__32619;\ncontinue;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [done_QMARK_,cbs__$1], null);\n}\nbreak;\n}\n})():null);\nvar done_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32350,(0),null);\nvar cbs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32350,(1),null);\nif(cljs.core.truth_(done_QMARK_)){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nvar seq__32364_32624 \x3d cljs.core.seq(cbs);\nvar chunk__32365_32625 \x3d null;\nvar count__32366_32626 \x3d (0);\nvar i__32367_32627 \x3d (0);\nwhile(true){\nif((i__32367_32627 \x3c count__32366_32626)){\nvar cb_32628 \x3d chunk__32365_32625.cljs$core$IIndexed$_nth$arity$2(null,i__32367_32627);\ncljs.core.async.impl.dispatch.run(((function (seq__32364_32624,chunk__32365_32625,count__32366_32626,i__32367_32627,cb_32628,val,vec__32350,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1){\nreturn (function (){\nreturn (cb_32628.cljs$core$IFn$_invoke$arity$1 ? cb_32628.cljs$core$IFn$_invoke$arity$1(true) : cb_32628.call(null,true));\n});})(seq__32364_32624,chunk__32365_32625,count__32366_32626,i__32367_32627,cb_32628,val,vec__32350,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1))\n);\n\n\nvar G__32629 \x3d seq__32364_32624;\nvar G__32630 \x3d chunk__32365_32625;\nvar G__32631 \x3d count__32366_32626;\nvar G__32632 \x3d (i__32367_32627 + (1));\nseq__32364_32624 \x3d G__32629;\nchunk__32365_32625 \x3d G__32630;\ncount__32366_32626 \x3d G__32631;\ni__32367_32627 \x3d G__32632;\ncontinue;\n} else {\nvar temp__5804__auto___32633 \x3d cljs.core.seq(seq__32364_32624);\nif(temp__5804__auto___32633){\nvar seq__32364_32634__$1 \x3d temp__5804__auto___32633;\nif(cljs.core.chunked_seq_QMARK_(seq__32364_32634__$1)){\nvar c__5548__auto___32637 \x3d cljs.core.chunk_first(seq__32364_32634__$1);\nvar G__32639 \x3d cljs.core.chunk_rest(seq__32364_32634__$1);\nvar G__32640 \x3d c__5548__auto___32637;\nvar G__32641 \x3d cljs.core.count(c__5548__auto___32637);\nvar G__32642 \x3d (0);\nseq__32364_32624 \x3d G__32639;\nchunk__32365_32625 \x3d G__32640;\ncount__32366_32626 \x3d G__32641;\ni__32367_32627 \x3d G__32642;\ncontinue;\n} else {\nvar cb_32643 \x3d cljs.core.first(seq__32364_32634__$1);\ncljs.core.async.impl.dispatch.run(((function (seq__32364_32624,chunk__32365_32625,count__32366_32626,i__32367_32627,cb_32643,seq__32364_32634__$1,temp__5804__auto___32633,val,vec__32350,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1){\nreturn (function (){\nreturn (cb_32643.cljs$core$IFn$_invoke$arity$1 ? cb_32643.cljs$core$IFn$_invoke$arity$1(true) : cb_32643.call(null,true));\n});})(seq__32364_32624,chunk__32365_32625,count__32366_32626,i__32367_32627,cb_32643,seq__32364_32634__$1,temp__5804__auto___32633,val,vec__32350,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1))\n);\n\n\nvar G__32649 \x3d cljs.core.next(seq__32364_32634__$1);\nvar G__32650 \x3d null;\nvar G__32651 \x3d (0);\nvar G__32652 \x3d (0);\nseq__32364_32624 \x3d G__32649;\nchunk__32365_32625 \x3d G__32650;\ncount__32366_32626 \x3d G__32651;\ni__32367_32627 \x3d G__32652;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nvar putter \x3d (function (){while(true){\nvar putter \x3d self__.puts.pop();\nif(cljs.core.truth_(putter)){\nif(cljs.core.async.impl.protocols.active_QMARK_(putter.handler)){\nreturn putter;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(putter)){\nvar put_cb \x3d cljs.core.async.impl.protocols.commit(putter.handler);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (put_cb.cljs$core$IFn$_invoke$arity$1 ? put_cb.cljs$core$IFn$_invoke$arity$1(true) : put_cb.call(null,true));\n}));\n\nreturn cljs.core.async.impl.channels.box(putter.val);\n} else {\nif(cljs.core.truth_(self__.closed)){\nif(cljs.core.truth_(self__.buf)){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar has_val \x3d (function (){var and__5023__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar val \x3d (cljs.core.truth_(has_val)?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nif((self__.dirty_takes \x3e (64))){\n(self__.dirty_takes \x3d (0));\n\nself__.takes.cleanup(cljs.core.async.impl.protocols.active_QMARK_);\n} else {\n(self__.dirty_takes \x3d (self__.dirty_takes + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.takes.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending takes are allowed on a single channel.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length takes) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.takes.unbounded_unshift(handler);\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.closed;\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(self__.closed){\nreturn null;\n} else {\n(self__.closed \x3d true);\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (self__.puts.length \x3d\x3d\x3d (0));\n} else {\nreturn and__5023__auto__;\n}\n})())){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nwhile(true){\nvar taker_32680 \x3d self__.takes.pop();\nif((taker_32680 \x3d\x3d null)){\n} else {\nif(taker_32680.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar take_cb_32684 \x3d taker_32680.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val_32686 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5023__auto__;\n}\n})())?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\ncljs.core.async.impl.dispatch.run(((function (take_cb_32684,val_32686,taker_32680,this$__$1){\nreturn (function (){\nreturn (take_cb_32684.cljs$core$IFn$_invoke$arity$1 ? take_cb_32684.cljs$core$IFn$_invoke$arity$1(val_32686) : take_cb_32684.call(null,val_32686));\n});})(take_cb_32684,val_32686,taker_32680,this$__$1))\n);\n} else {\n}\n\ncontinue;\n}\nbreak;\n}\n\nif(cljs.core.truth_(self__.buf)){\nself__.buf.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(null);\n} else {\n}\n\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22takes\x22,\x22takes\x22,298247964,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-takes\x22,\x22dirty-takes\x22,575642138,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22puts\x22,\x22puts\x22,-1883877054,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-puts\x22,\x22dirty-puts\x22,57041148,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22closed\x22,\x22closed\x22,720856168,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22add!\x22,\x22add!\x22,2046056845,null)], null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/ManyToManyChannel.\n */\ncljs.core.async.impl.channels.__GT_ManyToManyChannel \x3d (function cljs$core$async$impl$channels$__GT_ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_));\n});\n\ncljs.core.async.impl.channels.ex_handler \x3d (function cljs$core$async$impl$channels$ex_handler(ex){\nconsole.log(ex);\n\nreturn null;\n});\ncljs.core.async.impl.channels.handle \x3d (function cljs$core$async$impl$channels$handle(buf,exh,t){\nvar else$ \x3d (function (){var fexpr__32460 \x3d (function (){var or__5025__auto__ \x3d exh;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.async.impl.channels.ex_handler;\n}\n})();\nreturn (fexpr__32460.cljs$core$IFn$_invoke$arity$1 ? fexpr__32460.cljs$core$IFn$_invoke$arity$1(t) : fexpr__32460.call(null,t));\n})();\nif((else$ \x3d\x3d null)){\nreturn buf;\n} else {\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2(buf,else$);\n}\n});\ncljs.core.async.impl.channels.chan \x3d (function cljs$core$async$impl$channels$chan(var_args){\nvar G__32473 \x3d arguments.length;\nswitch (G__32473) {\ncase 1:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2(buf,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf,xform){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(buf,xform,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf,xform,exh){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(cljs.core.async.impl.buffers.ring_buffer((32)),(0),cljs.core.async.impl.buffers.ring_buffer((32)),(0),buf,false,(function (){var add_BANG_ \x3d (cljs.core.truth_(xform)?(xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(cljs.core.async.impl.protocols.add_BANG_) : xform.call(null,cljs.core.async.impl.protocols.add_BANG_)):cljs.core.async.impl.protocols.add_BANG_);\nreturn (function() {\nvar G__32727 \x3d null;\nvar G__32727__1 \x3d (function (buf__$1){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$1 ? add_BANG_.cljs$core$IFn$_invoke$arity$1(buf__$1) : add_BANG_.call(null,buf__$1));\n}catch (e32506){var t \x3d e32506;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nvar G__32727__2 \x3d (function (buf__$1,val){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$2 ? add_BANG_.cljs$core$IFn$_invoke$arity$2(buf__$1,val) : add_BANG_.call(null,buf__$1,val));\n}catch (e32508){var t \x3d e32508;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nG__32727 \x3d function(buf__$1,val){\nswitch(arguments.length){\ncase 1:\nreturn G__32727__1.call(this,buf__$1);\ncase 2:\nreturn G__32727__2.call(this,buf__$1,val);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32727.cljs$core$IFn$_invoke$arity$1 \x3d G__32727__1;\nG__32727.cljs$core$IFn$_invoke$arity$2 \x3d G__32727__2;\nreturn G__32727;\n})()\n})()));\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$lang$maxFixedArity \x3d 3);\n\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.timers.js", true, "goog.provide(\x27cljs.core.async.impl.timers\x27);\ncljs.core.async.impl.timers.MAX_LEVEL \x3d (15);\ncljs.core.async.impl.timers.P \x3d ((1) / (2));\ncljs.core.async.impl.timers.random_level \x3d (function cljs$core$async$impl$timers$random_level(var_args){\nvar G__34935 \x3d arguments.length;\nswitch (G__34935) {\ncase 0:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((0));\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nwhile(true){\nif((((Math.random() \x3c cljs.core.async.impl.timers.P)) \x26\x26 ((level \x3c cljs.core.async.impl.timers.MAX_LEVEL)))){\nvar G__35025 \x3d (level + (1));\nlevel \x3d G__35025;\ncontinue;\n} else {\nreturn level;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipListNode \x3d (function (key,val,forward){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.forward \x3d forward;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(null,self__.key,(new cljs.core.List(null,self__.val,null,(1),null)),(2),null));\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22forward\x22,\x22forward\x22,1083186224,null)], null);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipListNode\x22);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.timers/SkipListNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipListNode.\n */\ncljs.core.async.impl.timers.__GT_SkipListNode \x3d (function cljs$core$async$impl$timers$__GT_SkipListNode(key,val,forward){\nreturn (new cljs.core.async.impl.timers.SkipListNode(key,val,forward));\n});\n\ncljs.core.async.impl.timers.skip_list_node \x3d (function cljs$core$async$impl$timers$skip_list_node(var_args){\nvar G__34960 \x3d arguments.length;\nswitch (G__34960) {\ncase 1:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(null,null,level);\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,v,level){\nvar arr \x3d (new Array((level + (1))));\nvar i_35037 \x3d (0);\nwhile(true){\nif((i_35037 \x3c arr.length)){\n(arr[i_35037] \x3d null);\n\nvar G__35038 \x3d (i_35037 + (1));\ni_35037 \x3d G__35038;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.async.impl.timers.SkipListNode(k,v,arr));\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.impl.timers.least_greater_node \x3d (function cljs$core$async$impl$timers$least_greater_node(var_args){\nvar G__34977 \x3d arguments.length;\nswitch (G__34977) {\ncase 3:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,k,level){\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(x,k,level,null);\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,k,level,update){\nwhile(true){\nif((!((level \x3c (0))))){\nvar x__$1 \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar temp__5802__auto__ \x3d (((level \x3c x__$1.forward.length))?(x__$1.forward[level]):null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar x_SINGLEQUOTE_ \x3d temp__5802__auto__;\nif((x_SINGLEQUOTE_.key \x3c k)){\nvar G__35043 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__35043;\ncontinue;\n} else {\nreturn x__$1;\n}\n} else {\nreturn x__$1;\n}\nbreak;\n}\n})();\nif((update \x3d\x3d null)){\n} else {\n(update[level] \x3d x__$1);\n}\n\nvar G__35044 \x3d x__$1;\nvar G__35045 \x3d k;\nvar G__35046 \x3d (level - (1));\nvar G__35047 \x3d update;\nx \x3d G__35044;\nk \x3d G__35045;\nlevel \x3d G__35046;\nupdate \x3d G__35047;\ncontinue;\n} else {\nreturn x;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipList \x3d (function (header,level){\nthis.header \x3d header;\nthis.level \x3d level;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipList.prototype.put \x3d (function (k,v){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (x.forward[(0)]);\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nreturn (x__$1.val \x3d v);\n} else {\nvar new_level \x3d cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\nif((new_level \x3e self__.level)){\nvar i_35053 \x3d (self__.level + (1));\nwhile(true){\nif((i_35053 \x3c\x3d (new_level + (1)))){\n(update[i_35053] \x3d self__.header);\n\nvar G__35055 \x3d (i_35053 + (1));\ni_35053 \x3d G__35055;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(self__.level \x3d new_level);\n} else {\n}\n\nvar x__$2 \x3d cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(k,v,(new Array(new_level)));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c\x3d self__.level)){\nvar links_35056 \x3d (update[i]).forward;\nif((i \x3c x__$2.forward.length)){\n(x__$2.forward[i] \x3d (links_35056[i]));\n} else {\nx__$2.forward.push((((i \x3c links_35056.length))?(links_35056[i]):null));\n}\n\nif((i \x3c links_35056.length)){\n(links_35056[i] \x3d x__$2);\n} else {\nlinks_35056.push(x__$2);\n}\n\nvar G__35062 \x3d (i + (1));\ni \x3d G__35062;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.remove \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (((x.forward.length \x3d\x3d\x3d (0)))?null:(x.forward[(0)]));\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nvar i_35064 \x3d (0);\nwhile(true){\nif((i_35064 \x3c\x3d self__.level)){\nvar links_35065 \x3d (update[i_35064]).forward;\nif((x__$1 \x3d\x3d\x3d (((i_35064 \x3c links_35065.length))?(links_35065[i_35064]):null))){\n(links_35065[i_35064] \x3d (x__$1.forward[i_35064]));\n\nvar G__35067 \x3d (i_35064 + (1));\ni_35064 \x3d G__35067;\ncontinue;\n} else {\nvar G__35068 \x3d (i_35064 + (1));\ni_35064 \x3d G__35068;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nwhile(true){\nif(((((((0) \x3c self__.level)) \x26\x26 ((self__.level \x3c self__.header.forward.length)))) \x26\x26 (((self__.header.forward[self__.level]) \x3d\x3d null)))){\n(self__.level \x3d (self__.level - (1)));\n\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.ceilingEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__35073 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__35073;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__35075 \x3d nx;\nvar G__35076 \x3d (level__$1 - (1));\nx \x3d G__35075;\nlevel__$1 \x3d G__35076;\ncontinue;\n} else {\nvar G__35077 \x3d x;\nvar G__35078 \x3d (level__$1 - (1));\nx \x3d G__35077;\nlevel__$1 \x3d G__35078;\ncontinue;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x.key,k)){\nreturn x;\n} else {\nreturn (x.forward[(0)]);\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.floorEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__35082 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__35082;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__35084 \x3d nx;\nvar G__35085 \x3d (level__$1 - (1));\nx \x3d G__35084;\nlevel__$1 \x3d G__35085;\ncontinue;\n} else {\nvar G__35086 \x3d x;\nvar G__35087 \x3d (level__$1 - (1));\nx \x3d G__35086;\nlevel__$1 \x3d G__35087;\ncontinue;\n}\n} else {\nif((x \x3d\x3d\x3d self__.header)){\nreturn null;\n} else {\nreturn x;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar iter \x3d (function cljs$core$async$impl$timers$iter(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nif((node \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node.key,node.val], null),cljs$core$async$impl$timers$iter((node.forward[(0)])));\n}\n}),null,null));\n});\nreturn iter((self__.header.forward[(0)]));\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar pr_pair \x3d (function (keyval){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts,keyval);\n});\nreturn cljs.core.pr_sequential_writer(writer,pr_pair,\x22{\x22,\x22, \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22header\x22,\x22header\x22,1759972661,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22level\x22,\x22level\x22,-1363938217,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipList\x22);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.timers/SkipList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipList.\n */\ncljs.core.async.impl.timers.__GT_SkipList \x3d (function cljs$core$async$impl$timers$__GT_SkipList(header,level){\nreturn (new cljs.core.async.impl.timers.SkipList(header,level));\n});\n\ncljs.core.async.impl.timers.skip_list \x3d (function cljs$core$async$impl$timers$skip_list(){\nreturn (new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((0)),(0)));\n});\ncljs.core.async.impl.timers.timeouts_map \x3d cljs.core.async.impl.timers.skip_list();\ncljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS \x3d (10);\n/**\n * returns a channel that will close after msecs\n */\ncljs.core.async.impl.timers.timeout \x3d (function cljs$core$async$impl$timers$timeout(msecs){\nvar timeout \x3d ((new Date()).valueOf() + msecs);\nvar me \x3d cljs.core.async.impl.timers.timeouts_map.ceilingEntry(timeout);\nvar or__5025__auto__ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d me;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (me.key \x3c (timeout + cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS));\n} else {\nreturn and__5023__auto__;\n}\n})())?me.val:null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar timeout_channel \x3d cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1(null);\ncljs.core.async.impl.timers.timeouts_map.put(timeout,timeout_channel);\n\ncljs.core.async.impl.dispatch.queue_delay((function (){\ncljs.core.async.impl.timers.timeouts_map.remove(timeout);\n\nreturn cljs.core.async.impl.protocols.close_BANG_(timeout_channel);\n}),msecs);\n\nreturn timeout_channel;\n}\n});\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.ioc_helpers.js", true, "goog.provide(\x27cljs.core.async.impl.ioc_helpers\x27);\ncljs.core.async.impl.ioc_helpers.FN_IDX \x3d (0);\ncljs.core.async.impl.ioc_helpers.STATE_IDX \x3d (1);\ncljs.core.async.impl.ioc_helpers.VALUE_IDX \x3d (2);\ncljs.core.async.impl.ioc_helpers.BINDINGS_IDX \x3d (3);\ncljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES \x3d (4);\ncljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION \x3d (5);\ncljs.core.async.impl.ioc_helpers.USER_START_IDX \x3d (6);\ncljs.core.async.impl.ioc_helpers.aset_object \x3d (function cljs$core$async$impl$ioc_helpers$aset_object(arr,idx,o){\nreturn (arr[idx][o]);\n});\ncljs.core.async.impl.ioc_helpers.aget_object \x3d (function cljs$core$async$impl$ioc_helpers$aget_object(arr,idx){\nreturn (arr[idx]);\n});\n/**\n * Returns true if the machine is in a finished state\n */\ncljs.core.async.impl.ioc_helpers.finished_QMARK_ \x3d (function cljs$core$async$impl$ioc_helpers$finished_QMARK_(state_array){\nreturn cljs.core.keyword_identical_QMARK_((state_array[(1)]),new cljs.core.Keyword(null,\x22finished\x22,\x22finished\x22,-1018867731));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886 \x3d (function (f,meta34887){\nthis.f \x3d f;\nthis.meta34887 \x3d meta34887;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_34888,meta34887__$1){\nvar self__ \x3d this;\nvar _34888__$1 \x3d this;\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886(self__.f,meta34887__$1));\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_34888){\nvar self__ \x3d this;\nvar _34888__$1 \x3d this;\nreturn self__.meta34887;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22meta34887\x22,\x22meta34887\x22,-176845657,null)], null);\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers34886\x22);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers34886\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers34886.\n */\ncljs.core.async.impl.ioc_helpers.__GT_t_cljs$core$async$impl$ioc_helpers34886 \x3d (function cljs$core$async$impl$ioc_helpers$__GT_t_cljs$core$async$impl$ioc_helpers34886(f,meta34887){\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886(f,meta34887));\n});\n\n\ncljs.core.async.impl.ioc_helpers.fn_handler \x3d (function cljs$core$async$impl$ioc_helpers$fn_handler(f){\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34886(f,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine(state){\nvar fexpr__34925 \x3d cljs.core.async.impl.ioc_helpers.aget_object(state,(0));\nreturn (fexpr__34925.cljs$core$IFn$_invoke$arity$1 ? fexpr__34925.cljs$core$IFn$_invoke$arity$1(state) : fexpr__34925.call(null,state));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine_wrapped \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine_wrapped(state){\ntry{return cljs.core.async.impl.ioc_helpers.run_state_machine(state);\n}catch (e34931){if((e34931 instanceof Object)){\nvar ex \x3d e34931;\ncljs.core.async.impl.ioc_helpers.aget_object(state,(6)).cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nthrow ex;\n} else {\nthrow e34931;\n\n}\n}});\ncljs.core.async.impl.ioc_helpers.take_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$take_BANG_(state,blk,c){\nvar temp__5802__auto__ \x3d c.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(null,cljs.core.async.impl.ioc_helpers.fn_handler((function (x){\nvar statearr_34934_34961 \x3d state;\n(statearr_34934_34961[(2)] \x3d x);\n\n(statearr_34934_34961[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar cb \x3d temp__5802__auto__;\nvar statearr_34936_34966 \x3d state;\n(statearr_34936_34966[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_34936_34966[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.put_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$put_BANG_(state,blk,c,val){\nvar temp__5802__auto__ \x3d c.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,val,cljs.core.async.impl.ioc_helpers.fn_handler((function (ret_val){\nvar statearr_34950_34967 \x3d state;\n(statearr_34950_34967[(2)] \x3d ret_val);\n\n(statearr_34950_34967[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar cb \x3d temp__5802__auto__;\nvar statearr_34952_34968 \x3d state;\n(statearr_34952_34968[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_34952_34968[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.return_chan \x3d (function cljs$core$async$impl$ioc_helpers$return_chan(state,value){\nvar c \x3d (state[(6)]);\nif((value \x3d\x3d null)){\n} else {\nc.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,value,cljs.core.async.impl.ioc_helpers.fn_handler((function (_){\nreturn null;\n})));\n}\n\nc.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nreturn c;\n});\n");
SHADOW_ENV.evalLoad("cljs.core.async.js", true, "goog.provide(\x27cljs.core.async\x27);\ngoog.scope(function(){\n  cljs.core.async.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async35176 \x3d (function (f,blockable,meta35177){\nthis.f \x3d f;\nthis.blockable \x3d blockable;\nthis.meta35177 \x3d meta35177;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async35176.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35178,meta35177__$1){\nvar self__ \x3d this;\nvar _35178__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async35176(self__.f,self__.blockable,meta35177__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async35176.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35178){\nvar self__ \x3d this;\nvar _35178__$1 \x3d this;\nreturn self__.meta35177;\n}));\n\n(cljs.core.async.t_cljs$core$async35176.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35176.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async35176.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.blockable;\n}));\n\n(cljs.core.async.t_cljs$core$async35176.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.t_cljs$core$async35176.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22blockable\x22,\x22blockable\x22,-28395259,null),new cljs.core.Symbol(null,\x22meta35177\x22,\x22meta35177\x22,-2044814494,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async35176.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async35176.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async35176\x22);\n\n(cljs.core.async.t_cljs$core$async35176.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async35176\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async35176.\n */\ncljs.core.async.__GT_t_cljs$core$async35176 \x3d (function cljs$core$async$__GT_t_cljs$core$async35176(f,blockable,meta35177){\nreturn (new cljs.core.async.t_cljs$core$async35176(f,blockable,meta35177));\n});\n\n\ncljs.core.async.fn_handler \x3d (function cljs$core$async$fn_handler(var_args){\nvar G__35172 \x3d arguments.length;\nswitch (G__35172) {\ncase 1:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(f,true);\n}));\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,blockable){\nreturn (new cljs.core.async.t_cljs$core$async35176(f,blockable,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.async.fn_handler.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a fixed buffer of size n. When full, puts will block/park.\n */\ncljs.core.async.buffer \x3d (function cljs$core$async$buffer(n){\nreturn cljs.core.async.impl.buffers.fixed_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete but\n *   val will be dropped (no transfer).\n */\ncljs.core.async.dropping_buffer \x3d (function cljs$core$async$dropping_buffer(n){\nreturn cljs.core.async.impl.buffers.dropping_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete, and be\n *   buffered, but oldest elements in buffer will be dropped (not\n *   transferred).\n */\ncljs.core.async.sliding_buffer \x3d (function cljs$core$async$sliding_buffer(n){\nreturn cljs.core.async.impl.buffers.sliding_buffer(n);\n});\n/**\n * Returns true if a channel created with buff will never block. That is to say,\n * puts into this buffer will never cause the buffer to be full. \n */\ncljs.core.async.unblocking_buffer_QMARK_ \x3d (function cljs$core$async$unblocking_buffer_QMARK_(buff){\nif((!((buff \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d buff.cljs$core$async$impl$protocols$UnblockingBuffer$)))){\nreturn true;\n} else {\nif((!buff.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n}\n});\n/**\n * Creates a channel with an optional buffer, an optional transducer (like (map f),\n *   (filter p) etc or a composition thereof), and an optional exception handler.\n *   If buf-or-n is a number, will create and use a fixed buffer of that size. If a\n *   transducer is supplied a buffer must be specified. ex-handler must be a\n *   fn of one argument - if an exception occurs during transformation it will be called\n *   with the thrown value as an argument, and any non-nil return value will be placed\n *   in the channel.\n */\ncljs.core.async.chan \x3d (function cljs$core$async$chan(var_args){\nvar G__35209 \x3d arguments.length;\nswitch (G__35209) {\ncase 0:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf_or_n){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,null,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf_or_n,xform){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,xform,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf_or_n,xform,ex_handler){\nvar buf_or_n__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(buf_or_n,(0)))?null:buf_or_n);\nif(cljs.core.truth_(xform)){\nif(cljs.core.truth_(buf_or_n__$1)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22buffer must be supplied when transducer is\x22,\x22\\n\x22,\x22buf-or-n\x22].join(\x27\x27)));\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(((typeof buf_or_n__$1 \x3d\x3d\x3d \x27number\x27)?cljs.core.async.buffer(buf_or_n__$1):buf_or_n__$1),xform,ex_handler);\n}));\n\n(cljs.core.async.chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates a promise channel with an optional transducer, and an optional\n *   exception-handler. A promise channel can take exactly one value that consumers\n *   will receive. Once full, puts complete but val is dropped (no transfer).\n *   Consumers will block until either a value is placed in the channel or the\n *   channel is closed, then return the value (or nil) forever. See chan for the\n *   semantics of xform and ex-handler.\n */\ncljs.core.async.promise_chan \x3d (function cljs$core$async$promise_chan(var_args){\nvar G__35225 \x3d arguments.length;\nswitch (G__35225) {\ncase 0:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (xform){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2(xform,null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,ex_handler){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(cljs.core.async.impl.buffers.promise_buffer(),xform,ex_handler);\n}));\n\n(cljs.core.async.promise_chan.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel that will close after msecs\n */\ncljs.core.async.timeout \x3d (function cljs$core$async$timeout(msecs){\nreturn cljs.core.async.impl.timers.timeout(msecs);\n});\n/**\n * takes a val from port. Must be called inside a (go ...) block. Will\n *   return nil if closed. Will park if nothing is available.\n *   Returns true unless port is already closed\n */\ncljs.core.async._LT__BANG_ \x3d (function cljs$core$async$_LT__BANG_(port){\nthrow (new Error(\x22\x3c! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously takes a val from port, passing to fn1. Will pass nil\n * if closed. If on-caller? (default true) is true, and value is\n * immediately available, will call fn1 on calling thread.\n * Returns nil.\n */\ncljs.core.async.take_BANG_ \x3d (function cljs$core$async$take_BANG_(var_args){\nvar G__35246 \x3d arguments.length;\nswitch (G__35246) {\ncase 2:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,fn1){\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3(port,fn1,true);\n}));\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,fn1,on_caller_QMARK_){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(ret)){\nvar val_37436 \x3d cljs.core.deref(ret);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_37436) : fn1.call(null,val_37436));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_37436) : fn1.call(null,val_37436));\n}));\n}\n} else {\n}\n\nreturn null;\n}));\n\n(cljs.core.async.take_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.nop \x3d (function cljs$core$async$nop(_){\nreturn null;\n});\ncljs.core.async.fhnop \x3d cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(cljs.core.async.nop);\n/**\n * puts a val into port. nil values are not allowed. Must be called\n *   inside a (go ...) block. Will park if no buffer space is available.\n *   Returns true unless port is already closed.\n */\ncljs.core.async._GT__BANG_ \x3d (function cljs$core$async$_GT__BANG_(port,val){\nthrow (new Error(\x22\x3e! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously puts a val into port, calling fn1 (if supplied) when\n * complete. nil values are not allowed. Will throw if closed. If\n * on-caller? (default true) is true, and the put is immediately\n * accepted, will call fn1 on calling thread.  Returns nil.\n */\ncljs.core.async.put_BANG_ \x3d (function cljs$core$async$put_BANG_(var_args){\nvar G__35255 \x3d arguments.length;\nswitch (G__35255) {\ncase 2:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,val){\nvar temp__5802__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fhnop);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ret \x3d temp__5802__auto__;\nreturn cljs.core.deref(ret);\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,val,fn1){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4(port,val,fn1,true);\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (port,val,fn1,on_caller_QMARK_){\nvar temp__5802__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar retb \x3d temp__5802__auto__;\nvar ret \x3d cljs.core.deref(retb);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n}));\n}\n\nreturn ret;\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.core.async.close_BANG_ \x3d (function cljs$core$async$close_BANG_(port){\nreturn cljs.core.async.impl.protocols.close_BANG_(port);\n});\ncljs.core.async.random_array \x3d (function cljs$core$async$random_array(n){\nvar a \x3d (new Array(n));\nvar n__5616__auto___37448 \x3d n;\nvar x_37449 \x3d (0);\nwhile(true){\nif((x_37449 \x3c n__5616__auto___37448)){\n(a[x_37449] \x3d x_37449);\n\nvar G__37450 \x3d (x_37449 + (1));\nx_37449 \x3d G__37450;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.core.async.goog$module$goog$array.shuffle(a);\n\nreturn a;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async35260 \x3d (function (flag,meta35261){\nthis.flag \x3d flag;\nthis.meta35261 \x3d meta35261;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async35260.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35262,meta35261__$1){\nvar self__ \x3d this;\nvar _35262__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async35260(self__.flag,meta35261__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async35260.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35262){\nvar self__ \x3d this;\nvar _35262__$1 \x3d this;\nreturn self__.meta35261;\n}));\n\n(cljs.core.async.t_cljs$core$async35260.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35260.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.deref(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async35260.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async35260.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.flag,null);\n\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async35260.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22meta35261\x22,\x22meta35261\x22,115400980,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async35260.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async35260.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async35260\x22);\n\n(cljs.core.async.t_cljs$core$async35260.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async35260\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async35260.\n */\ncljs.core.async.__GT_t_cljs$core$async35260 \x3d (function cljs$core$async$__GT_t_cljs$core$async35260(flag,meta35261){\nreturn (new cljs.core.async.t_cljs$core$async35260(flag,meta35261));\n});\n\n\ncljs.core.async.alt_flag \x3d (function cljs$core$async$alt_flag(){\nvar flag \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nreturn (new cljs.core.async.t_cljs$core$async35260(flag,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async35267 \x3d (function (flag,cb,meta35268){\nthis.flag \x3d flag;\nthis.cb \x3d cb;\nthis.meta35268 \x3d meta35268;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async35267.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35269,meta35268__$1){\nvar self__ \x3d this;\nvar _35269__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async35267(self__.flag,self__.cb,meta35268__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async35267.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35269){\nvar self__ \x3d this;\nvar _35269__$1 \x3d this;\nreturn self__.meta35268;\n}));\n\n(cljs.core.async.t_cljs$core$async35267.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35267.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async35267.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async35267.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.async.impl.protocols.commit(self__.flag);\n\nreturn self__.cb;\n}));\n\n(cljs.core.async.t_cljs$core$async35267.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22cb\x22,\x22cb\x22,-2064487928,null),new cljs.core.Symbol(null,\x22meta35268\x22,\x22meta35268\x22,-1492302514,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async35267.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async35267.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async35267\x22);\n\n(cljs.core.async.t_cljs$core$async35267.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async35267\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async35267.\n */\ncljs.core.async.__GT_t_cljs$core$async35267 \x3d (function cljs$core$async$__GT_t_cljs$core$async35267(flag,cb,meta35268){\nreturn (new cljs.core.async.t_cljs$core$async35267(flag,cb,meta35268));\n});\n\n\ncljs.core.async.alt_handler \x3d (function cljs$core$async$alt_handler(flag,cb){\nreturn (new cljs.core.async.t_cljs$core$async35267(flag,cb,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * returns derefable [val port] if immediate, nil if enqueued\n */\ncljs.core.async.do_alts \x3d (function cljs$core$async$do_alts(fret,ports,opts){\nif((cljs.core.count(ports) \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22alts must have at least one channel operation\x22,\x22\\n\x22,\x22(pos? (count ports))\x22].join(\x27\x27)));\n}\n\nvar flag \x3d cljs.core.async.alt_flag();\nvar ports__$1 \x3d cljs.core.vec(ports);\nvar n \x3d cljs.core.count(ports__$1);\nvar _ \x3d (function (){var i \x3d (0);\nwhile(true){\nif((i \x3c n)){\nvar port_37453 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ports__$1,i);\nif(cljs.core.vector_QMARK_(port_37453)){\nif((!(((port_37453.cljs$core$IFn$_invoke$arity$1 ? port_37453.cljs$core$IFn$_invoke$arity$1((1)) : port_37453.call(null,(1))) \x3d\x3d null)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22can\x27t put nil on channel\x22,\x22\\n\x22,\x22(some? (port 1))\x22].join(\x27\x27)));\n}\n} else {\n}\n\nvar G__37459 \x3d (i + (1));\ni \x3d G__37459;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nvar idxs \x3d cljs.core.async.random_array(n);\nvar priority \x3d new cljs.core.Keyword(null,\x22priority\x22,\x22priority\x22,1431093715).cljs$core$IFn$_invoke$arity$1(opts);\nvar ret \x3d (function (){var i \x3d (0);\nwhile(true){\nif((i \x3c n)){\nvar idx \x3d (cljs.core.truth_(priority)?i:(idxs[i]));\nvar port \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ports__$1,idx);\nvar wport \x3d ((cljs.core.vector_QMARK_(port))?(port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((0)) : port.call(null,(0))):null);\nvar vbox \x3d (cljs.core.truth_(wport)?(function (){var val \x3d (port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((1)) : port.call(null,(1)));\nreturn cljs.core.async.impl.protocols.put_BANG_(wport,val,cljs.core.async.alt_handler(flag,((function (i,val,idx,port,wport,flag,ports__$1,n,_,idxs,priority){\nreturn (function (p1__35272_SHARP_){\nvar G__35275 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__35272_SHARP_,wport], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__35275) : fret.call(null,G__35275));\n});})(i,val,idx,port,wport,flag,ports__$1,n,_,idxs,priority))\n));\n})():cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.alt_handler(flag,((function (i,idx,port,wport,flag,ports__$1,n,_,idxs,priority){\nreturn (function (p1__35273_SHARP_){\nvar G__35276 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__35273_SHARP_,port], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__35276) : fret.call(null,G__35276));\n});})(i,idx,port,wport,flag,ports__$1,n,_,idxs,priority))\n)));\nif(cljs.core.truth_(vbox)){\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(vbox),(function (){var or__5025__auto__ \x3d wport;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn port;\n}\n})()], null));\n} else {\nvar G__37460 \x3d (i + (1));\ni \x3d G__37460;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nvar or__5025__auto__ \x3d ret;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))){\nvar temp__5804__auto__ \x3d (function (){var and__5023__auto__ \x3d flag.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn flag.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar got \x3d temp__5804__auto__;\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Completes at most one of several channel operations. Must be called\n * inside a (go ...) block. ports is a vector of channel endpoints,\n * which can be either a channel to take from or a vector of\n *   [channel-to-put-to val-to-put], in any combination. Takes will be\n *   made as if by \x3c!, and puts will be made as if by \x3e!. Unless\n *   the :priority option is true, if more than one port operation is\n *   ready a non-deterministic choice will be made. If no operation is\n *   ready and a :default value is supplied, [default-val :default] will\n *   be returned, otherwise alts! will park until the first operation to\n *   become ready completes. Returns [val port] of the completed\n *   operation, where val is the value taken for takes, and a\n *   boolean (true unless already closed, as per put!) for puts.\n * \n *   opts are passed as :key val ... Supported options:\n * \n *   :default val - the value to use if none of the operations are immediately ready\n *   :priority true - (default nil) when true, the operations will be tried in order.\n * \n *   Note: there is no guarantee that the port exps or val exprs will be\n *   used, nor in what order should they be, so they should not be\n *   depended upon for side effects.\n */\ncljs.core.async.alts_BANG_ \x3d (function cljs$core$async$alts_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___37461 \x3d arguments.length;\nvar i__5750__auto___37462 \x3d (0);\nwhile(true){\nif((i__5750__auto___37462 \x3c len__5749__auto___37461)){\nargs__5755__auto__.push((arguments[i__5750__auto___37462]));\n\nvar G__37463 \x3d (i__5750__auto___37462 + (1));\ni__5750__auto___37462 \x3d G__37463;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ports,p__35280){\nvar map__35281 \x3d p__35280;\nvar map__35281__$1 \x3d cljs.core.__destructure_map(map__35281);\nvar opts \x3d map__35281__$1;\nthrow (new Error(\x22alts! used not in (go ...) block\x22));\n}));\n\n(cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.async.alts_BANG_.cljs$lang$applyTo \x3d (function (seq35278){\nvar G__35279 \x3d cljs.core.first(seq35278);\nvar seq35278__$1 \x3d cljs.core.next(seq35278);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__35279,seq35278__$1);\n}));\n\n/**\n * Puts a val into port if it\x27s possible to do so immediately.\n *   nil values are not allowed. Never blocks. Returns true if offer succeeds.\n */\ncljs.core.async.offer_BANG_ \x3d (function cljs$core$async$offer_BANG_(port,val){\nvar ret \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes a val from port if it\x27s possible to do so immediately.\n *   Never blocks. Returns value if successful, nil otherwise.\n */\ncljs.core.async.poll_BANG_ \x3d (function cljs$core$async$poll_BANG_(port){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel. By default, the to channel will be closed when the from\n * channel closes, but can be determined by the close?  parameter. Will\n * stop consuming the from channel if the to channel closes\n */\ncljs.core.async.pipe \x3d (function cljs$core$async$pipe(var_args){\nvar G__35285 \x3d arguments.length;\nswitch (G__35285) {\ncase 2:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2 \x3d (function (from,to){\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3(from,to,true);\n}));\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,close_QMARK_){\nvar c__35079__auto___37469 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_35338){\nvar state_val_35341 \x3d (state_35338[(1)]);\nif((state_val_35341 \x3d\x3d\x3d (7))){\nvar inst_35332 \x3d (state_35338[(2)]);\nvar state_35338__$1 \x3d state_35338;\nvar statearr_35364_37470 \x3d state_35338__$1;\n(statearr_35364_37470[(2)] \x3d inst_35332);\n\n(statearr_35364_37470[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (1))){\nvar state_35338__$1 \x3d state_35338;\nvar statearr_35366_37471 \x3d state_35338__$1;\n(statearr_35366_37471[(2)] \x3d null);\n\n(statearr_35366_37471[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (4))){\nvar inst_35291 \x3d (state_35338[(7)]);\nvar inst_35291__$1 \x3d (state_35338[(2)]);\nvar inst_35293 \x3d (inst_35291__$1 \x3d\x3d null);\nvar state_35338__$1 \x3d (function (){var statearr_35388 \x3d state_35338;\n(statearr_35388[(7)] \x3d inst_35291__$1);\n\nreturn statearr_35388;\n})();\nif(cljs.core.truth_(inst_35293)){\nvar statearr_35389_37472 \x3d state_35338__$1;\n(statearr_35389_37472[(1)] \x3d (5));\n\n} else {\nvar statearr_35390_37473 \x3d state_35338__$1;\n(statearr_35390_37473[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (13))){\nvar state_35338__$1 \x3d state_35338;\nvar statearr_35412_37478 \x3d state_35338__$1;\n(statearr_35412_37478[(2)] \x3d null);\n\n(statearr_35412_37478[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (6))){\nvar inst_35291 \x3d (state_35338[(7)]);\nvar state_35338__$1 \x3d state_35338;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35338__$1,(11),to,inst_35291);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (3))){\nvar inst_35334 \x3d (state_35338[(2)]);\nvar state_35338__$1 \x3d state_35338;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35338__$1,inst_35334);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (12))){\nvar state_35338__$1 \x3d state_35338;\nvar statearr_35414_37482 \x3d state_35338__$1;\n(statearr_35414_37482[(2)] \x3d null);\n\n(statearr_35414_37482[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (2))){\nvar state_35338__$1 \x3d state_35338;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35338__$1,(4),from);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (11))){\nvar inst_35325 \x3d (state_35338[(2)]);\nvar state_35338__$1 \x3d state_35338;\nif(cljs.core.truth_(inst_35325)){\nvar statearr_35417_37486 \x3d state_35338__$1;\n(statearr_35417_37486[(1)] \x3d (12));\n\n} else {\nvar statearr_35418_37487 \x3d state_35338__$1;\n(statearr_35418_37487[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (9))){\nvar state_35338__$1 \x3d state_35338;\nvar statearr_35419_37488 \x3d state_35338__$1;\n(statearr_35419_37488[(2)] \x3d null);\n\n(statearr_35419_37488[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (5))){\nvar state_35338__$1 \x3d state_35338;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_35420_37490 \x3d state_35338__$1;\n(statearr_35420_37490[(1)] \x3d (8));\n\n} else {\nvar statearr_35421_37491 \x3d state_35338__$1;\n(statearr_35421_37491[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (14))){\nvar inst_35330 \x3d (state_35338[(2)]);\nvar state_35338__$1 \x3d state_35338;\nvar statearr_35422_37492 \x3d state_35338__$1;\n(statearr_35422_37492[(2)] \x3d inst_35330);\n\n(statearr_35422_37492[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (10))){\nvar inst_35322 \x3d (state_35338[(2)]);\nvar state_35338__$1 \x3d state_35338;\nvar statearr_35423_37494 \x3d state_35338__$1;\n(statearr_35423_37494[(2)] \x3d inst_35322);\n\n(statearr_35423_37494[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35341 \x3d\x3d\x3d (8))){\nvar inst_35306 \x3d cljs.core.async.close_BANG_(to);\nvar state_35338__$1 \x3d state_35338;\nvar statearr_35429_37495 \x3d state_35338__$1;\n(statearr_35429_37495[(2)] \x3d inst_35306);\n\n(statearr_35429_37495[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35438 \x3d [null,null,null,null,null,null,null,null];\n(statearr_35438[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_35438[(1)] \x3d (1));\n\nreturn statearr_35438;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_35338){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35338);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35439){var ex__34863__auto__ \x3d e35439;\nvar statearr_35440_37496 \x3d state_35338;\n(statearr_35440_37496[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35338[(4)]))){\nvar statearr_35441_37497 \x3d state_35338;\n(statearr_35441_37497[(1)] \x3d cljs.core.first((state_35338[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37498 \x3d state_35338;\nstate_35338 \x3d G__37498;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_35338){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_35338);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35443 \x3d f__35080__auto__();\n(statearr_35443[(6)] \x3d c__35079__auto___37469);\n\nreturn statearr_35443;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn to;\n}));\n\n(cljs.core.async.pipe.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.pipeline_STAR_ \x3d (function cljs$core$async$pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,type){\nif((n \x3e (0))){\n} else {\nthrow (new Error(\x22Assert failed: (pos? n)\x22));\n}\n\nvar jobs \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar results \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar process__$1 \x3d (function (p__35446){\nvar vec__35447 \x3d p__35446;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35447,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35447,(1),null);\nvar job \x3d vec__35447;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((1),xf,ex_handler);\nvar c__35079__auto___37502 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_35454){\nvar state_val_35455 \x3d (state_35454[(1)]);\nif((state_val_35455 \x3d\x3d\x3d (1))){\nvar state_35454__$1 \x3d state_35454;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35454__$1,(2),res,v);\n} else {\nif((state_val_35455 \x3d\x3d\x3d (2))){\nvar inst_35451 \x3d (state_35454[(2)]);\nvar inst_35452 \x3d cljs.core.async.close_BANG_(res);\nvar state_35454__$1 \x3d (function (){var statearr_35457 \x3d state_35454;\n(statearr_35457[(7)] \x3d inst_35451);\n\nreturn statearr_35457;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35454__$1,inst_35452);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35458 \x3d [null,null,null,null,null,null,null,null];\n(statearr_35458[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__);\n\n(statearr_35458[(1)] \x3d (1));\n\nreturn statearr_35458;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1 \x3d (function (state_35454){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35454);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35459){var ex__34863__auto__ \x3d e35459;\nvar statearr_35460_37503 \x3d state_35454;\n(statearr_35460_37503[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35454[(4)]))){\nvar statearr_35461_37504 \x3d state_35454;\n(statearr_35461_37504[(1)] \x3d cljs.core.first((state_35454[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37505 \x3d state_35454;\nstate_35454 \x3d G__37505;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d function(state_35454){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1.call(this,state_35454);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35463 \x3d f__35080__auto__();\n(statearr_35463[(6)] \x3d c__35079__auto___37502);\n\nreturn statearr_35463;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar async \x3d (function (p__35464){\nvar vec__35465 \x3d p__35464;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35465,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35465,(1),null);\nvar job \x3d vec__35465;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\n(xf.cljs$core$IFn$_invoke$arity$2 ? xf.cljs$core$IFn$_invoke$arity$2(v,res) : xf.call(null,v,res));\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar n__5616__auto___37506 \x3d n;\nvar __37507 \x3d (0);\nwhile(true){\nif((__37507 \x3c n__5616__auto___37506)){\nvar G__35468_37508 \x3d type;\nvar G__35468_37509__$1 \x3d (((G__35468_37508 instanceof cljs.core.Keyword))?G__35468_37508.fqn:null);\nswitch (G__35468_37509__$1) {\ncase \x22compute\x22:\nvar c__35079__auto___37511 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__37507,c__35079__auto___37511,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async){\nreturn (function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d ((function (__37507,c__35079__auto___37511,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async){\nreturn (function (state_35482){\nvar state_val_35483 \x3d (state_35482[(1)]);\nif((state_val_35483 \x3d\x3d\x3d (1))){\nvar state_35482__$1 \x3d state_35482;\nvar statearr_35484_37512 \x3d state_35482__$1;\n(statearr_35484_37512[(2)] \x3d null);\n\n(statearr_35484_37512[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35483 \x3d\x3d\x3d (2))){\nvar state_35482__$1 \x3d state_35482;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35482__$1,(4),jobs);\n} else {\nif((state_val_35483 \x3d\x3d\x3d (3))){\nvar inst_35480 \x3d (state_35482[(2)]);\nvar state_35482__$1 \x3d state_35482;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35482__$1,inst_35480);\n} else {\nif((state_val_35483 \x3d\x3d\x3d (4))){\nvar inst_35472 \x3d (state_35482[(2)]);\nvar inst_35473 \x3d process__$1(inst_35472);\nvar state_35482__$1 \x3d state_35482;\nif(cljs.core.truth_(inst_35473)){\nvar statearr_35486_37513 \x3d state_35482__$1;\n(statearr_35486_37513[(1)] \x3d (5));\n\n} else {\nvar statearr_35487_37514 \x3d state_35482__$1;\n(statearr_35487_37514[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35483 \x3d\x3d\x3d (5))){\nvar state_35482__$1 \x3d state_35482;\nvar statearr_35488_37515 \x3d state_35482__$1;\n(statearr_35488_37515[(2)] \x3d null);\n\n(statearr_35488_37515[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35483 \x3d\x3d\x3d (6))){\nvar state_35482__$1 \x3d state_35482;\nvar statearr_35489_37517 \x3d state_35482__$1;\n(statearr_35489_37517[(2)] \x3d null);\n\n(statearr_35489_37517[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35483 \x3d\x3d\x3d (7))){\nvar inst_35478 \x3d (state_35482[(2)]);\nvar state_35482__$1 \x3d state_35482;\nvar statearr_35490_37518 \x3d state_35482__$1;\n(statearr_35490_37518[(2)] \x3d inst_35478);\n\n(statearr_35490_37518[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__37507,c__35079__auto___37511,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async))\n;\nreturn ((function (__37507,switch__34859__auto__,c__35079__auto___37511,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35491 \x3d [null,null,null,null,null,null,null];\n(statearr_35491[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__);\n\n(statearr_35491[(1)] \x3d (1));\n\nreturn statearr_35491;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1 \x3d (function (state_35482){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35482);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35492){var ex__34863__auto__ \x3d e35492;\nvar statearr_35493_37519 \x3d state_35482;\n(statearr_35493_37519[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35482[(4)]))){\nvar statearr_35495_37520 \x3d state_35482;\n(statearr_35495_37520[(1)] \x3d cljs.core.first((state_35482[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37521 \x3d state_35482;\nstate_35482 \x3d G__37521;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d function(state_35482){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1.call(this,state_35482);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__;\n})()\n;})(__37507,switch__34859__auto__,c__35079__auto___37511,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async))\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35496 \x3d f__35080__auto__();\n(statearr_35496[(6)] \x3d c__35079__auto___37511);\n\nreturn statearr_35496;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n});})(__37507,c__35079__auto___37511,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async))\n);\n\n\nbreak;\ncase \x22async\x22:\nvar c__35079__auto___37522 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__37507,c__35079__auto___37522,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async){\nreturn (function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d ((function (__37507,c__35079__auto___37522,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async){\nreturn (function (state_35509){\nvar state_val_35510 \x3d (state_35509[(1)]);\nif((state_val_35510 \x3d\x3d\x3d (1))){\nvar state_35509__$1 \x3d state_35509;\nvar statearr_35511_37524 \x3d state_35509__$1;\n(statearr_35511_37524[(2)] \x3d null);\n\n(statearr_35511_37524[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35510 \x3d\x3d\x3d (2))){\nvar state_35509__$1 \x3d state_35509;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35509__$1,(4),jobs);\n} else {\nif((state_val_35510 \x3d\x3d\x3d (3))){\nvar inst_35507 \x3d (state_35509[(2)]);\nvar state_35509__$1 \x3d state_35509;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35509__$1,inst_35507);\n} else {\nif((state_val_35510 \x3d\x3d\x3d (4))){\nvar inst_35499 \x3d (state_35509[(2)]);\nvar inst_35500 \x3d async(inst_35499);\nvar state_35509__$1 \x3d state_35509;\nif(cljs.core.truth_(inst_35500)){\nvar statearr_35513_37525 \x3d state_35509__$1;\n(statearr_35513_37525[(1)] \x3d (5));\n\n} else {\nvar statearr_35514_37526 \x3d state_35509__$1;\n(statearr_35514_37526[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35510 \x3d\x3d\x3d (5))){\nvar state_35509__$1 \x3d state_35509;\nvar statearr_35515_37528 \x3d state_35509__$1;\n(statearr_35515_37528[(2)] \x3d null);\n\n(statearr_35515_37528[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35510 \x3d\x3d\x3d (6))){\nvar state_35509__$1 \x3d state_35509;\nvar statearr_35516_37529 \x3d state_35509__$1;\n(statearr_35516_37529[(2)] \x3d null);\n\n(statearr_35516_37529[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35510 \x3d\x3d\x3d (7))){\nvar inst_35505 \x3d (state_35509[(2)]);\nvar state_35509__$1 \x3d state_35509;\nvar statearr_35517_37530 \x3d state_35509__$1;\n(statearr_35517_37530[(2)] \x3d inst_35505);\n\n(statearr_35517_37530[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__37507,c__35079__auto___37522,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async))\n;\nreturn ((function (__37507,switch__34859__auto__,c__35079__auto___37522,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35518 \x3d [null,null,null,null,null,null,null];\n(statearr_35518[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__);\n\n(statearr_35518[(1)] \x3d (1));\n\nreturn statearr_35518;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1 \x3d (function (state_35509){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35509);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35520){var ex__34863__auto__ \x3d e35520;\nvar statearr_35521_37531 \x3d state_35509;\n(statearr_35521_37531[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35509[(4)]))){\nvar statearr_35522_37532 \x3d state_35509;\n(statearr_35522_37532[(1)] \x3d cljs.core.first((state_35509[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37533 \x3d state_35509;\nstate_35509 \x3d G__37533;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d function(state_35509){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1.call(this,state_35509);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__;\n})()\n;})(__37507,switch__34859__auto__,c__35079__auto___37522,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async))\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35523 \x3d f__35080__auto__();\n(statearr_35523[(6)] \x3d c__35079__auto___37522);\n\nreturn statearr_35523;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n});})(__37507,c__35079__auto___37522,G__35468_37508,G__35468_37509__$1,n__5616__auto___37506,jobs,results,process__$1,async))\n);\n\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__35468_37509__$1)].join(\x27\x27)));\n\n}\n\nvar G__37534 \x3d (__37507 + (1));\n__37507 \x3d G__37534;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar c__35079__auto___37535 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_35546){\nvar state_val_35547 \x3d (state_35546[(1)]);\nif((state_val_35547 \x3d\x3d\x3d (7))){\nvar inst_35542 \x3d (state_35546[(2)]);\nvar state_35546__$1 \x3d state_35546;\nvar statearr_35548_37536 \x3d state_35546__$1;\n(statearr_35548_37536[(2)] \x3d inst_35542);\n\n(statearr_35548_37536[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35547 \x3d\x3d\x3d (1))){\nvar state_35546__$1 \x3d state_35546;\nvar statearr_35549_37537 \x3d state_35546__$1;\n(statearr_35549_37537[(2)] \x3d null);\n\n(statearr_35549_37537[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35547 \x3d\x3d\x3d (4))){\nvar inst_35526 \x3d (state_35546[(7)]);\nvar inst_35526__$1 \x3d (state_35546[(2)]);\nvar inst_35527 \x3d (inst_35526__$1 \x3d\x3d null);\nvar state_35546__$1 \x3d (function (){var statearr_35551 \x3d state_35546;\n(statearr_35551[(7)] \x3d inst_35526__$1);\n\nreturn statearr_35551;\n})();\nif(cljs.core.truth_(inst_35527)){\nvar statearr_35552_37538 \x3d state_35546__$1;\n(statearr_35552_37538[(1)] \x3d (5));\n\n} else {\nvar statearr_35553_37539 \x3d state_35546__$1;\n(statearr_35553_37539[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35547 \x3d\x3d\x3d (6))){\nvar inst_35526 \x3d (state_35546[(7)]);\nvar inst_35531 \x3d (state_35546[(8)]);\nvar inst_35531__$1 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar inst_35533 \x3d cljs.core.PersistentVector.EMPTY_NODE;\nvar inst_35534 \x3d [inst_35526,inst_35531__$1];\nvar inst_35535 \x3d (new cljs.core.PersistentVector(null,2,(5),inst_35533,inst_35534,null));\nvar state_35546__$1 \x3d (function (){var statearr_35554 \x3d state_35546;\n(statearr_35554[(8)] \x3d inst_35531__$1);\n\nreturn statearr_35554;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35546__$1,(8),jobs,inst_35535);\n} else {\nif((state_val_35547 \x3d\x3d\x3d (3))){\nvar inst_35544 \x3d (state_35546[(2)]);\nvar state_35546__$1 \x3d state_35546;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35546__$1,inst_35544);\n} else {\nif((state_val_35547 \x3d\x3d\x3d (2))){\nvar state_35546__$1 \x3d state_35546;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35546__$1,(4),from);\n} else {\nif((state_val_35547 \x3d\x3d\x3d (9))){\nvar inst_35539 \x3d (state_35546[(2)]);\nvar state_35546__$1 \x3d (function (){var statearr_35555 \x3d state_35546;\n(statearr_35555[(9)] \x3d inst_35539);\n\nreturn statearr_35555;\n})();\nvar statearr_35556_37541 \x3d state_35546__$1;\n(statearr_35556_37541[(2)] \x3d null);\n\n(statearr_35556_37541[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35547 \x3d\x3d\x3d (5))){\nvar inst_35529 \x3d cljs.core.async.close_BANG_(jobs);\nvar state_35546__$1 \x3d state_35546;\nvar statearr_35558_37542 \x3d state_35546__$1;\n(statearr_35558_37542[(2)] \x3d inst_35529);\n\n(statearr_35558_37542[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35547 \x3d\x3d\x3d (8))){\nvar inst_35531 \x3d (state_35546[(8)]);\nvar inst_35537 \x3d (state_35546[(2)]);\nvar state_35546__$1 \x3d (function (){var statearr_35559 \x3d state_35546;\n(statearr_35559[(10)] \x3d inst_35537);\n\nreturn statearr_35559;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35546__$1,(9),results,inst_35531);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35560 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_35560[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__);\n\n(statearr_35560[(1)] \x3d (1));\n\nreturn statearr_35560;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1 \x3d (function (state_35546){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35546);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35561){var ex__34863__auto__ \x3d e35561;\nvar statearr_35562_37547 \x3d state_35546;\n(statearr_35562_37547[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35546[(4)]))){\nvar statearr_35563_37548 \x3d state_35546;\n(statearr_35563_37548[(1)] \x3d cljs.core.first((state_35546[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37549 \x3d state_35546;\nstate_35546 \x3d G__37549;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d function(state_35546){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1.call(this,state_35546);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35564 \x3d f__35080__auto__();\n(statearr_35564[(6)] \x3d c__35079__auto___37535);\n\nreturn statearr_35564;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nvar c__35079__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_35603){\nvar state_val_35604 \x3d (state_35603[(1)]);\nif((state_val_35604 \x3d\x3d\x3d (7))){\nvar inst_35599 \x3d (state_35603[(2)]);\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35607_37550 \x3d state_35603__$1;\n(statearr_35607_37550[(2)] \x3d inst_35599);\n\n(statearr_35607_37550[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (20))){\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35608_37551 \x3d state_35603__$1;\n(statearr_35608_37551[(2)] \x3d null);\n\n(statearr_35608_37551[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (1))){\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35609_37552 \x3d state_35603__$1;\n(statearr_35609_37552[(2)] \x3d null);\n\n(statearr_35609_37552[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (4))){\nvar inst_35568 \x3d (state_35603[(7)]);\nvar inst_35568__$1 \x3d (state_35603[(2)]);\nvar inst_35569 \x3d (inst_35568__$1 \x3d\x3d null);\nvar state_35603__$1 \x3d (function (){var statearr_35610 \x3d state_35603;\n(statearr_35610[(7)] \x3d inst_35568__$1);\n\nreturn statearr_35610;\n})();\nif(cljs.core.truth_(inst_35569)){\nvar statearr_35611_37557 \x3d state_35603__$1;\n(statearr_35611_37557[(1)] \x3d (5));\n\n} else {\nvar statearr_35612_37558 \x3d state_35603__$1;\n(statearr_35612_37558[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (15))){\nvar inst_35581 \x3d (state_35603[(8)]);\nvar state_35603__$1 \x3d state_35603;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35603__$1,(18),to,inst_35581);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (21))){\nvar inst_35594 \x3d (state_35603[(2)]);\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35613_37560 \x3d state_35603__$1;\n(statearr_35613_37560[(2)] \x3d inst_35594);\n\n(statearr_35613_37560[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (13))){\nvar inst_35596 \x3d (state_35603[(2)]);\nvar state_35603__$1 \x3d (function (){var statearr_35614 \x3d state_35603;\n(statearr_35614[(9)] \x3d inst_35596);\n\nreturn statearr_35614;\n})();\nvar statearr_35615_37561 \x3d state_35603__$1;\n(statearr_35615_37561[(2)] \x3d null);\n\n(statearr_35615_37561[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (6))){\nvar inst_35568 \x3d (state_35603[(7)]);\nvar state_35603__$1 \x3d state_35603;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35603__$1,(11),inst_35568);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (17))){\nvar inst_35589 \x3d (state_35603[(2)]);\nvar state_35603__$1 \x3d state_35603;\nif(cljs.core.truth_(inst_35589)){\nvar statearr_35618_37562 \x3d state_35603__$1;\n(statearr_35618_37562[(1)] \x3d (19));\n\n} else {\nvar statearr_35619_37563 \x3d state_35603__$1;\n(statearr_35619_37563[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (3))){\nvar inst_35601 \x3d (state_35603[(2)]);\nvar state_35603__$1 \x3d state_35603;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35603__$1,inst_35601);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (12))){\nvar inst_35578 \x3d (state_35603[(10)]);\nvar state_35603__$1 \x3d state_35603;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35603__$1,(14),inst_35578);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (2))){\nvar state_35603__$1 \x3d state_35603;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35603__$1,(4),results);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (19))){\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35620_37564 \x3d state_35603__$1;\n(statearr_35620_37564[(2)] \x3d null);\n\n(statearr_35620_37564[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (11))){\nvar inst_35578 \x3d (state_35603[(2)]);\nvar state_35603__$1 \x3d (function (){var statearr_35621 \x3d state_35603;\n(statearr_35621[(10)] \x3d inst_35578);\n\nreturn statearr_35621;\n})();\nvar statearr_35622_37565 \x3d state_35603__$1;\n(statearr_35622_37565[(2)] \x3d null);\n\n(statearr_35622_37565[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (9))){\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35623_37567 \x3d state_35603__$1;\n(statearr_35623_37567[(2)] \x3d null);\n\n(statearr_35623_37567[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (5))){\nvar state_35603__$1 \x3d state_35603;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_35624_37568 \x3d state_35603__$1;\n(statearr_35624_37568[(1)] \x3d (8));\n\n} else {\nvar statearr_35625_37569 \x3d state_35603__$1;\n(statearr_35625_37569[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (14))){\nvar inst_35581 \x3d (state_35603[(8)]);\nvar inst_35583 \x3d (state_35603[(11)]);\nvar inst_35581__$1 \x3d (state_35603[(2)]);\nvar inst_35582 \x3d (inst_35581__$1 \x3d\x3d null);\nvar inst_35583__$1 \x3d cljs.core.not(inst_35582);\nvar state_35603__$1 \x3d (function (){var statearr_35626 \x3d state_35603;\n(statearr_35626[(8)] \x3d inst_35581__$1);\n\n(statearr_35626[(11)] \x3d inst_35583__$1);\n\nreturn statearr_35626;\n})();\nif(inst_35583__$1){\nvar statearr_35627_37570 \x3d state_35603__$1;\n(statearr_35627_37570[(1)] \x3d (15));\n\n} else {\nvar statearr_35628_37571 \x3d state_35603__$1;\n(statearr_35628_37571[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (16))){\nvar inst_35583 \x3d (state_35603[(11)]);\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35629_37572 \x3d state_35603__$1;\n(statearr_35629_37572[(2)] \x3d inst_35583);\n\n(statearr_35629_37572[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (10))){\nvar inst_35575 \x3d (state_35603[(2)]);\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35631_37573 \x3d state_35603__$1;\n(statearr_35631_37573[(2)] \x3d inst_35575);\n\n(statearr_35631_37573[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (18))){\nvar inst_35586 \x3d (state_35603[(2)]);\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35633_37574 \x3d state_35603__$1;\n(statearr_35633_37574[(2)] \x3d inst_35586);\n\n(statearr_35633_37574[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35604 \x3d\x3d\x3d (8))){\nvar inst_35572 \x3d cljs.core.async.close_BANG_(to);\nvar state_35603__$1 \x3d state_35603;\nvar statearr_35634_37575 \x3d state_35603__$1;\n(statearr_35634_37575[(2)] \x3d inst_35572);\n\n(statearr_35634_37575[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35635 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_35635[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__);\n\n(statearr_35635[(1)] \x3d (1));\n\nreturn statearr_35635;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1 \x3d (function (state_35603){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35603);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35636){var ex__34863__auto__ \x3d e35636;\nvar statearr_35637_37578 \x3d state_35603;\n(statearr_35637_37578[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35603[(4)]))){\nvar statearr_35638_37580 \x3d state_35603;\n(statearr_35638_37580[(1)] \x3d cljs.core.first((state_35603[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37581 \x3d state_35603;\nstate_35603 \x3d G__37581;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__ \x3d function(state_35603){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1.call(this,state_35603);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34860__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35639 \x3d f__35080__auto__();\n(statearr_35639[(6)] \x3d c__35079__auto__);\n\nreturn statearr_35639;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\nreturn c__35079__auto__;\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n *   channel, subject to the async function af, with parallelism n. af\n *   must be a function of two arguments, the first an input value and\n *   the second a channel on which to place the result(s). The\n *   presumption is that af will return immediately, having launched some\n *   asynchronous operation whose completion/callback will put results on\n *   the channel, then close! it. Outputs will be returned in order\n *   relative to the inputs. By default, the to channel will be closed\n *   when the from channel closes, but can be determined by the close?\n *   parameter. Will stop consuming the from channel if the to channel\n *   closes. See also pipeline, pipeline-blocking.\n */\ncljs.core.async.pipeline_async \x3d (function cljs$core$async$pipeline_async(var_args){\nvar G__35641 \x3d arguments.length;\nswitch (G__35641) {\ncase 4:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,af,from){\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5(n,to,af,from,true);\n}));\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,af,from,close_QMARK_){\nreturn cljs.core.async.pipeline_STAR_(n,to,af,from,close_QMARK_,null,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\n}));\n\n(cljs.core.async.pipeline_async.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Takes elements from the from channel and supplies them to the to\n *   channel, subject to the transducer xf, with parallelism n. Because\n *   it is parallel, the transducer will be applied independently to each\n *   element, not across elements, and may produce zero or more outputs\n *   per input.  Outputs will be returned in order relative to the\n *   inputs. By default, the to channel will be closed when the from\n *   channel closes, but can be determined by the close?  parameter. Will\n *   stop consuming the from channel if the to channel closes.\n * \n *   Note this is supplied for API compatibility with the Clojure version.\n *   Values of N \x3e 1 will not result in actual concurrency in a\n *   single-threaded runtime.\n */\ncljs.core.async.pipeline \x3d (function cljs$core$async$pipeline(var_args){\nvar G__35652 \x3d arguments.length;\nswitch (G__35652) {\ncase 4:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,xf,from){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5(n,to,xf,from,true);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,xf,from,close_QMARK_){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6(n,to,xf,from,close_QMARK_,null);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6 \x3d (function (n,to,xf,from,close_QMARK_,ex_handler){\nreturn cljs.core.async.pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,new cljs.core.Keyword(null,\x22compute\x22,\x22compute\x22,1555393130));\n}));\n\n(cljs.core.async.pipeline.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Takes a predicate and a source channel and returns a vector of two\n *   channels, the first of which will contain the values for which the\n *   predicate returned true, the second those for which it returned\n *   false.\n * \n *   The out channels will be unbuffered by default, or two buf-or-ns can\n *   be supplied. The channels will close after the source channel has\n *   closed.\n */\ncljs.core.async.split \x3d (function cljs$core$async$split(var_args){\nvar G__35666 \x3d arguments.length;\nswitch (G__35666) {\ncase 2:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4(p,ch,null,null);\n}));\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,ch,t_buf_or_n,f_buf_or_n){\nvar tc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(t_buf_or_n);\nvar fc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(f_buf_or_n);\nvar c__35079__auto___37596 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_35705){\nvar state_val_35706 \x3d (state_35705[(1)]);\nif((state_val_35706 \x3d\x3d\x3d (7))){\nvar inst_35700 \x3d (state_35705[(2)]);\nvar state_35705__$1 \x3d state_35705;\nvar statearr_35711_37597 \x3d state_35705__$1;\n(statearr_35711_37597[(2)] \x3d inst_35700);\n\n(statearr_35711_37597[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (1))){\nvar state_35705__$1 \x3d state_35705;\nvar statearr_35714_37598 \x3d state_35705__$1;\n(statearr_35714_37598[(2)] \x3d null);\n\n(statearr_35714_37598[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (4))){\nvar inst_35677 \x3d (state_35705[(7)]);\nvar inst_35677__$1 \x3d (state_35705[(2)]);\nvar inst_35679 \x3d (inst_35677__$1 \x3d\x3d null);\nvar state_35705__$1 \x3d (function (){var statearr_35716 \x3d state_35705;\n(statearr_35716[(7)] \x3d inst_35677__$1);\n\nreturn statearr_35716;\n})();\nif(cljs.core.truth_(inst_35679)){\nvar statearr_35718_37599 \x3d state_35705__$1;\n(statearr_35718_37599[(1)] \x3d (5));\n\n} else {\nvar statearr_35719_37600 \x3d state_35705__$1;\n(statearr_35719_37600[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (13))){\nvar state_35705__$1 \x3d state_35705;\nvar statearr_35723_37601 \x3d state_35705__$1;\n(statearr_35723_37601[(2)] \x3d null);\n\n(statearr_35723_37601[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (6))){\nvar inst_35677 \x3d (state_35705[(7)]);\nvar inst_35686 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_35677) : p.call(null,inst_35677));\nvar state_35705__$1 \x3d state_35705;\nif(cljs.core.truth_(inst_35686)){\nvar statearr_35725_37602 \x3d state_35705__$1;\n(statearr_35725_37602[(1)] \x3d (9));\n\n} else {\nvar statearr_35726_37603 \x3d state_35705__$1;\n(statearr_35726_37603[(1)] \x3d (10));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (3))){\nvar inst_35702 \x3d (state_35705[(2)]);\nvar state_35705__$1 \x3d state_35705;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35705__$1,inst_35702);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (12))){\nvar state_35705__$1 \x3d state_35705;\nvar statearr_35731_37604 \x3d state_35705__$1;\n(statearr_35731_37604[(2)] \x3d null);\n\n(statearr_35731_37604[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (2))){\nvar state_35705__$1 \x3d state_35705;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35705__$1,(4),ch);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (11))){\nvar inst_35677 \x3d (state_35705[(7)]);\nvar inst_35690 \x3d (state_35705[(2)]);\nvar state_35705__$1 \x3d state_35705;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35705__$1,(8),inst_35690,inst_35677);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (9))){\nvar state_35705__$1 \x3d state_35705;\nvar statearr_35736_37605 \x3d state_35705__$1;\n(statearr_35736_37605[(2)] \x3d tc);\n\n(statearr_35736_37605[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (5))){\nvar inst_35681 \x3d cljs.core.async.close_BANG_(tc);\nvar inst_35682 \x3d cljs.core.async.close_BANG_(fc);\nvar state_35705__$1 \x3d (function (){var statearr_35740 \x3d state_35705;\n(statearr_35740[(8)] \x3d inst_35681);\n\nreturn statearr_35740;\n})();\nvar statearr_35741_37606 \x3d state_35705__$1;\n(statearr_35741_37606[(2)] \x3d inst_35682);\n\n(statearr_35741_37606[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (14))){\nvar inst_35698 \x3d (state_35705[(2)]);\nvar state_35705__$1 \x3d state_35705;\nvar statearr_35743_37607 \x3d state_35705__$1;\n(statearr_35743_37607[(2)] \x3d inst_35698);\n\n(statearr_35743_37607[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (10))){\nvar state_35705__$1 \x3d state_35705;\nvar statearr_35747_37611 \x3d state_35705__$1;\n(statearr_35747_37611[(2)] \x3d fc);\n\n(statearr_35747_37611[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35706 \x3d\x3d\x3d (8))){\nvar inst_35693 \x3d (state_35705[(2)]);\nvar state_35705__$1 \x3d state_35705;\nif(cljs.core.truth_(inst_35693)){\nvar statearr_35749_37612 \x3d state_35705__$1;\n(statearr_35749_37612[(1)] \x3d (12));\n\n} else {\nvar statearr_35750_37613 \x3d state_35705__$1;\n(statearr_35750_37613[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35755 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_35755[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_35755[(1)] \x3d (1));\n\nreturn statearr_35755;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_35705){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35705);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35758){var ex__34863__auto__ \x3d e35758;\nvar statearr_35760_37616 \x3d state_35705;\n(statearr_35760_37616[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35705[(4)]))){\nvar statearr_35761_37617 \x3d state_35705;\n(statearr_35761_37617[(1)] \x3d cljs.core.first((state_35705[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37618 \x3d state_35705;\nstate_35705 \x3d G__37618;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_35705){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_35705);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35766 \x3d f__35080__auto__();\n(statearr_35766[(6)] \x3d c__35079__auto___37596);\n\nreturn statearr_35766;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [tc,fc], null);\n}));\n\n(cljs.core.async.split.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * f should be a function of 2 arguments. Returns a channel containing\n *   the single result of applying f to init and the first item from the\n *   channel, then applying f to that result and the 2nd item, etc. If\n *   the channel closes without yielding items, returns init and f is not\n *   called. ch must close before reduce produces a result.\n */\ncljs.core.async.reduce \x3d (function cljs$core$async$reduce(f,init,ch){\nvar c__35079__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_35797){\nvar state_val_35798 \x3d (state_35797[(1)]);\nif((state_val_35798 \x3d\x3d\x3d (7))){\nvar inst_35792 \x3d (state_35797[(2)]);\nvar state_35797__$1 \x3d state_35797;\nvar statearr_35803_37619 \x3d state_35797__$1;\n(statearr_35803_37619[(2)] \x3d inst_35792);\n\n(statearr_35803_37619[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35798 \x3d\x3d\x3d (1))){\nvar inst_35772 \x3d init;\nvar inst_35773 \x3d inst_35772;\nvar state_35797__$1 \x3d (function (){var statearr_35807 \x3d state_35797;\n(statearr_35807[(7)] \x3d inst_35773);\n\nreturn statearr_35807;\n})();\nvar statearr_35808_37620 \x3d state_35797__$1;\n(statearr_35808_37620[(2)] \x3d null);\n\n(statearr_35808_37620[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35798 \x3d\x3d\x3d (4))){\nvar inst_35776 \x3d (state_35797[(8)]);\nvar inst_35776__$1 \x3d (state_35797[(2)]);\nvar inst_35779 \x3d (inst_35776__$1 \x3d\x3d null);\nvar state_35797__$1 \x3d (function (){var statearr_35810 \x3d state_35797;\n(statearr_35810[(8)] \x3d inst_35776__$1);\n\nreturn statearr_35810;\n})();\nif(cljs.core.truth_(inst_35779)){\nvar statearr_35813_37625 \x3d state_35797__$1;\n(statearr_35813_37625[(1)] \x3d (5));\n\n} else {\nvar statearr_35815_37626 \x3d state_35797__$1;\n(statearr_35815_37626[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35798 \x3d\x3d\x3d (6))){\nvar inst_35773 \x3d (state_35797[(7)]);\nvar inst_35776 \x3d (state_35797[(8)]);\nvar inst_35783 \x3d (state_35797[(9)]);\nvar inst_35783__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(inst_35773,inst_35776) : f.call(null,inst_35773,inst_35776));\nvar inst_35784 \x3d cljs.core.reduced_QMARK_(inst_35783__$1);\nvar state_35797__$1 \x3d (function (){var statearr_35817 \x3d state_35797;\n(statearr_35817[(9)] \x3d inst_35783__$1);\n\nreturn statearr_35817;\n})();\nif(inst_35784){\nvar statearr_35820_37627 \x3d state_35797__$1;\n(statearr_35820_37627[(1)] \x3d (8));\n\n} else {\nvar statearr_35822_37628 \x3d state_35797__$1;\n(statearr_35822_37628[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35798 \x3d\x3d\x3d (3))){\nvar inst_35794 \x3d (state_35797[(2)]);\nvar state_35797__$1 \x3d state_35797;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35797__$1,inst_35794);\n} else {\nif((state_val_35798 \x3d\x3d\x3d (2))){\nvar state_35797__$1 \x3d state_35797;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35797__$1,(4),ch);\n} else {\nif((state_val_35798 \x3d\x3d\x3d (9))){\nvar inst_35783 \x3d (state_35797[(9)]);\nvar inst_35773 \x3d inst_35783;\nvar state_35797__$1 \x3d (function (){var statearr_35827 \x3d state_35797;\n(statearr_35827[(7)] \x3d inst_35773);\n\nreturn statearr_35827;\n})();\nvar statearr_35828_37629 \x3d state_35797__$1;\n(statearr_35828_37629[(2)] \x3d null);\n\n(statearr_35828_37629[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35798 \x3d\x3d\x3d (5))){\nvar inst_35773 \x3d (state_35797[(7)]);\nvar state_35797__$1 \x3d state_35797;\nvar statearr_35830_37630 \x3d state_35797__$1;\n(statearr_35830_37630[(2)] \x3d inst_35773);\n\n(statearr_35830_37630[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35798 \x3d\x3d\x3d (10))){\nvar inst_35790 \x3d (state_35797[(2)]);\nvar state_35797__$1 \x3d state_35797;\nvar statearr_35834_37631 \x3d state_35797__$1;\n(statearr_35834_37631[(2)] \x3d inst_35790);\n\n(statearr_35834_37631[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35798 \x3d\x3d\x3d (8))){\nvar inst_35783 \x3d (state_35797[(9)]);\nvar inst_35786 \x3d cljs.core.deref(inst_35783);\nvar state_35797__$1 \x3d state_35797;\nvar statearr_35835_37632 \x3d state_35797__$1;\n(statearr_35835_37632[(2)] \x3d inst_35786);\n\n(statearr_35835_37632[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$reduce_$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$reduce_$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35837 \x3d [null,null,null,null,null,null,null,null,null,null];\n(statearr_35837[(0)] \x3d cljs$core$async$reduce_$_state_machine__34860__auto__);\n\n(statearr_35837[(1)] \x3d (1));\n\nreturn statearr_35837;\n});\nvar cljs$core$async$reduce_$_state_machine__34860__auto____1 \x3d (function (state_35797){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35797);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35841){var ex__34863__auto__ \x3d e35841;\nvar statearr_35842_37633 \x3d state_35797;\n(statearr_35842_37633[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35797[(4)]))){\nvar statearr_35844_37634 \x3d state_35797;\n(statearr_35844_37634[(1)] \x3d cljs.core.first((state_35797[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37635 \x3d state_35797;\nstate_35797 \x3d G__37635;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$reduce_$_state_machine__34860__auto__ \x3d function(state_35797){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$reduce_$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$reduce_$_state_machine__34860__auto____1.call(this,state_35797);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$reduce_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$reduce_$_state_machine__34860__auto____0;\ncljs$core$async$reduce_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$reduce_$_state_machine__34860__auto____1;\nreturn cljs$core$async$reduce_$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35848 \x3d f__35080__auto__();\n(statearr_35848[(6)] \x3d c__35079__auto__);\n\nreturn statearr_35848;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\nreturn c__35079__auto__;\n});\n/**\n * async/reduces a channel with a transformation (xform f).\n *   Returns a channel containing the result.  ch must close before\n *   transduce produces a result.\n */\ncljs.core.async.transduce \x3d (function cljs$core$async$transduce(xform,f,init,ch){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar c__35079__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_35863){\nvar state_val_35864 \x3d (state_35863[(1)]);\nif((state_val_35864 \x3d\x3d\x3d (1))){\nvar inst_35855 \x3d cljs.core.async.reduce(f__$1,init,ch);\nvar state_35863__$1 \x3d state_35863;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35863__$1,(2),inst_35855);\n} else {\nif((state_val_35864 \x3d\x3d\x3d (2))){\nvar inst_35858 \x3d (state_35863[(2)]);\nvar inst_35860 \x3d (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(inst_35858) : f__$1.call(null,inst_35858));\nvar state_35863__$1 \x3d state_35863;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35863__$1,inst_35860);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$transduce_$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$transduce_$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35874 \x3d [null,null,null,null,null,null,null];\n(statearr_35874[(0)] \x3d cljs$core$async$transduce_$_state_machine__34860__auto__);\n\n(statearr_35874[(1)] \x3d (1));\n\nreturn statearr_35874;\n});\nvar cljs$core$async$transduce_$_state_machine__34860__auto____1 \x3d (function (state_35863){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35863);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35876){var ex__34863__auto__ \x3d e35876;\nvar statearr_35878_37636 \x3d state_35863;\n(statearr_35878_37636[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35863[(4)]))){\nvar statearr_35881_37637 \x3d state_35863;\n(statearr_35881_37637[(1)] \x3d cljs.core.first((state_35863[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37638 \x3d state_35863;\nstate_35863 \x3d G__37638;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$transduce_$_state_machine__34860__auto__ \x3d function(state_35863){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$transduce_$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$transduce_$_state_machine__34860__auto____1.call(this,state_35863);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$transduce_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$transduce_$_state_machine__34860__auto____0;\ncljs$core$async$transduce_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$transduce_$_state_machine__34860__auto____1;\nreturn cljs$core$async$transduce_$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35887 \x3d f__35080__auto__();\n(statearr_35887[(6)] \x3d c__35079__auto__);\n\nreturn statearr_35887;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\nreturn c__35079__auto__;\n});\n/**\n * Puts the contents of coll into the supplied channel.\n * \n *   By default the channel will be closed after the items are copied,\n *   but can be determined by the close? parameter.\n * \n *   Returns a channel which will close after the items are copied.\n */\ncljs.core.async.onto_chan_BANG_ \x3d (function cljs$core$async$onto_chan_BANG_(var_args){\nvar G__35893 \x3d arguments.length;\nswitch (G__35893) {\ncase 2:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nvar c__35079__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_35930){\nvar state_val_35931 \x3d (state_35930[(1)]);\nif((state_val_35931 \x3d\x3d\x3d (7))){\nvar inst_35908 \x3d (state_35930[(2)]);\nvar state_35930__$1 \x3d state_35930;\nvar statearr_35937_37640 \x3d state_35930__$1;\n(statearr_35937_37640[(2)] \x3d inst_35908);\n\n(statearr_35937_37640[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (1))){\nvar inst_35899 \x3d cljs.core.seq(coll);\nvar inst_35900 \x3d inst_35899;\nvar state_35930__$1 \x3d (function (){var statearr_35942 \x3d state_35930;\n(statearr_35942[(7)] \x3d inst_35900);\n\nreturn statearr_35942;\n})();\nvar statearr_35943_37641 \x3d state_35930__$1;\n(statearr_35943_37641[(2)] \x3d null);\n\n(statearr_35943_37641[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (4))){\nvar inst_35900 \x3d (state_35930[(7)]);\nvar inst_35906 \x3d cljs.core.first(inst_35900);\nvar state_35930__$1 \x3d state_35930;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35930__$1,(7),ch,inst_35906);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (13))){\nvar inst_35921 \x3d (state_35930[(2)]);\nvar state_35930__$1 \x3d state_35930;\nvar statearr_35951_37642 \x3d state_35930__$1;\n(statearr_35951_37642[(2)] \x3d inst_35921);\n\n(statearr_35951_37642[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (6))){\nvar inst_35911 \x3d (state_35930[(2)]);\nvar state_35930__$1 \x3d state_35930;\nif(cljs.core.truth_(inst_35911)){\nvar statearr_35953_37647 \x3d state_35930__$1;\n(statearr_35953_37647[(1)] \x3d (8));\n\n} else {\nvar statearr_35955_37648 \x3d state_35930__$1;\n(statearr_35955_37648[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (3))){\nvar inst_35925 \x3d (state_35930[(2)]);\nvar state_35930__$1 \x3d state_35930;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35930__$1,inst_35925);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (12))){\nvar state_35930__$1 \x3d state_35930;\nvar statearr_35959_37649 \x3d state_35930__$1;\n(statearr_35959_37649[(2)] \x3d null);\n\n(statearr_35959_37649[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (2))){\nvar inst_35900 \x3d (state_35930[(7)]);\nvar state_35930__$1 \x3d state_35930;\nif(cljs.core.truth_(inst_35900)){\nvar statearr_35963_37650 \x3d state_35930__$1;\n(statearr_35963_37650[(1)] \x3d (4));\n\n} else {\nvar statearr_35964_37651 \x3d state_35930__$1;\n(statearr_35964_37651[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (11))){\nvar inst_35918 \x3d cljs.core.async.close_BANG_(ch);\nvar state_35930__$1 \x3d state_35930;\nvar statearr_35968_37652 \x3d state_35930__$1;\n(statearr_35968_37652[(2)] \x3d inst_35918);\n\n(statearr_35968_37652[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (9))){\nvar state_35930__$1 \x3d state_35930;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_35970_37653 \x3d state_35930__$1;\n(statearr_35970_37653[(1)] \x3d (11));\n\n} else {\nvar statearr_35971_37654 \x3d state_35930__$1;\n(statearr_35971_37654[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (5))){\nvar inst_35900 \x3d (state_35930[(7)]);\nvar state_35930__$1 \x3d state_35930;\nvar statearr_35973_37655 \x3d state_35930__$1;\n(statearr_35973_37655[(2)] \x3d inst_35900);\n\n(statearr_35973_37655[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (10))){\nvar inst_35923 \x3d (state_35930[(2)]);\nvar state_35930__$1 \x3d state_35930;\nvar statearr_35974_37660 \x3d state_35930__$1;\n(statearr_35974_37660[(2)] \x3d inst_35923);\n\n(statearr_35974_37660[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35931 \x3d\x3d\x3d (8))){\nvar inst_35900 \x3d (state_35930[(7)]);\nvar inst_35913 \x3d cljs.core.next(inst_35900);\nvar inst_35900__$1 \x3d inst_35913;\nvar state_35930__$1 \x3d (function (){var statearr_35975 \x3d state_35930;\n(statearr_35975[(7)] \x3d inst_35900__$1);\n\nreturn statearr_35975;\n})();\nvar statearr_35976_37661 \x3d state_35930__$1;\n(statearr_35976_37661[(2)] \x3d null);\n\n(statearr_35976_37661[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_35977 \x3d [null,null,null,null,null,null,null,null];\n(statearr_35977[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_35977[(1)] \x3d (1));\n\nreturn statearr_35977;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_35930){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_35930);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e35978){var ex__34863__auto__ \x3d e35978;\nvar statearr_35979_37662 \x3d state_35930;\n(statearr_35979_37662[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_35930[(4)]))){\nvar statearr_35980_37663 \x3d state_35930;\n(statearr_35980_37663[(1)] \x3d cljs.core.first((state_35930[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37664 \x3d state_35930;\nstate_35930 \x3d G__37664;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_35930){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_35930);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_35981 \x3d f__35080__auto__();\n(statearr_35981[(6)] \x3d c__35079__auto__);\n\nreturn statearr_35981;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\nreturn c__35079__auto__;\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates and returns a channel which contains the contents of coll,\n *   closing when exhausted.\n */\ncljs.core.async.to_chan_BANG_ \x3d (function cljs$core$async$to_chan_BANG_(coll){\nvar ch \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.bounded_count((100),coll));\ncljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2(ch,coll);\n\nreturn ch;\n});\n/**\n * Deprecated - use onto-chan!\n */\ncljs.core.async.onto_chan \x3d (function cljs$core$async$onto_chan(var_args){\nvar G__35983 \x3d arguments.length;\nswitch (G__35983) {\ncase 2:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,close_QMARK_);\n}));\n\n(cljs.core.async.onto_chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - use to-chan!\n */\ncljs.core.async.to_chan \x3d (function cljs$core$async$to_chan(coll){\nreturn cljs.core.async.to_chan_BANG_(coll);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mux \x3d function(){};\n\nvar cljs$core$async$Mux$muxch_STAR_$dyn_37672 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (cljs.core.async.muxch_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.muxch_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mux.muxch*\x22,_);\n}\n}\n});\ncljs.core.async.muxch_STAR_ \x3d (function cljs$core$async$muxch_STAR_(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$core$async$Mux$muxch_STAR_$arity$1(_);\n} else {\nreturn cljs$core$async$Mux$muxch_STAR_$dyn_37672(_);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.Mult \x3d function(){};\n\nvar cljs$core$async$Mult$tap_STAR_$dyn_37673 \x3d (function (m,ch,close_QMARK_){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.tap_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5374__auto__.call(null,m,ch,close_QMARK_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.tap_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5372__auto__.call(null,m,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.tap*\x22,m);\n}\n}\n});\ncljs.core.async.tap_STAR_ \x3d (function cljs$core$async$tap_STAR_(m,ch,close_QMARK_){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$tap_STAR_$arity$3(m,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Mult$tap_STAR_$dyn_37673(m,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Mult$untap_STAR_$dyn_37674 \x3d (function (m,ch){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.untap_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5374__auto__.call(null,m,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.untap_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5372__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap*\x22,m);\n}\n}\n});\ncljs.core.async.untap_STAR_ \x3d (function cljs$core$async$untap_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mult$untap_STAR_$dyn_37674(m,ch);\n}\n});\n\nvar cljs$core$async$Mult$untap_all_STAR_$dyn_37675 \x3d (function (m){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.untap_all_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5374__auto__.call(null,m));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.untap_all_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5372__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap-all*\x22,m);\n}\n}\n});\ncljs.core.async.untap_all_STAR_ \x3d (function cljs$core$async$untap_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mult$untap_all_STAR_$dyn_37675(m);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.Mult}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async35986 \x3d (function (ch,cs,meta35987){\nthis.ch \x3d ch;\nthis.cs \x3d cs;\nthis.meta35987 \x3d meta35987;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async35986.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35988,meta35987__$1){\nvar self__ \x3d this;\nvar _35988__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async35986(self__.ch,self__.cs,meta35987__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async35986.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35988){\nvar self__ \x3d this;\nvar _35988__$1 \x3d this;\nreturn self__.meta35987;\n}));\n\n(cljs.core.async.t_cljs$core$async35986.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35986.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async35986.prototype.cljs$core$async$Mult$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35986.prototype.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d (function (_,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch__$1,close_QMARK_);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async35986.prototype.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d (function (_,ch__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch__$1);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async35986.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async35986.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22meta35987\x22,\x22meta35987\x22,-1305665044,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async35986.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async35986.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async35986\x22);\n\n(cljs.core.async.t_cljs$core$async35986.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async35986\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async35986.\n */\ncljs.core.async.__GT_t_cljs$core$async35986 \x3d (function cljs$core$async$__GT_t_cljs$core$async35986(ch,cs,meta35987){\nreturn (new cljs.core.async.t_cljs$core$async35986(ch,cs,meta35987));\n});\n\n\n/**\n * Creates and returns a mult(iple) of the supplied channel. Channels\n *   containing copies of the channel can be created with \x27tap\x27, and\n *   detached with \x27untap\x27.\n * \n *   Each item is distributed to all taps in parallel and synchronously,\n *   i.e. each tap must accept before the next item is distributed. Use\n *   buffering/windowing to prevent slow taps from holding up the mult.\n * \n *   Items received when there are no taps get dropped.\n * \n *   If a tap puts to a closed channel, it will be removed from the mult.\n */\ncljs.core.async.mult \x3d (function cljs$core$async$mult(ch){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar m \x3d (new cljs.core.async.t_cljs$core$async35986(ch,cs,cljs.core.PersistentArrayMap.EMPTY));\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d (function (_){\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,true);\n} else {\nreturn null;\n}\n});\nvar c__35079__auto___37680 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_36153){\nvar state_val_36154 \x3d (state_36153[(1)]);\nif((state_val_36154 \x3d\x3d\x3d (7))){\nvar inst_36148 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36162_37681 \x3d state_36153__$1;\n(statearr_36162_37681[(2)] \x3d inst_36148);\n\n(statearr_36162_37681[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (20))){\nvar inst_36041 \x3d (state_36153[(7)]);\nvar inst_36056 \x3d cljs.core.first(inst_36041);\nvar inst_36058 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36056,(0),null);\nvar inst_36059 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36056,(1),null);\nvar state_36153__$1 \x3d (function (){var statearr_36164 \x3d state_36153;\n(statearr_36164[(8)] \x3d inst_36058);\n\nreturn statearr_36164;\n})();\nif(cljs.core.truth_(inst_36059)){\nvar statearr_36165_37682 \x3d state_36153__$1;\n(statearr_36165_37682[(1)] \x3d (22));\n\n} else {\nvar statearr_36166_37683 \x3d state_36153__$1;\n(statearr_36166_37683[(1)] \x3d (23));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (27))){\nvar inst_36091 \x3d (state_36153[(9)]);\nvar inst_36093 \x3d (state_36153[(10)]);\nvar inst_36098 \x3d (state_36153[(11)]);\nvar inst_36002 \x3d (state_36153[(12)]);\nvar inst_36098__$1 \x3d cljs.core._nth(inst_36091,inst_36093);\nvar inst_36099 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_36098__$1,inst_36002,done);\nvar state_36153__$1 \x3d (function (){var statearr_36167 \x3d state_36153;\n(statearr_36167[(11)] \x3d inst_36098__$1);\n\nreturn statearr_36167;\n})();\nif(cljs.core.truth_(inst_36099)){\nvar statearr_36171_37684 \x3d state_36153__$1;\n(statearr_36171_37684[(1)] \x3d (30));\n\n} else {\nvar statearr_36172_37685 \x3d state_36153__$1;\n(statearr_36172_37685[(1)] \x3d (31));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (1))){\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36174_37686 \x3d state_36153__$1;\n(statearr_36174_37686[(2)] \x3d null);\n\n(statearr_36174_37686[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (24))){\nvar inst_36041 \x3d (state_36153[(7)]);\nvar inst_36064 \x3d (state_36153[(2)]);\nvar inst_36065 \x3d cljs.core.next(inst_36041);\nvar inst_36011 \x3d inst_36065;\nvar inst_36012 \x3d null;\nvar inst_36013 \x3d (0);\nvar inst_36014 \x3d (0);\nvar state_36153__$1 \x3d (function (){var statearr_36178 \x3d state_36153;\n(statearr_36178[(13)] \x3d inst_36064);\n\n(statearr_36178[(14)] \x3d inst_36011);\n\n(statearr_36178[(15)] \x3d inst_36012);\n\n(statearr_36178[(16)] \x3d inst_36013);\n\n(statearr_36178[(17)] \x3d inst_36014);\n\nreturn statearr_36178;\n})();\nvar statearr_36180_37687 \x3d state_36153__$1;\n(statearr_36180_37687[(2)] \x3d null);\n\n(statearr_36180_37687[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (39))){\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36188_37688 \x3d state_36153__$1;\n(statearr_36188_37688[(2)] \x3d null);\n\n(statearr_36188_37688[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (4))){\nvar inst_36002 \x3d (state_36153[(12)]);\nvar inst_36002__$1 \x3d (state_36153[(2)]);\nvar inst_36003 \x3d (inst_36002__$1 \x3d\x3d null);\nvar state_36153__$1 \x3d (function (){var statearr_36189 \x3d state_36153;\n(statearr_36189[(12)] \x3d inst_36002__$1);\n\nreturn statearr_36189;\n})();\nif(cljs.core.truth_(inst_36003)){\nvar statearr_36190_37689 \x3d state_36153__$1;\n(statearr_36190_37689[(1)] \x3d (5));\n\n} else {\nvar statearr_36192_37690 \x3d state_36153__$1;\n(statearr_36192_37690[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (15))){\nvar inst_36014 \x3d (state_36153[(17)]);\nvar inst_36011 \x3d (state_36153[(14)]);\nvar inst_36012 \x3d (state_36153[(15)]);\nvar inst_36013 \x3d (state_36153[(16)]);\nvar inst_36036 \x3d (state_36153[(2)]);\nvar inst_36037 \x3d (inst_36014 + (1));\nvar tmp36181 \x3d inst_36012;\nvar tmp36182 \x3d inst_36013;\nvar tmp36183 \x3d inst_36011;\nvar inst_36011__$1 \x3d tmp36183;\nvar inst_36012__$1 \x3d tmp36181;\nvar inst_36013__$1 \x3d tmp36182;\nvar inst_36014__$1 \x3d inst_36037;\nvar state_36153__$1 \x3d (function (){var statearr_36193 \x3d state_36153;\n(statearr_36193[(18)] \x3d inst_36036);\n\n(statearr_36193[(14)] \x3d inst_36011__$1);\n\n(statearr_36193[(15)] \x3d inst_36012__$1);\n\n(statearr_36193[(16)] \x3d inst_36013__$1);\n\n(statearr_36193[(17)] \x3d inst_36014__$1);\n\nreturn statearr_36193;\n})();\nvar statearr_36194_37694 \x3d state_36153__$1;\n(statearr_36194_37694[(2)] \x3d null);\n\n(statearr_36194_37694[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (21))){\nvar inst_36068 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36198_37695 \x3d state_36153__$1;\n(statearr_36198_37695[(2)] \x3d inst_36068);\n\n(statearr_36198_37695[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (31))){\nvar inst_36098 \x3d (state_36153[(11)]);\nvar inst_36102 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_36098);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36206_37699 \x3d state_36153__$1;\n(statearr_36206_37699[(2)] \x3d inst_36102);\n\n(statearr_36206_37699[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (32))){\nvar inst_36093 \x3d (state_36153[(10)]);\nvar inst_36090 \x3d (state_36153[(19)]);\nvar inst_36091 \x3d (state_36153[(9)]);\nvar inst_36092 \x3d (state_36153[(20)]);\nvar inst_36104 \x3d (state_36153[(2)]);\nvar inst_36105 \x3d (inst_36093 + (1));\nvar tmp36195 \x3d inst_36092;\nvar tmp36196 \x3d inst_36091;\nvar tmp36197 \x3d inst_36090;\nvar inst_36090__$1 \x3d tmp36197;\nvar inst_36091__$1 \x3d tmp36196;\nvar inst_36092__$1 \x3d tmp36195;\nvar inst_36093__$1 \x3d inst_36105;\nvar state_36153__$1 \x3d (function (){var statearr_36208 \x3d state_36153;\n(statearr_36208[(21)] \x3d inst_36104);\n\n(statearr_36208[(19)] \x3d inst_36090__$1);\n\n(statearr_36208[(9)] \x3d inst_36091__$1);\n\n(statearr_36208[(20)] \x3d inst_36092__$1);\n\n(statearr_36208[(10)] \x3d inst_36093__$1);\n\nreturn statearr_36208;\n})();\nvar statearr_36212_37700 \x3d state_36153__$1;\n(statearr_36212_37700[(2)] \x3d null);\n\n(statearr_36212_37700[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (40))){\nvar inst_36121 \x3d (state_36153[(22)]);\nvar inst_36125 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_36121);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36214_37701 \x3d state_36153__$1;\n(statearr_36214_37701[(2)] \x3d inst_36125);\n\n(statearr_36214_37701[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (33))){\nvar inst_36111 \x3d (state_36153[(23)]);\nvar inst_36113 \x3d cljs.core.chunked_seq_QMARK_(inst_36111);\nvar state_36153__$1 \x3d state_36153;\nif(inst_36113){\nvar statearr_36218_37702 \x3d state_36153__$1;\n(statearr_36218_37702[(1)] \x3d (36));\n\n} else {\nvar statearr_36219_37703 \x3d state_36153__$1;\n(statearr_36219_37703[(1)] \x3d (37));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (13))){\nvar inst_36027 \x3d (state_36153[(24)]);\nvar inst_36033 \x3d cljs.core.async.close_BANG_(inst_36027);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36221_37704 \x3d state_36153__$1;\n(statearr_36221_37704[(2)] \x3d inst_36033);\n\n(statearr_36221_37704[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (22))){\nvar inst_36058 \x3d (state_36153[(8)]);\nvar inst_36061 \x3d cljs.core.async.close_BANG_(inst_36058);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36222_37705 \x3d state_36153__$1;\n(statearr_36222_37705[(2)] \x3d inst_36061);\n\n(statearr_36222_37705[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (36))){\nvar inst_36111 \x3d (state_36153[(23)]);\nvar inst_36116 \x3d cljs.core.chunk_first(inst_36111);\nvar inst_36117 \x3d cljs.core.chunk_rest(inst_36111);\nvar inst_36118 \x3d cljs.core.count(inst_36116);\nvar inst_36090 \x3d inst_36117;\nvar inst_36091 \x3d inst_36116;\nvar inst_36092 \x3d inst_36118;\nvar inst_36093 \x3d (0);\nvar state_36153__$1 \x3d (function (){var statearr_36227 \x3d state_36153;\n(statearr_36227[(19)] \x3d inst_36090);\n\n(statearr_36227[(9)] \x3d inst_36091);\n\n(statearr_36227[(20)] \x3d inst_36092);\n\n(statearr_36227[(10)] \x3d inst_36093);\n\nreturn statearr_36227;\n})();\nvar statearr_36228_37706 \x3d state_36153__$1;\n(statearr_36228_37706[(2)] \x3d null);\n\n(statearr_36228_37706[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (41))){\nvar inst_36111 \x3d (state_36153[(23)]);\nvar inst_36127 \x3d (state_36153[(2)]);\nvar inst_36128 \x3d cljs.core.next(inst_36111);\nvar inst_36090 \x3d inst_36128;\nvar inst_36091 \x3d null;\nvar inst_36092 \x3d (0);\nvar inst_36093 \x3d (0);\nvar state_36153__$1 \x3d (function (){var statearr_36229 \x3d state_36153;\n(statearr_36229[(25)] \x3d inst_36127);\n\n(statearr_36229[(19)] \x3d inst_36090);\n\n(statearr_36229[(9)] \x3d inst_36091);\n\n(statearr_36229[(20)] \x3d inst_36092);\n\n(statearr_36229[(10)] \x3d inst_36093);\n\nreturn statearr_36229;\n})();\nvar statearr_36231_37707 \x3d state_36153__$1;\n(statearr_36231_37707[(2)] \x3d null);\n\n(statearr_36231_37707[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (43))){\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36232_37708 \x3d state_36153__$1;\n(statearr_36232_37708[(2)] \x3d null);\n\n(statearr_36232_37708[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (29))){\nvar inst_36136 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36233_37709 \x3d state_36153__$1;\n(statearr_36233_37709[(2)] \x3d inst_36136);\n\n(statearr_36233_37709[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (44))){\nvar inst_36145 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d (function (){var statearr_36238 \x3d state_36153;\n(statearr_36238[(26)] \x3d inst_36145);\n\nreturn statearr_36238;\n})();\nvar statearr_36239_37710 \x3d state_36153__$1;\n(statearr_36239_37710[(2)] \x3d null);\n\n(statearr_36239_37710[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (6))){\nvar inst_36078 \x3d (state_36153[(27)]);\nvar inst_36077 \x3d cljs.core.deref(cs);\nvar inst_36078__$1 \x3d cljs.core.keys(inst_36077);\nvar inst_36082 \x3d cljs.core.count(inst_36078__$1);\nvar inst_36083 \x3d cljs.core.reset_BANG_(dctr,inst_36082);\nvar inst_36088 \x3d cljs.core.seq(inst_36078__$1);\nvar inst_36090 \x3d inst_36088;\nvar inst_36091 \x3d null;\nvar inst_36092 \x3d (0);\nvar inst_36093 \x3d (0);\nvar state_36153__$1 \x3d (function (){var statearr_36244 \x3d state_36153;\n(statearr_36244[(27)] \x3d inst_36078__$1);\n\n(statearr_36244[(28)] \x3d inst_36083);\n\n(statearr_36244[(19)] \x3d inst_36090);\n\n(statearr_36244[(9)] \x3d inst_36091);\n\n(statearr_36244[(20)] \x3d inst_36092);\n\n(statearr_36244[(10)] \x3d inst_36093);\n\nreturn statearr_36244;\n})();\nvar statearr_36245_37711 \x3d state_36153__$1;\n(statearr_36245_37711[(2)] \x3d null);\n\n(statearr_36245_37711[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (28))){\nvar inst_36090 \x3d (state_36153[(19)]);\nvar inst_36111 \x3d (state_36153[(23)]);\nvar inst_36111__$1 \x3d cljs.core.seq(inst_36090);\nvar state_36153__$1 \x3d (function (){var statearr_36246 \x3d state_36153;\n(statearr_36246[(23)] \x3d inst_36111__$1);\n\nreturn statearr_36246;\n})();\nif(inst_36111__$1){\nvar statearr_36250_37712 \x3d state_36153__$1;\n(statearr_36250_37712[(1)] \x3d (33));\n\n} else {\nvar statearr_36251_37713 \x3d state_36153__$1;\n(statearr_36251_37713[(1)] \x3d (34));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (25))){\nvar inst_36093 \x3d (state_36153[(10)]);\nvar inst_36092 \x3d (state_36153[(20)]);\nvar inst_36095 \x3d (inst_36093 \x3c inst_36092);\nvar inst_36096 \x3d inst_36095;\nvar state_36153__$1 \x3d state_36153;\nif(cljs.core.truth_(inst_36096)){\nvar statearr_36253_37714 \x3d state_36153__$1;\n(statearr_36253_37714[(1)] \x3d (27));\n\n} else {\nvar statearr_36254_37715 \x3d state_36153__$1;\n(statearr_36254_37715[(1)] \x3d (28));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (34))){\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36258_37716 \x3d state_36153__$1;\n(statearr_36258_37716[(2)] \x3d null);\n\n(statearr_36258_37716[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (17))){\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36260_37717 \x3d state_36153__$1;\n(statearr_36260_37717[(2)] \x3d null);\n\n(statearr_36260_37717[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (3))){\nvar inst_36150 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36153__$1,inst_36150);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (12))){\nvar inst_36073 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36261_37718 \x3d state_36153__$1;\n(statearr_36261_37718[(2)] \x3d inst_36073);\n\n(statearr_36261_37718[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (2))){\nvar state_36153__$1 \x3d state_36153;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36153__$1,(4),ch);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (23))){\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36266_37719 \x3d state_36153__$1;\n(statearr_36266_37719[(2)] \x3d null);\n\n(statearr_36266_37719[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (35))){\nvar inst_36134 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36267_37720 \x3d state_36153__$1;\n(statearr_36267_37720[(2)] \x3d inst_36134);\n\n(statearr_36267_37720[(1)] \x3d (29));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (19))){\nvar inst_36041 \x3d (state_36153[(7)]);\nvar inst_36045 \x3d cljs.core.chunk_first(inst_36041);\nvar inst_36049 \x3d cljs.core.chunk_rest(inst_36041);\nvar inst_36050 \x3d cljs.core.count(inst_36045);\nvar inst_36011 \x3d inst_36049;\nvar inst_36012 \x3d inst_36045;\nvar inst_36013 \x3d inst_36050;\nvar inst_36014 \x3d (0);\nvar state_36153__$1 \x3d (function (){var statearr_36268 \x3d state_36153;\n(statearr_36268[(14)] \x3d inst_36011);\n\n(statearr_36268[(15)] \x3d inst_36012);\n\n(statearr_36268[(16)] \x3d inst_36013);\n\n(statearr_36268[(17)] \x3d inst_36014);\n\nreturn statearr_36268;\n})();\nvar statearr_36269_37721 \x3d state_36153__$1;\n(statearr_36269_37721[(2)] \x3d null);\n\n(statearr_36269_37721[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (11))){\nvar inst_36011 \x3d (state_36153[(14)]);\nvar inst_36041 \x3d (state_36153[(7)]);\nvar inst_36041__$1 \x3d cljs.core.seq(inst_36011);\nvar state_36153__$1 \x3d (function (){var statearr_36270 \x3d state_36153;\n(statearr_36270[(7)] \x3d inst_36041__$1);\n\nreturn statearr_36270;\n})();\nif(inst_36041__$1){\nvar statearr_36271_37723 \x3d state_36153__$1;\n(statearr_36271_37723[(1)] \x3d (16));\n\n} else {\nvar statearr_36272_37724 \x3d state_36153__$1;\n(statearr_36272_37724[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (9))){\nvar inst_36075 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36273_37725 \x3d state_36153__$1;\n(statearr_36273_37725[(2)] \x3d inst_36075);\n\n(statearr_36273_37725[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (5))){\nvar inst_36009 \x3d cljs.core.deref(cs);\nvar inst_36010 \x3d cljs.core.seq(inst_36009);\nvar inst_36011 \x3d inst_36010;\nvar inst_36012 \x3d null;\nvar inst_36013 \x3d (0);\nvar inst_36014 \x3d (0);\nvar state_36153__$1 \x3d (function (){var statearr_36278 \x3d state_36153;\n(statearr_36278[(14)] \x3d inst_36011);\n\n(statearr_36278[(15)] \x3d inst_36012);\n\n(statearr_36278[(16)] \x3d inst_36013);\n\n(statearr_36278[(17)] \x3d inst_36014);\n\nreturn statearr_36278;\n})();\nvar statearr_36279_37728 \x3d state_36153__$1;\n(statearr_36279_37728[(2)] \x3d null);\n\n(statearr_36279_37728[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (14))){\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36280_37731 \x3d state_36153__$1;\n(statearr_36280_37731[(2)] \x3d null);\n\n(statearr_36280_37731[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (45))){\nvar inst_36142 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36282_37732 \x3d state_36153__$1;\n(statearr_36282_37732[(2)] \x3d inst_36142);\n\n(statearr_36282_37732[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (26))){\nvar inst_36078 \x3d (state_36153[(27)]);\nvar inst_36138 \x3d (state_36153[(2)]);\nvar inst_36139 \x3d cljs.core.seq(inst_36078);\nvar state_36153__$1 \x3d (function (){var statearr_36283 \x3d state_36153;\n(statearr_36283[(29)] \x3d inst_36138);\n\nreturn statearr_36283;\n})();\nif(inst_36139){\nvar statearr_36284_37733 \x3d state_36153__$1;\n(statearr_36284_37733[(1)] \x3d (42));\n\n} else {\nvar statearr_36285_37734 \x3d state_36153__$1;\n(statearr_36285_37734[(1)] \x3d (43));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (16))){\nvar inst_36041 \x3d (state_36153[(7)]);\nvar inst_36043 \x3d cljs.core.chunked_seq_QMARK_(inst_36041);\nvar state_36153__$1 \x3d state_36153;\nif(inst_36043){\nvar statearr_36286_37736 \x3d state_36153__$1;\n(statearr_36286_37736[(1)] \x3d (19));\n\n} else {\nvar statearr_36287_37737 \x3d state_36153__$1;\n(statearr_36287_37737[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (38))){\nvar inst_36131 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36288_37739 \x3d state_36153__$1;\n(statearr_36288_37739[(2)] \x3d inst_36131);\n\n(statearr_36288_37739[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (30))){\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36289_37740 \x3d state_36153__$1;\n(statearr_36289_37740[(2)] \x3d null);\n\n(statearr_36289_37740[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (10))){\nvar inst_36012 \x3d (state_36153[(15)]);\nvar inst_36014 \x3d (state_36153[(17)]);\nvar inst_36026 \x3d cljs.core._nth(inst_36012,inst_36014);\nvar inst_36027 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36026,(0),null);\nvar inst_36028 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36026,(1),null);\nvar state_36153__$1 \x3d (function (){var statearr_36292 \x3d state_36153;\n(statearr_36292[(24)] \x3d inst_36027);\n\nreturn statearr_36292;\n})();\nif(cljs.core.truth_(inst_36028)){\nvar statearr_36293_37741 \x3d state_36153__$1;\n(statearr_36293_37741[(1)] \x3d (13));\n\n} else {\nvar statearr_36294_37742 \x3d state_36153__$1;\n(statearr_36294_37742[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (18))){\nvar inst_36071 \x3d (state_36153[(2)]);\nvar state_36153__$1 \x3d state_36153;\nvar statearr_36295_37743 \x3d state_36153__$1;\n(statearr_36295_37743[(2)] \x3d inst_36071);\n\n(statearr_36295_37743[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (42))){\nvar state_36153__$1 \x3d state_36153;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36153__$1,(45),dchan);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (37))){\nvar inst_36111 \x3d (state_36153[(23)]);\nvar inst_36121 \x3d (state_36153[(22)]);\nvar inst_36002 \x3d (state_36153[(12)]);\nvar inst_36121__$1 \x3d cljs.core.first(inst_36111);\nvar inst_36122 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_36121__$1,inst_36002,done);\nvar state_36153__$1 \x3d (function (){var statearr_36296 \x3d state_36153;\n(statearr_36296[(22)] \x3d inst_36121__$1);\n\nreturn statearr_36296;\n})();\nif(cljs.core.truth_(inst_36122)){\nvar statearr_36297_37744 \x3d state_36153__$1;\n(statearr_36297_37744[(1)] \x3d (39));\n\n} else {\nvar statearr_36298_37745 \x3d state_36153__$1;\n(statearr_36298_37745[(1)] \x3d (40));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36154 \x3d\x3d\x3d (8))){\nvar inst_36014 \x3d (state_36153[(17)]);\nvar inst_36013 \x3d (state_36153[(16)]);\nvar inst_36017 \x3d (inst_36014 \x3c inst_36013);\nvar inst_36021 \x3d inst_36017;\nvar state_36153__$1 \x3d state_36153;\nif(cljs.core.truth_(inst_36021)){\nvar statearr_36299_37746 \x3d state_36153__$1;\n(statearr_36299_37746[(1)] \x3d (10));\n\n} else {\nvar statearr_36300_37747 \x3d state_36153__$1;\n(statearr_36300_37747[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mult_$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$mult_$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_36301 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36301[(0)] \x3d cljs$core$async$mult_$_state_machine__34860__auto__);\n\n(statearr_36301[(1)] \x3d (1));\n\nreturn statearr_36301;\n});\nvar cljs$core$async$mult_$_state_machine__34860__auto____1 \x3d (function (state_36153){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_36153);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e36302){var ex__34863__auto__ \x3d e36302;\nvar statearr_36303_37748 \x3d state_36153;\n(statearr_36303_37748[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_36153[(4)]))){\nvar statearr_36304_37749 \x3d state_36153;\n(statearr_36304_37749[(1)] \x3d cljs.core.first((state_36153[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37754 \x3d state_36153;\nstate_36153 \x3d G__37754;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mult_$_state_machine__34860__auto__ \x3d function(state_36153){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mult_$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mult_$_state_machine__34860__auto____1.call(this,state_36153);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mult_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mult_$_state_machine__34860__auto____0;\ncljs$core$async$mult_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mult_$_state_machine__34860__auto____1;\nreturn cljs$core$async$mult_$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_36305 \x3d f__35080__auto__();\n(statearr_36305[(6)] \x3d c__35079__auto___37680);\n\nreturn statearr_36305;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Copies the mult source onto the supplied channel.\n * \n *   By default the channel will be closed when the source closes,\n *   but can be determined by the close? parameter.\n */\ncljs.core.async.tap \x3d (function cljs$core$async$tap(var_args){\nvar G__36307 \x3d arguments.length;\nswitch (G__36307) {\ncase 2:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2 \x3d (function (mult,ch){\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(mult,ch,true);\n}));\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3 \x3d (function (mult,ch,close_QMARK_){\ncljs.core.async.tap_STAR_(mult,ch,close_QMARK_);\n\nreturn ch;\n}));\n\n(cljs.core.async.tap.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Disconnects a target channel from a mult\n */\ncljs.core.async.untap \x3d (function cljs$core$async$untap(mult,ch){\nreturn cljs.core.async.untap_STAR_(mult,ch);\n});\n/**\n * Disconnects all target channels from a mult\n */\ncljs.core.async.untap_all \x3d (function cljs$core$async$untap_all(mult){\nreturn cljs.core.async.untap_all_STAR_(mult);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mix \x3d function(){};\n\nvar cljs$core$async$Mix$admix_STAR_$dyn_37759 \x3d (function (m,ch){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.admix_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5374__auto__.call(null,m,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.admix_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5372__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.admix*\x22,m);\n}\n}\n});\ncljs.core.async.admix_STAR_ \x3d (function cljs$core$async$admix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$admix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$admix_STAR_$dyn_37759(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_STAR_$dyn_37760 \x3d (function (m,ch){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.unmix_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5374__auto__.call(null,m,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unmix_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5372__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_STAR_ \x3d (function cljs$core$async$unmix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$unmix_STAR_$dyn_37760(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_all_STAR_$dyn_37761 \x3d (function (m){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5374__auto__.call(null,m));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unmix_all_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5372__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix-all*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_all_STAR_ \x3d (function cljs$core$async$unmix_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mix$unmix_all_STAR_$dyn_37761(m);\n}\n});\n\nvar cljs$core$async$Mix$toggle_STAR_$dyn_37766 \x3d (function (m,state_map){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.toggle_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5374__auto__.call(null,m,state_map));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.toggle_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5372__auto__.call(null,m,state_map));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.toggle*\x22,m);\n}\n}\n});\ncljs.core.async.toggle_STAR_ \x3d (function cljs$core$async$toggle_STAR_(m,state_map){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$toggle_STAR_$arity$2(m,state_map);\n} else {\nreturn cljs$core$async$Mix$toggle_STAR_$dyn_37766(m,state_map);\n}\n});\n\nvar cljs$core$async$Mix$solo_mode_STAR_$dyn_37770 \x3d (function (m,mode){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5374__auto__.call(null,m,mode));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.solo_mode_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5372__auto__.call(null,m,mode));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.solo-mode*\x22,m);\n}\n}\n});\ncljs.core.async.solo_mode_STAR_ \x3d (function cljs$core$async$solo_mode_STAR_(m,mode){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$solo_mode_STAR_$arity$2(m,mode);\n} else {\nreturn cljs$core$async$Mix$solo_mode_STAR_$dyn_37770(m,mode);\n}\n});\n\ncljs.core.async.ioc_alts_BANG_ \x3d (function cljs$core$async$ioc_alts_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___37775 \x3d arguments.length;\nvar i__5750__auto___37776 \x3d (0);\nwhile(true){\nif((i__5750__auto___37776 \x3c len__5749__auto___37775)){\nargs__5755__auto__.push((arguments[i__5750__auto___37776]));\n\nvar G__37777 \x3d (i__5750__auto___37776 + (1));\ni__5750__auto___37776 \x3d G__37777;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (state,cont_block,ports,p__36318){\nvar map__36319 \x3d p__36318;\nvar map__36319__$1 \x3d cljs.core.__destructure_map(map__36319);\nvar opts \x3d map__36319__$1;\nvar statearr_36320_37778 \x3d state;\n(statearr_36320_37778[(1)] \x3d cont_block);\n\n\nvar temp__5804__auto__ \x3d cljs.core.async.do_alts((function (val){\nvar statearr_36321_37779 \x3d state;\n(statearr_36321_37779[(2)] \x3d val);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n}),ports,opts);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar cb \x3d temp__5804__auto__;\nvar statearr_36322_37780 \x3d state;\n(statearr_36322_37780[(2)] \x3d cljs.core.deref(cb));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$applyTo \x3d (function (seq36314){\nvar G__36315 \x3d cljs.core.first(seq36314);\nvar seq36314__$1 \x3d cljs.core.next(seq36314);\nvar G__36316 \x3d cljs.core.first(seq36314__$1);\nvar seq36314__$2 \x3d cljs.core.next(seq36314__$1);\nvar G__36317 \x3d cljs.core.first(seq36314__$2);\nvar seq36314__$3 \x3d cljs.core.next(seq36314__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__36315,G__36316,G__36317,seq36314__$3);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mix}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36330 \x3d (function (change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta36331){\nthis.change \x3d change;\nthis.solo_mode \x3d solo_mode;\nthis.pick \x3d pick;\nthis.cs \x3d cs;\nthis.calc_state \x3d calc_state;\nthis.out \x3d out;\nthis.changed \x3d changed;\nthis.solo_modes \x3d solo_modes;\nthis.attrs \x3d attrs;\nthis.meta36331 \x3d meta36331;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36332,meta36331__$1){\nvar self__ \x3d this;\nvar _36332__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36330(self__.change,self__.solo_mode,self__.pick,self__.cs,self__.calc_state,self__.out,self__.changed,self__.solo_modes,self__.attrs,meta36331__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36332){\nvar self__ \x3d this;\nvar _36332__$1 \x3d this;\nreturn self__.meta36331;\n}));\n\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.out;\n}));\n\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$async$Mix$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d (function (_,state_map){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.merge_with,cljs.core.merge),state_map);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36330.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d (function (_,mode){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.solo_modes.cljs$core$IFn$_invoke$arity$1 ? self__.solo_modes.cljs$core$IFn$_invoke$arity$1(mode) : self__.solo_modes.call(null,mode)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22mode must be one of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.solo_modes)].join(\x27\x27),\x22\\n\x22,\x22(solo-modes mode)\x22].join(\x27\x27)));\n}\n\ncljs.core.reset_BANG_(self__.solo_mode,mode);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36330.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22change\x22,\x22change\x22,477485025,null),new cljs.core.Symbol(null,\x22solo-mode\x22,\x22solo-mode\x22,2031788074,null),new cljs.core.Symbol(null,\x22pick\x22,\x22pick\x22,1300068175,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22calc-state\x22,\x22calc-state\x22,-349968968,null),new cljs.core.Symbol(null,\x22out\x22,\x22out\x22,729986010,null),new cljs.core.Symbol(null,\x22changed\x22,\x22changed\x22,-2083710852,null),new cljs.core.Symbol(null,\x22solo-modes\x22,\x22solo-modes\x22,882180540,null),new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta36331\x22,\x22meta36331\x22,758452791,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36330.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36330.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36330\x22);\n\n(cljs.core.async.t_cljs$core$async36330.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36330\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36330.\n */\ncljs.core.async.__GT_t_cljs$core$async36330 \x3d (function cljs$core$async$__GT_t_cljs$core$async36330(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta36331){\nreturn (new cljs.core.async.t_cljs$core$async36330(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta36331));\n});\n\n\n/**\n * Creates and returns a mix of one or more input channels which will\n *   be put on the supplied out channel. Input sources can be added to\n *   the mix with \x27admix\x27, and removed with \x27unmix\x27. A mix supports\n *   soloing, muting and pausing multiple inputs atomically using\n *   \x27toggle\x27, and can solo using either muting or pausing as determined\n *   by \x27solo-mode\x27.\n * \n *   Each channel can have zero or more boolean modes set via \x27toggle\x27:\n * \n *   :solo - when true, only this (ond other soloed) channel(s) will appear\n *        in the mix output channel. :mute and :pause states of soloed\n *        channels are ignored. If solo-mode is :mute, non-soloed\n *        channels are muted, if :pause, non-soloed channels are\n *        paused.\n * \n *   :mute - muted channels will have their contents consumed but not included in the mix\n *   :pause - paused channels will not have their contents consumed (and thus also not included in the mix)\n */\ncljs.core.async.mix \x3d (function cljs$core$async$mix(out){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar solo_modes \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),null,new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),null], null), null);\nvar attrs \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(solo_modes,new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075));\nvar solo_mode \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646));\nvar change \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.async.sliding_buffer((1)));\nvar changed \x3d (function (){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(change,true);\n});\nvar pick \x3d (function (attr,chs){\nreturn cljs.core.reduce_kv((function (ret,c,v){\nif(cljs.core.truth_((attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(v) : attr.call(null,v)))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,c);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,chs);\n});\nvar calc_state \x3d (function (){\nvar chs \x3d cljs.core.deref(cs);\nvar mode \x3d cljs.core.deref(solo_mode);\nvar solos \x3d pick(new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075),chs);\nvar pauses \x3d pick(new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),chs);\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643),solos,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309),pick(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),chs),new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672))) \x26\x26 (cljs.core.seq(solos))))?cljs.core.vec(solos):cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(pauses,cljs.core.keys(chs)))),change)], null);\n});\nvar m \x3d (new cljs.core.async.t_cljs$core$async36330(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,cljs.core.PersistentArrayMap.EMPTY));\nvar c__35079__auto___37787 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_36433){\nvar state_val_36434 \x3d (state_36433[(1)]);\nif((state_val_36434 \x3d\x3d\x3d (7))){\nvar inst_36386 \x3d (state_36433[(2)]);\nvar state_36433__$1 \x3d state_36433;\nif(cljs.core.truth_(inst_36386)){\nvar statearr_36438_37788 \x3d state_36433__$1;\n(statearr_36438_37788[(1)] \x3d (8));\n\n} else {\nvar statearr_36439_37789 \x3d state_36433__$1;\n(statearr_36439_37789[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (20))){\nvar inst_36373 \x3d (state_36433[(7)]);\nvar state_36433__$1 \x3d state_36433;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36433__$1,(23),out,inst_36373);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (1))){\nvar inst_36343 \x3d calc_state();\nvar inst_36344 \x3d cljs.core.__destructure_map(inst_36343);\nvar inst_36352 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36344,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_36353 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36344,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_36354 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36344,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar inst_36358 \x3d inst_36343;\nvar state_36433__$1 \x3d (function (){var statearr_36443 \x3d state_36433;\n(statearr_36443[(8)] \x3d inst_36352);\n\n(statearr_36443[(9)] \x3d inst_36353);\n\n(statearr_36443[(10)] \x3d inst_36354);\n\n(statearr_36443[(11)] \x3d inst_36358);\n\nreturn statearr_36443;\n})();\nvar statearr_36444_37791 \x3d state_36433__$1;\n(statearr_36444_37791[(2)] \x3d null);\n\n(statearr_36444_37791[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (24))){\nvar inst_36364 \x3d (state_36433[(12)]);\nvar inst_36358 \x3d inst_36364;\nvar state_36433__$1 \x3d (function (){var statearr_36445 \x3d state_36433;\n(statearr_36445[(11)] \x3d inst_36358);\n\nreturn statearr_36445;\n})();\nvar statearr_36446_37793 \x3d state_36433__$1;\n(statearr_36446_37793[(2)] \x3d null);\n\n(statearr_36446_37793[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (4))){\nvar inst_36373 \x3d (state_36433[(7)]);\nvar inst_36381 \x3d (state_36433[(13)]);\nvar inst_36372 \x3d (state_36433[(2)]);\nvar inst_36373__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36372,(0),null);\nvar inst_36380 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36372,(1),null);\nvar inst_36381__$1 \x3d (inst_36373__$1 \x3d\x3d null);\nvar state_36433__$1 \x3d (function (){var statearr_36447 \x3d state_36433;\n(statearr_36447[(7)] \x3d inst_36373__$1);\n\n(statearr_36447[(14)] \x3d inst_36380);\n\n(statearr_36447[(13)] \x3d inst_36381__$1);\n\nreturn statearr_36447;\n})();\nif(cljs.core.truth_(inst_36381__$1)){\nvar statearr_36448_37794 \x3d state_36433__$1;\n(statearr_36448_37794[(1)] \x3d (5));\n\n} else {\nvar statearr_36449_37795 \x3d state_36433__$1;\n(statearr_36449_37795[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (15))){\nvar inst_36365 \x3d (state_36433[(15)]);\nvar inst_36400 \x3d (state_36433[(16)]);\nvar inst_36400__$1 \x3d cljs.core.empty_QMARK_(inst_36365);\nvar state_36433__$1 \x3d (function (){var statearr_36450 \x3d state_36433;\n(statearr_36450[(16)] \x3d inst_36400__$1);\n\nreturn statearr_36450;\n})();\nif(inst_36400__$1){\nvar statearr_36451_37800 \x3d state_36433__$1;\n(statearr_36451_37800[(1)] \x3d (17));\n\n} else {\nvar statearr_36452_37801 \x3d state_36433__$1;\n(statearr_36452_37801[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (21))){\nvar inst_36364 \x3d (state_36433[(12)]);\nvar inst_36358 \x3d inst_36364;\nvar state_36433__$1 \x3d (function (){var statearr_36453 \x3d state_36433;\n(statearr_36453[(11)] \x3d inst_36358);\n\nreturn statearr_36453;\n})();\nvar statearr_36454_37802 \x3d state_36433__$1;\n(statearr_36454_37802[(2)] \x3d null);\n\n(statearr_36454_37802[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (13))){\nvar inst_36393 \x3d (state_36433[(2)]);\nvar inst_36394 \x3d calc_state();\nvar inst_36358 \x3d inst_36394;\nvar state_36433__$1 \x3d (function (){var statearr_36459 \x3d state_36433;\n(statearr_36459[(17)] \x3d inst_36393);\n\n(statearr_36459[(11)] \x3d inst_36358);\n\nreturn statearr_36459;\n})();\nvar statearr_36460_37804 \x3d state_36433__$1;\n(statearr_36460_37804[(2)] \x3d null);\n\n(statearr_36460_37804[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (22))){\nvar inst_36420 \x3d (state_36433[(2)]);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36461_37805 \x3d state_36433__$1;\n(statearr_36461_37805[(2)] \x3d inst_36420);\n\n(statearr_36461_37805[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (6))){\nvar inst_36380 \x3d (state_36433[(14)]);\nvar inst_36384 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_36380,change);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36462_37807 \x3d state_36433__$1;\n(statearr_36462_37807[(2)] \x3d inst_36384);\n\n(statearr_36462_37807[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (25))){\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36463_37808 \x3d state_36433__$1;\n(statearr_36463_37808[(2)] \x3d null);\n\n(statearr_36463_37808[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (17))){\nvar inst_36366 \x3d (state_36433[(18)]);\nvar inst_36380 \x3d (state_36433[(14)]);\nvar inst_36402 \x3d (inst_36366.cljs$core$IFn$_invoke$arity$1 ? inst_36366.cljs$core$IFn$_invoke$arity$1(inst_36380) : inst_36366.call(null,inst_36380));\nvar inst_36403 \x3d cljs.core.not(inst_36402);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36464_37814 \x3d state_36433__$1;\n(statearr_36464_37814[(2)] \x3d inst_36403);\n\n(statearr_36464_37814[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (3))){\nvar inst_36424 \x3d (state_36433[(2)]);\nvar state_36433__$1 \x3d state_36433;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36433__$1,inst_36424);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (12))){\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36465_37815 \x3d state_36433__$1;\n(statearr_36465_37815[(2)] \x3d null);\n\n(statearr_36465_37815[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (2))){\nvar inst_36358 \x3d (state_36433[(11)]);\nvar inst_36364 \x3d (state_36433[(12)]);\nvar inst_36364__$1 \x3d cljs.core.__destructure_map(inst_36358);\nvar inst_36365 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36364__$1,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_36366 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36364__$1,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_36367 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36364__$1,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar state_36433__$1 \x3d (function (){var statearr_36466 \x3d state_36433;\n(statearr_36466[(12)] \x3d inst_36364__$1);\n\n(statearr_36466[(15)] \x3d inst_36365);\n\n(statearr_36466[(18)] \x3d inst_36366);\n\nreturn statearr_36466;\n})();\nreturn cljs.core.async.ioc_alts_BANG_(state_36433__$1,(4),inst_36367);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (23))){\nvar inst_36411 \x3d (state_36433[(2)]);\nvar state_36433__$1 \x3d state_36433;\nif(cljs.core.truth_(inst_36411)){\nvar statearr_36467_37817 \x3d state_36433__$1;\n(statearr_36467_37817[(1)] \x3d (24));\n\n} else {\nvar statearr_36468_37818 \x3d state_36433__$1;\n(statearr_36468_37818[(1)] \x3d (25));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (19))){\nvar inst_36406 \x3d (state_36433[(2)]);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36469_37819 \x3d state_36433__$1;\n(statearr_36469_37819[(2)] \x3d inst_36406);\n\n(statearr_36469_37819[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (11))){\nvar inst_36380 \x3d (state_36433[(14)]);\nvar inst_36390 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cs,cljs.core.dissoc,inst_36380);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36470_37821 \x3d state_36433__$1;\n(statearr_36470_37821[(2)] \x3d inst_36390);\n\n(statearr_36470_37821[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (9))){\nvar inst_36365 \x3d (state_36433[(15)]);\nvar inst_36380 \x3d (state_36433[(14)]);\nvar inst_36397 \x3d (state_36433[(19)]);\nvar inst_36397__$1 \x3d (inst_36365.cljs$core$IFn$_invoke$arity$1 ? inst_36365.cljs$core$IFn$_invoke$arity$1(inst_36380) : inst_36365.call(null,inst_36380));\nvar state_36433__$1 \x3d (function (){var statearr_36472 \x3d state_36433;\n(statearr_36472[(19)] \x3d inst_36397__$1);\n\nreturn statearr_36472;\n})();\nif(cljs.core.truth_(inst_36397__$1)){\nvar statearr_36476_37822 \x3d state_36433__$1;\n(statearr_36476_37822[(1)] \x3d (14));\n\n} else {\nvar statearr_36477_37824 \x3d state_36433__$1;\n(statearr_36477_37824[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (5))){\nvar inst_36381 \x3d (state_36433[(13)]);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36478_37825 \x3d state_36433__$1;\n(statearr_36478_37825[(2)] \x3d inst_36381);\n\n(statearr_36478_37825[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (14))){\nvar inst_36397 \x3d (state_36433[(19)]);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36479_37826 \x3d state_36433__$1;\n(statearr_36479_37826[(2)] \x3d inst_36397);\n\n(statearr_36479_37826[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (26))){\nvar inst_36416 \x3d (state_36433[(2)]);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36480_37827 \x3d state_36433__$1;\n(statearr_36480_37827[(2)] \x3d inst_36416);\n\n(statearr_36480_37827[(1)] \x3d (22));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (16))){\nvar inst_36408 \x3d (state_36433[(2)]);\nvar state_36433__$1 \x3d state_36433;\nif(cljs.core.truth_(inst_36408)){\nvar statearr_36481_37829 \x3d state_36433__$1;\n(statearr_36481_37829[(1)] \x3d (20));\n\n} else {\nvar statearr_36484_37830 \x3d state_36433__$1;\n(statearr_36484_37830[(1)] \x3d (21));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (10))){\nvar inst_36422 \x3d (state_36433[(2)]);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36485_37831 \x3d state_36433__$1;\n(statearr_36485_37831[(2)] \x3d inst_36422);\n\n(statearr_36485_37831[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (18))){\nvar inst_36400 \x3d (state_36433[(16)]);\nvar state_36433__$1 \x3d state_36433;\nvar statearr_36486_37832 \x3d state_36433__$1;\n(statearr_36486_37832[(2)] \x3d inst_36400);\n\n(statearr_36486_37832[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36434 \x3d\x3d\x3d (8))){\nvar inst_36373 \x3d (state_36433[(7)]);\nvar inst_36388 \x3d (inst_36373 \x3d\x3d null);\nvar state_36433__$1 \x3d state_36433;\nif(cljs.core.truth_(inst_36388)){\nvar statearr_36488_37833 \x3d state_36433__$1;\n(statearr_36488_37833[(1)] \x3d (11));\n\n} else {\nvar statearr_36489_37834 \x3d state_36433__$1;\n(statearr_36489_37834[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mix_$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$mix_$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_36491 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36491[(0)] \x3d cljs$core$async$mix_$_state_machine__34860__auto__);\n\n(statearr_36491[(1)] \x3d (1));\n\nreturn statearr_36491;\n});\nvar cljs$core$async$mix_$_state_machine__34860__auto____1 \x3d (function (state_36433){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_36433);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e36492){var ex__34863__auto__ \x3d e36492;\nvar statearr_36493_37835 \x3d state_36433;\n(statearr_36493_37835[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_36433[(4)]))){\nvar statearr_36494_37836 \x3d state_36433;\n(statearr_36494_37836[(1)] \x3d cljs.core.first((state_36433[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37839 \x3d state_36433;\nstate_36433 \x3d G__37839;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mix_$_state_machine__34860__auto__ \x3d function(state_36433){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mix_$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mix_$_state_machine__34860__auto____1.call(this,state_36433);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mix_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mix_$_state_machine__34860__auto____0;\ncljs$core$async$mix_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mix_$_state_machine__34860__auto____1;\nreturn cljs$core$async$mix_$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_36495 \x3d f__35080__auto__();\n(statearr_36495[(6)] \x3d c__35079__auto___37787);\n\nreturn statearr_36495;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Adds ch as an input to the mix\n */\ncljs.core.async.admix \x3d (function cljs$core$async$admix(mix,ch){\nreturn cljs.core.async.admix_STAR_(mix,ch);\n});\n/**\n * Removes ch as an input to the mix\n */\ncljs.core.async.unmix \x3d (function cljs$core$async$unmix(mix,ch){\nreturn cljs.core.async.unmix_STAR_(mix,ch);\n});\n/**\n * removes all inputs from the mix\n */\ncljs.core.async.unmix_all \x3d (function cljs$core$async$unmix_all(mix){\nreturn cljs.core.async.unmix_all_STAR_(mix);\n});\n/**\n * Atomically sets the state(s) of one or more channels in a mix. The\n *   state map is a map of channels -\x3e channel-state-map. A\n *   channel-state-map is a map of attrs -\x3e boolean, where attr is one or\n *   more of :mute, :pause or :solo. Any states supplied are merged with\n *   the current state.\n * \n *   Note that channels can be added to a mix via toggle, which can be\n *   used to add channels in a particular (e.g. paused) state.\n */\ncljs.core.async.toggle \x3d (function cljs$core$async$toggle(mix,state_map){\nreturn cljs.core.async.toggle_STAR_(mix,state_map);\n});\n/**\n * Sets the solo mode of the mix. mode must be one of :mute or :pause\n */\ncljs.core.async.solo_mode \x3d (function cljs$core$async$solo_mode(mix,mode){\nreturn cljs.core.async.solo_mode_STAR_(mix,mode);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Pub \x3d function(){};\n\nvar cljs$core$async$Pub$sub_STAR_$dyn_37840 \x3d (function (p,v,ch,close_QMARK_){\nvar x__5373__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5374__auto__ \x3d (cljs.core.async.sub_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5374__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.sub_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5372__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.sub*\x22,p);\n}\n}\n});\ncljs.core.async.sub_STAR_ \x3d (function cljs$core$async$sub_STAR_(p,v,ch,close_QMARK_){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$sub_STAR_$arity$4(p,v,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Pub$sub_STAR_$dyn_37840(p,v,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Pub$unsub_STAR_$dyn_37845 \x3d (function (p,v,ch){\nvar x__5373__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5374__auto__ \x3d (cljs.core.async.unsub_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5374__auto__.call(null,p,v,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unsub_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5372__auto__.call(null,p,v,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub*\x22,p);\n}\n}\n});\ncljs.core.async.unsub_STAR_ \x3d (function cljs$core$async$unsub_STAR_(p,v,ch){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_STAR_$arity$3(p,v,ch);\n} else {\nreturn cljs$core$async$Pub$unsub_STAR_$dyn_37845(p,v,ch);\n}\n});\n\nvar cljs$core$async$Pub$unsub_all_STAR_$dyn_37852 \x3d (function() {\nvar G__37853 \x3d null;\nvar G__37853__1 \x3d (function (p){\nvar x__5373__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5374__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5374__auto__.call(null,p));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5372__auto__.call(null,p));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nvar G__37853__2 \x3d (function (p,v){\nvar x__5373__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5374__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5374__auto__.call(null,p,v));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5372__auto__.call(null,p,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nG__37853 \x3d function(p,v){\nswitch(arguments.length){\ncase 1:\nreturn G__37853__1.call(this,p);\ncase 2:\nreturn G__37853__2.call(this,p,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__37853.cljs$core$IFn$_invoke$arity$1 \x3d G__37853__1;\nG__37853.cljs$core$IFn$_invoke$arity$2 \x3d G__37853__2;\nreturn G__37853;\n})()\n;\ncljs.core.async.unsub_all_STAR_ \x3d (function cljs$core$async$unsub_all_STAR_(var_args){\nvar G__36504 \x3d arguments.length;\nswitch (G__36504) {\ncase 1:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$1(p);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_37852(p);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,v){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$2(p,v);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_37852(p,v);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.Pub}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36514 \x3d (function (ch,topic_fn,buf_fn,mults,ensure_mult,meta36515){\nthis.ch \x3d ch;\nthis.topic_fn \x3d topic_fn;\nthis.buf_fn \x3d buf_fn;\nthis.mults \x3d mults;\nthis.ensure_mult \x3d ensure_mult;\nthis.meta36515 \x3d meta36515;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36514.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36516,meta36515__$1){\nvar self__ \x3d this;\nvar _36516__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36514(self__.ch,self__.topic_fn,self__.buf_fn,self__.mults,self__.ensure_mult,meta36515__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36514.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36516){\nvar self__ \x3d this;\nvar _36516__$1 \x3d this;\nreturn self__.meta36515;\n}));\n\n(cljs.core.async.t_cljs$core$async36514.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36514.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async36514.prototype.cljs$core$async$Pub$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36514.prototype.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d (function (p,topic,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar m \x3d (self__.ensure_mult.cljs$core$IFn$_invoke$arity$1 ? self__.ensure_mult.cljs$core$IFn$_invoke$arity$1(topic) : self__.ensure_mult.call(null,topic));\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(m,ch__$1,close_QMARK_);\n}));\n\n(cljs.core.async.t_cljs$core$async36514.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d (function (p,topic,ch__$1){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.mults),topic);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar m \x3d temp__5804__auto__;\nreturn cljs.core.async.untap(m,ch__$1);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async36514.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reset_BANG_(self__.mults,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cljs.core.async.t_cljs$core$async36514.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d (function (_,topic){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.mults,cljs.core.dissoc,topic);\n}));\n\n(cljs.core.async.t_cljs$core$async36514.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22topic-fn\x22,\x22topic-fn\x22,-862449736,null),new cljs.core.Symbol(null,\x22buf-fn\x22,\x22buf-fn\x22,-1200281591,null),new cljs.core.Symbol(null,\x22mults\x22,\x22mults\x22,-461114485,null),new cljs.core.Symbol(null,\x22ensure-mult\x22,\x22ensure-mult\x22,1796584816,null),new cljs.core.Symbol(null,\x22meta36515\x22,\x22meta36515\x22,261971247,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36514.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36514.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36514\x22);\n\n(cljs.core.async.t_cljs$core$async36514.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36514\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36514.\n */\ncljs.core.async.__GT_t_cljs$core$async36514 \x3d (function cljs$core$async$__GT_t_cljs$core$async36514(ch,topic_fn,buf_fn,mults,ensure_mult,meta36515){\nreturn (new cljs.core.async.t_cljs$core$async36514(ch,topic_fn,buf_fn,mults,ensure_mult,meta36515));\n});\n\n\n/**\n * Creates and returns a pub(lication) of the supplied channel,\n *   partitioned into topics by the topic-fn. topic-fn will be applied to\n *   each value on the channel and the result will determine the \x27topic\x27\n *   on which that value will be put. Channels can be subscribed to\n *   receive copies of topics using \x27sub\x27, and unsubscribed using\n *   \x27unsub\x27. Each topic will be handled by an internal mult on a\n *   dedicated channel. By default these internal channels are\n *   unbuffered, but a buf-fn can be supplied which, given a topic,\n *   creates a buffer with desired properties.\n * \n *   Each item is distributed to all subs in parallel and synchronously,\n *   i.e. each sub must accept before the next item is distributed. Use\n *   buffering/windowing to prevent slow subs from holding up the pub.\n * \n *   Items received when there are no matching subs get dropped.\n * \n *   Note that if buf-fns are used then each topic is handled\n *   asynchronously, i.e. if a channel is subscribed to more than one\n *   topic it should not expect them to be interleaved identically with\n *   the source.\n */\ncljs.core.async.pub \x3d (function cljs$core$async$pub(var_args){\nvar G__36507 \x3d arguments.length;\nswitch (G__36507) {\ncase 2:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,topic_fn){\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3(ch,topic_fn,cljs.core.constantly(null));\n}));\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,topic_fn,buf_fn){\nvar mults \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar ensure_mult \x3d (function (topic){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mults),topic);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(mults,(function (p1__36505_SHARP_){\nif(cljs.core.truth_((p1__36505_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__36505_SHARP_.cljs$core$IFn$_invoke$arity$1(topic) : p1__36505_SHARP_.call(null,topic)))){\nreturn p1__36505_SHARP_;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__36505_SHARP_,topic,cljs.core.async.mult(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((buf_fn.cljs$core$IFn$_invoke$arity$1 ? buf_fn.cljs$core$IFn$_invoke$arity$1(topic) : buf_fn.call(null,topic)))));\n}\n})),topic);\n}\n});\nvar p \x3d (new cljs.core.async.t_cljs$core$async36514(ch,topic_fn,buf_fn,mults,ensure_mult,cljs.core.PersistentArrayMap.EMPTY));\nvar c__35079__auto___37868 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_36594){\nvar state_val_36595 \x3d (state_36594[(1)]);\nif((state_val_36595 \x3d\x3d\x3d (7))){\nvar inst_36590 \x3d (state_36594[(2)]);\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36596_37869 \x3d state_36594__$1;\n(statearr_36596_37869[(2)] \x3d inst_36590);\n\n(statearr_36596_37869[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (20))){\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36597_37870 \x3d state_36594__$1;\n(statearr_36597_37870[(2)] \x3d null);\n\n(statearr_36597_37870[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (1))){\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36599_37872 \x3d state_36594__$1;\n(statearr_36599_37872[(2)] \x3d null);\n\n(statearr_36599_37872[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (24))){\nvar inst_36573 \x3d (state_36594[(7)]);\nvar inst_36582 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(mults,cljs.core.dissoc,inst_36573);\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36603_37874 \x3d state_36594__$1;\n(statearr_36603_37874[(2)] \x3d inst_36582);\n\n(statearr_36603_37874[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (4))){\nvar inst_36525 \x3d (state_36594[(8)]);\nvar inst_36525__$1 \x3d (state_36594[(2)]);\nvar inst_36526 \x3d (inst_36525__$1 \x3d\x3d null);\nvar state_36594__$1 \x3d (function (){var statearr_36604 \x3d state_36594;\n(statearr_36604[(8)] \x3d inst_36525__$1);\n\nreturn statearr_36604;\n})();\nif(cljs.core.truth_(inst_36526)){\nvar statearr_36605_37879 \x3d state_36594__$1;\n(statearr_36605_37879[(1)] \x3d (5));\n\n} else {\nvar statearr_36606_37880 \x3d state_36594__$1;\n(statearr_36606_37880[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (15))){\nvar inst_36567 \x3d (state_36594[(2)]);\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36607_37881 \x3d state_36594__$1;\n(statearr_36607_37881[(2)] \x3d inst_36567);\n\n(statearr_36607_37881[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (21))){\nvar inst_36587 \x3d (state_36594[(2)]);\nvar state_36594__$1 \x3d (function (){var statearr_36608 \x3d state_36594;\n(statearr_36608[(9)] \x3d inst_36587);\n\nreturn statearr_36608;\n})();\nvar statearr_36610_37882 \x3d state_36594__$1;\n(statearr_36610_37882[(2)] \x3d null);\n\n(statearr_36610_37882[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (13))){\nvar inst_36549 \x3d (state_36594[(10)]);\nvar inst_36551 \x3d cljs.core.chunked_seq_QMARK_(inst_36549);\nvar state_36594__$1 \x3d state_36594;\nif(inst_36551){\nvar statearr_36614_37883 \x3d state_36594__$1;\n(statearr_36614_37883[(1)] \x3d (16));\n\n} else {\nvar statearr_36615_37884 \x3d state_36594__$1;\n(statearr_36615_37884[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (22))){\nvar inst_36579 \x3d (state_36594[(2)]);\nvar state_36594__$1 \x3d state_36594;\nif(cljs.core.truth_(inst_36579)){\nvar statearr_36616_37885 \x3d state_36594__$1;\n(statearr_36616_37885[(1)] \x3d (23));\n\n} else {\nvar statearr_36617_37886 \x3d state_36594__$1;\n(statearr_36617_37886[(1)] \x3d (24));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (6))){\nvar inst_36525 \x3d (state_36594[(8)]);\nvar inst_36573 \x3d (state_36594[(7)]);\nvar inst_36575 \x3d (state_36594[(11)]);\nvar inst_36573__$1 \x3d (topic_fn.cljs$core$IFn$_invoke$arity$1 ? topic_fn.cljs$core$IFn$_invoke$arity$1(inst_36525) : topic_fn.call(null,inst_36525));\nvar inst_36574 \x3d cljs.core.deref(mults);\nvar inst_36575__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36574,inst_36573__$1);\nvar state_36594__$1 \x3d (function (){var statearr_36618 \x3d state_36594;\n(statearr_36618[(7)] \x3d inst_36573__$1);\n\n(statearr_36618[(11)] \x3d inst_36575__$1);\n\nreturn statearr_36618;\n})();\nif(cljs.core.truth_(inst_36575__$1)){\nvar statearr_36619_37891 \x3d state_36594__$1;\n(statearr_36619_37891[(1)] \x3d (19));\n\n} else {\nvar statearr_36620_37896 \x3d state_36594__$1;\n(statearr_36620_37896[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (25))){\nvar inst_36584 \x3d (state_36594[(2)]);\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36621_37911 \x3d state_36594__$1;\n(statearr_36621_37911[(2)] \x3d inst_36584);\n\n(statearr_36621_37911[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (17))){\nvar inst_36549 \x3d (state_36594[(10)]);\nvar inst_36558 \x3d cljs.core.first(inst_36549);\nvar inst_36559 \x3d cljs.core.async.muxch_STAR_(inst_36558);\nvar inst_36560 \x3d cljs.core.async.close_BANG_(inst_36559);\nvar inst_36561 \x3d cljs.core.next(inst_36549);\nvar inst_36535 \x3d inst_36561;\nvar inst_36536 \x3d null;\nvar inst_36537 \x3d (0);\nvar inst_36538 \x3d (0);\nvar state_36594__$1 \x3d (function (){var statearr_36622 \x3d state_36594;\n(statearr_36622[(12)] \x3d inst_36560);\n\n(statearr_36622[(13)] \x3d inst_36535);\n\n(statearr_36622[(14)] \x3d inst_36536);\n\n(statearr_36622[(15)] \x3d inst_36537);\n\n(statearr_36622[(16)] \x3d inst_36538);\n\nreturn statearr_36622;\n})();\nvar statearr_36623_37912 \x3d state_36594__$1;\n(statearr_36623_37912[(2)] \x3d null);\n\n(statearr_36623_37912[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (3))){\nvar inst_36592 \x3d (state_36594[(2)]);\nvar state_36594__$1 \x3d state_36594;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36594__$1,inst_36592);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (12))){\nvar inst_36569 \x3d (state_36594[(2)]);\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36624_37917 \x3d state_36594__$1;\n(statearr_36624_37917[(2)] \x3d inst_36569);\n\n(statearr_36624_37917[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (2))){\nvar state_36594__$1 \x3d state_36594;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36594__$1,(4),ch);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (23))){\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36625_37921 \x3d state_36594__$1;\n(statearr_36625_37921[(2)] \x3d null);\n\n(statearr_36625_37921[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (19))){\nvar inst_36575 \x3d (state_36594[(11)]);\nvar inst_36525 \x3d (state_36594[(8)]);\nvar inst_36577 \x3d cljs.core.async.muxch_STAR_(inst_36575);\nvar state_36594__$1 \x3d state_36594;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36594__$1,(22),inst_36577,inst_36525);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (11))){\nvar inst_36535 \x3d (state_36594[(13)]);\nvar inst_36549 \x3d (state_36594[(10)]);\nvar inst_36549__$1 \x3d cljs.core.seq(inst_36535);\nvar state_36594__$1 \x3d (function (){var statearr_36626 \x3d state_36594;\n(statearr_36626[(10)] \x3d inst_36549__$1);\n\nreturn statearr_36626;\n})();\nif(inst_36549__$1){\nvar statearr_36627_37926 \x3d state_36594__$1;\n(statearr_36627_37926[(1)] \x3d (13));\n\n} else {\nvar statearr_36628_37927 \x3d state_36594__$1;\n(statearr_36628_37927[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (9))){\nvar inst_36571 \x3d (state_36594[(2)]);\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36630_37932 \x3d state_36594__$1;\n(statearr_36630_37932[(2)] \x3d inst_36571);\n\n(statearr_36630_37932[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (5))){\nvar inst_36532 \x3d cljs.core.deref(mults);\nvar inst_36533 \x3d cljs.core.vals(inst_36532);\nvar inst_36534 \x3d cljs.core.seq(inst_36533);\nvar inst_36535 \x3d inst_36534;\nvar inst_36536 \x3d null;\nvar inst_36537 \x3d (0);\nvar inst_36538 \x3d (0);\nvar state_36594__$1 \x3d (function (){var statearr_36632 \x3d state_36594;\n(statearr_36632[(13)] \x3d inst_36535);\n\n(statearr_36632[(14)] \x3d inst_36536);\n\n(statearr_36632[(15)] \x3d inst_36537);\n\n(statearr_36632[(16)] \x3d inst_36538);\n\nreturn statearr_36632;\n})();\nvar statearr_36633_37944 \x3d state_36594__$1;\n(statearr_36633_37944[(2)] \x3d null);\n\n(statearr_36633_37944[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (14))){\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36637_37945 \x3d state_36594__$1;\n(statearr_36637_37945[(2)] \x3d null);\n\n(statearr_36637_37945[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (16))){\nvar inst_36549 \x3d (state_36594[(10)]);\nvar inst_36553 \x3d cljs.core.chunk_first(inst_36549);\nvar inst_36554 \x3d cljs.core.chunk_rest(inst_36549);\nvar inst_36555 \x3d cljs.core.count(inst_36553);\nvar inst_36535 \x3d inst_36554;\nvar inst_36536 \x3d inst_36553;\nvar inst_36537 \x3d inst_36555;\nvar inst_36538 \x3d (0);\nvar state_36594__$1 \x3d (function (){var statearr_36638 \x3d state_36594;\n(statearr_36638[(13)] \x3d inst_36535);\n\n(statearr_36638[(14)] \x3d inst_36536);\n\n(statearr_36638[(15)] \x3d inst_36537);\n\n(statearr_36638[(16)] \x3d inst_36538);\n\nreturn statearr_36638;\n})();\nvar statearr_36639_37956 \x3d state_36594__$1;\n(statearr_36639_37956[(2)] \x3d null);\n\n(statearr_36639_37956[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (10))){\nvar inst_36536 \x3d (state_36594[(14)]);\nvar inst_36538 \x3d (state_36594[(16)]);\nvar inst_36535 \x3d (state_36594[(13)]);\nvar inst_36537 \x3d (state_36594[(15)]);\nvar inst_36543 \x3d cljs.core._nth(inst_36536,inst_36538);\nvar inst_36544 \x3d cljs.core.async.muxch_STAR_(inst_36543);\nvar inst_36545 \x3d cljs.core.async.close_BANG_(inst_36544);\nvar inst_36546 \x3d (inst_36538 + (1));\nvar tmp36634 \x3d inst_36535;\nvar tmp36635 \x3d inst_36537;\nvar tmp36636 \x3d inst_36536;\nvar inst_36535__$1 \x3d tmp36634;\nvar inst_36536__$1 \x3d tmp36636;\nvar inst_36537__$1 \x3d tmp36635;\nvar inst_36538__$1 \x3d inst_36546;\nvar state_36594__$1 \x3d (function (){var statearr_36643 \x3d state_36594;\n(statearr_36643[(17)] \x3d inst_36545);\n\n(statearr_36643[(13)] \x3d inst_36535__$1);\n\n(statearr_36643[(14)] \x3d inst_36536__$1);\n\n(statearr_36643[(15)] \x3d inst_36537__$1);\n\n(statearr_36643[(16)] \x3d inst_36538__$1);\n\nreturn statearr_36643;\n})();\nvar statearr_36644_37971 \x3d state_36594__$1;\n(statearr_36644_37971[(2)] \x3d null);\n\n(statearr_36644_37971[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (18))){\nvar inst_36564 \x3d (state_36594[(2)]);\nvar state_36594__$1 \x3d state_36594;\nvar statearr_36645_37972 \x3d state_36594__$1;\n(statearr_36645_37972[(2)] \x3d inst_36564);\n\n(statearr_36645_37972[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36595 \x3d\x3d\x3d (8))){\nvar inst_36538 \x3d (state_36594[(16)]);\nvar inst_36537 \x3d (state_36594[(15)]);\nvar inst_36540 \x3d (inst_36538 \x3c inst_36537);\nvar inst_36541 \x3d inst_36540;\nvar state_36594__$1 \x3d state_36594;\nif(cljs.core.truth_(inst_36541)){\nvar statearr_36646_37980 \x3d state_36594__$1;\n(statearr_36646_37980[(1)] \x3d (10));\n\n} else {\nvar statearr_36647_37981 \x3d state_36594__$1;\n(statearr_36647_37981[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_36648 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36648[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_36648[(1)] \x3d (1));\n\nreturn statearr_36648;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_36594){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_36594);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e36649){var ex__34863__auto__ \x3d e36649;\nvar statearr_36650_37988 \x3d state_36594;\n(statearr_36650_37988[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_36594[(4)]))){\nvar statearr_36651_37990 \x3d state_36594;\n(statearr_36651_37990[(1)] \x3d cljs.core.first((state_36594[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37999 \x3d state_36594;\nstate_36594 \x3d G__37999;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_36594){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_36594);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_36652 \x3d f__35080__auto__();\n(statearr_36652[(6)] \x3d c__35079__auto___37868);\n\nreturn statearr_36652;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn p;\n}));\n\n(cljs.core.async.pub.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Subscribes a channel to a topic of a pub.\n * \n *   By default the channel will be closed when the source closes,\n *   but can be determined by the close? parameter.\n */\ncljs.core.async.sub \x3d (function cljs$core$async$sub(var_args){\nvar G__36654 \x3d arguments.length;\nswitch (G__36654) {\ncase 3:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,topic,ch){\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4(p,topic,ch,true);\n}));\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,topic,ch,close_QMARK_){\nreturn cljs.core.async.sub_STAR_(p,topic,ch,close_QMARK_);\n}));\n\n(cljs.core.async.sub.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Unsubscribes a channel from a topic of a pub\n */\ncljs.core.async.unsub \x3d (function cljs$core$async$unsub(p,topic,ch){\nreturn cljs.core.async.unsub_STAR_(p,topic,ch);\n});\n/**\n * Unsubscribes all channels from a pub, or a topic of a pub\n */\ncljs.core.async.unsub_all \x3d (function cljs$core$async$unsub_all(var_args){\nvar G__36656 \x3d arguments.length;\nswitch (G__36656) {\ncase 1:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn cljs.core.async.unsub_all_STAR_(p);\n}));\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,topic){\nreturn cljs.core.async.unsub_all_STAR_(p,topic);\n}));\n\n(cljs.core.async.unsub_all.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a function and a collection of source channels, and returns a\n *   channel which contains the values produced by applying f to the set\n *   of first items taken from each source channel, followed by applying\n *   f to the set of second items from each channel, until any one of the\n *   channels is closed, at which point the output channel will be\n *   closed. The returned channel will be unbuffered by default, or a\n *   buf-or-n can be supplied\n */\ncljs.core.async.map \x3d (function cljs$core$async$map(var_args){\nvar G__36658 \x3d arguments.length;\nswitch (G__36658) {\ncase 2:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,chs){\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3(f,chs,null);\n}));\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,chs,buf_or_n){\nvar chs__$1 \x3d cljs.core.vec(chs);\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar cnt \x3d cljs.core.count(chs__$1);\nvar rets \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(cnt);\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (i){\nreturn (function (ret){\n(rets[i] \x3d ret);\n\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,rets.slice((0)));\n} else {\nreturn null;\n}\n});\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cnt));\nif((cnt \x3d\x3d\x3d (0))){\ncljs.core.async.close_BANG_(out);\n} else {\nvar c__35079__auto___38022 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_36701){\nvar state_val_36702 \x3d (state_36701[(1)]);\nif((state_val_36702 \x3d\x3d\x3d (7))){\nvar state_36701__$1 \x3d state_36701;\nvar statearr_36703_38023 \x3d state_36701__$1;\n(statearr_36703_38023[(2)] \x3d null);\n\n(statearr_36703_38023[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (1))){\nvar state_36701__$1 \x3d state_36701;\nvar statearr_36704_38025 \x3d state_36701__$1;\n(statearr_36704_38025[(2)] \x3d null);\n\n(statearr_36704_38025[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (4))){\nvar inst_36662 \x3d (state_36701[(7)]);\nvar inst_36661 \x3d (state_36701[(8)]);\nvar inst_36664 \x3d (inst_36662 \x3c inst_36661);\nvar state_36701__$1 \x3d state_36701;\nif(cljs.core.truth_(inst_36664)){\nvar statearr_36706_38029 \x3d state_36701__$1;\n(statearr_36706_38029[(1)] \x3d (6));\n\n} else {\nvar statearr_36707_38030 \x3d state_36701__$1;\n(statearr_36707_38030[(1)] \x3d (7));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (15))){\nvar inst_36687 \x3d (state_36701[(9)]);\nvar inst_36692 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,inst_36687);\nvar state_36701__$1 \x3d state_36701;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36701__$1,(17),out,inst_36692);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (13))){\nvar inst_36687 \x3d (state_36701[(9)]);\nvar inst_36687__$1 \x3d (state_36701[(2)]);\nvar inst_36688 \x3d cljs.core.some(cljs.core.nil_QMARK_,inst_36687__$1);\nvar state_36701__$1 \x3d (function (){var statearr_36708 \x3d state_36701;\n(statearr_36708[(9)] \x3d inst_36687__$1);\n\nreturn statearr_36708;\n})();\nif(cljs.core.truth_(inst_36688)){\nvar statearr_36709_38032 \x3d state_36701__$1;\n(statearr_36709_38032[(1)] \x3d (14));\n\n} else {\nvar statearr_36710_38033 \x3d state_36701__$1;\n(statearr_36710_38033[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (6))){\nvar state_36701__$1 \x3d state_36701;\nvar statearr_36711_38034 \x3d state_36701__$1;\n(statearr_36711_38034[(2)] \x3d null);\n\n(statearr_36711_38034[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (17))){\nvar inst_36694 \x3d (state_36701[(2)]);\nvar state_36701__$1 \x3d (function (){var statearr_36713 \x3d state_36701;\n(statearr_36713[(10)] \x3d inst_36694);\n\nreturn statearr_36713;\n})();\nvar statearr_36714_38035 \x3d state_36701__$1;\n(statearr_36714_38035[(2)] \x3d null);\n\n(statearr_36714_38035[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (3))){\nvar inst_36699 \x3d (state_36701[(2)]);\nvar state_36701__$1 \x3d state_36701;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36701__$1,inst_36699);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (12))){\nvar _ \x3d (function (){var statearr_36718 \x3d state_36701;\n(statearr_36718[(4)] \x3d cljs.core.rest((state_36701[(4)])));\n\nreturn statearr_36718;\n})();\nvar state_36701__$1 \x3d state_36701;\nvar ex36712 \x3d (state_36701__$1[(2)]);\nvar statearr_36719_38037 \x3d state_36701__$1;\n(statearr_36719_38037[(5)] \x3d ex36712);\n\n\nif((ex36712 instanceof Object)){\nvar statearr_36720_38038 \x3d state_36701__$1;\n(statearr_36720_38038[(1)] \x3d (11));\n\n(statearr_36720_38038[(5)] \x3d null);\n\n} else {\nthrow ex36712;\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (2))){\nvar inst_36660 \x3d cljs.core.reset_BANG_(dctr,cnt);\nvar inst_36661 \x3d cnt;\nvar inst_36662 \x3d (0);\nvar state_36701__$1 \x3d (function (){var statearr_36721 \x3d state_36701;\n(statearr_36721[(11)] \x3d inst_36660);\n\n(statearr_36721[(8)] \x3d inst_36661);\n\n(statearr_36721[(7)] \x3d inst_36662);\n\nreturn statearr_36721;\n})();\nvar statearr_36722_38040 \x3d state_36701__$1;\n(statearr_36722_38040[(2)] \x3d null);\n\n(statearr_36722_38040[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (11))){\nvar inst_36666 \x3d (state_36701[(2)]);\nvar inst_36667 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec);\nvar state_36701__$1 \x3d (function (){var statearr_36727 \x3d state_36701;\n(statearr_36727[(12)] \x3d inst_36666);\n\nreturn statearr_36727;\n})();\nvar statearr_36728_38043 \x3d state_36701__$1;\n(statearr_36728_38043[(2)] \x3d inst_36667);\n\n(statearr_36728_38043[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (9))){\nvar inst_36662 \x3d (state_36701[(7)]);\nvar _ \x3d (function (){var statearr_36729 \x3d state_36701;\n(statearr_36729[(4)] \x3d cljs.core.cons((12),(state_36701[(4)])));\n\nreturn statearr_36729;\n})();\nvar inst_36673 \x3d (chs__$1.cljs$core$IFn$_invoke$arity$1 ? chs__$1.cljs$core$IFn$_invoke$arity$1(inst_36662) : chs__$1.call(null,inst_36662));\nvar inst_36674 \x3d (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(inst_36662) : done.call(null,inst_36662));\nvar inst_36675 \x3d cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(inst_36673,inst_36674);\nvar ___$1 \x3d (function (){var statearr_36730 \x3d state_36701;\n(statearr_36730[(4)] \x3d cljs.core.rest((state_36701[(4)])));\n\nreturn statearr_36730;\n})();\nvar state_36701__$1 \x3d state_36701;\nvar statearr_36731_38045 \x3d state_36701__$1;\n(statearr_36731_38045[(2)] \x3d inst_36675);\n\n(statearr_36731_38045[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (5))){\nvar inst_36685 \x3d (state_36701[(2)]);\nvar state_36701__$1 \x3d (function (){var statearr_36732 \x3d state_36701;\n(statearr_36732[(13)] \x3d inst_36685);\n\nreturn statearr_36732;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36701__$1,(13),dchan);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (14))){\nvar inst_36690 \x3d cljs.core.async.close_BANG_(out);\nvar state_36701__$1 \x3d state_36701;\nvar statearr_36733_38048 \x3d state_36701__$1;\n(statearr_36733_38048[(2)] \x3d inst_36690);\n\n(statearr_36733_38048[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (16))){\nvar inst_36697 \x3d (state_36701[(2)]);\nvar state_36701__$1 \x3d state_36701;\nvar statearr_36734_38049 \x3d state_36701__$1;\n(statearr_36734_38049[(2)] \x3d inst_36697);\n\n(statearr_36734_38049[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (10))){\nvar inst_36662 \x3d (state_36701[(7)]);\nvar inst_36678 \x3d (state_36701[(2)]);\nvar inst_36679 \x3d (inst_36662 + (1));\nvar inst_36662__$1 \x3d inst_36679;\nvar state_36701__$1 \x3d (function (){var statearr_36735 \x3d state_36701;\n(statearr_36735[(14)] \x3d inst_36678);\n\n(statearr_36735[(7)] \x3d inst_36662__$1);\n\nreturn statearr_36735;\n})();\nvar statearr_36736_38051 \x3d state_36701__$1;\n(statearr_36736_38051[(2)] \x3d null);\n\n(statearr_36736_38051[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36702 \x3d\x3d\x3d (8))){\nvar inst_36683 \x3d (state_36701[(2)]);\nvar state_36701__$1 \x3d state_36701;\nvar statearr_36737_38053 \x3d state_36701__$1;\n(statearr_36737_38053[(2)] \x3d inst_36683);\n\n(statearr_36737_38053[(1)] \x3d (5));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_36738 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36738[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_36738[(1)] \x3d (1));\n\nreturn statearr_36738;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_36701){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_36701);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e36739){var ex__34863__auto__ \x3d e36739;\nvar statearr_36740_38057 \x3d state_36701;\n(statearr_36740_38057[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_36701[(4)]))){\nvar statearr_36741_38058 \x3d state_36701;\n(statearr_36741_38058[(1)] \x3d cljs.core.first((state_36701[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38060 \x3d state_36701;\nstate_36701 \x3d G__38060;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_36701){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_36701);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_36742 \x3d f__35080__auto__();\n(statearr_36742[(6)] \x3d c__35079__auto___38022);\n\nreturn statearr_36742;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n}\n\nreturn out;\n}));\n\n(cljs.core.async.map.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a collection of source channels and returns a channel which\n *   contains all values taken from them. The returned channel will be\n *   unbuffered by default, or a buf-or-n can be supplied. The channel\n *   will close after all the source channels have closed.\n */\ncljs.core.async.merge \x3d (function cljs$core$async$merge(var_args){\nvar G__36745 \x3d arguments.length;\nswitch (G__36745) {\ncase 1:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1 \x3d (function (chs){\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2(chs,null);\n}));\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2 \x3d (function (chs,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__35079__auto___38067 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_36797){\nvar state_val_36798 \x3d (state_36797[(1)]);\nif((state_val_36798 \x3d\x3d\x3d (7))){\nvar inst_36770 \x3d (state_36797[(7)]);\nvar inst_36771 \x3d (state_36797[(8)]);\nvar inst_36770__$1 \x3d (state_36797[(2)]);\nvar inst_36771__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36770__$1,(0),null);\nvar inst_36772 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36770__$1,(1),null);\nvar inst_36779 \x3d (inst_36771__$1 \x3d\x3d null);\nvar state_36797__$1 \x3d (function (){var statearr_36799 \x3d state_36797;\n(statearr_36799[(7)] \x3d inst_36770__$1);\n\n(statearr_36799[(8)] \x3d inst_36771__$1);\n\n(statearr_36799[(9)] \x3d inst_36772);\n\nreturn statearr_36799;\n})();\nif(cljs.core.truth_(inst_36779)){\nvar statearr_36800_38068 \x3d state_36797__$1;\n(statearr_36800_38068[(1)] \x3d (8));\n\n} else {\nvar statearr_36807_38069 \x3d state_36797__$1;\n(statearr_36807_38069[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (1))){\nvar inst_36760 \x3d cljs.core.vec(chs);\nvar inst_36761 \x3d inst_36760;\nvar state_36797__$1 \x3d (function (){var statearr_36816 \x3d state_36797;\n(statearr_36816[(10)] \x3d inst_36761);\n\nreturn statearr_36816;\n})();\nvar statearr_36817_38073 \x3d state_36797__$1;\n(statearr_36817_38073[(2)] \x3d null);\n\n(statearr_36817_38073[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (4))){\nvar inst_36761 \x3d (state_36797[(10)]);\nvar state_36797__$1 \x3d state_36797;\nreturn cljs.core.async.ioc_alts_BANG_(state_36797__$1,(7),inst_36761);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (6))){\nvar inst_36793 \x3d (state_36797[(2)]);\nvar state_36797__$1 \x3d state_36797;\nvar statearr_36824_38074 \x3d state_36797__$1;\n(statearr_36824_38074[(2)] \x3d inst_36793);\n\n(statearr_36824_38074[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (3))){\nvar inst_36795 \x3d (state_36797[(2)]);\nvar state_36797__$1 \x3d state_36797;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36797__$1,inst_36795);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (2))){\nvar inst_36761 \x3d (state_36797[(10)]);\nvar inst_36763 \x3d cljs.core.count(inst_36761);\nvar inst_36764 \x3d (inst_36763 \x3e (0));\nvar state_36797__$1 \x3d state_36797;\nif(cljs.core.truth_(inst_36764)){\nvar statearr_36826_38076 \x3d state_36797__$1;\n(statearr_36826_38076[(1)] \x3d (4));\n\n} else {\nvar statearr_36827_38077 \x3d state_36797__$1;\n(statearr_36827_38077[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (11))){\nvar inst_36761 \x3d (state_36797[(10)]);\nvar inst_36786 \x3d (state_36797[(2)]);\nvar tmp36825 \x3d inst_36761;\nvar inst_36761__$1 \x3d tmp36825;\nvar state_36797__$1 \x3d (function (){var statearr_36830 \x3d state_36797;\n(statearr_36830[(11)] \x3d inst_36786);\n\n(statearr_36830[(10)] \x3d inst_36761__$1);\n\nreturn statearr_36830;\n})();\nvar statearr_36831_38081 \x3d state_36797__$1;\n(statearr_36831_38081[(2)] \x3d null);\n\n(statearr_36831_38081[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (9))){\nvar inst_36771 \x3d (state_36797[(8)]);\nvar state_36797__$1 \x3d state_36797;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36797__$1,(11),out,inst_36771);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (5))){\nvar inst_36791 \x3d cljs.core.async.close_BANG_(out);\nvar state_36797__$1 \x3d state_36797;\nvar statearr_36833_38084 \x3d state_36797__$1;\n(statearr_36833_38084[(2)] \x3d inst_36791);\n\n(statearr_36833_38084[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (10))){\nvar inst_36789 \x3d (state_36797[(2)]);\nvar state_36797__$1 \x3d state_36797;\nvar statearr_36834_38085 \x3d state_36797__$1;\n(statearr_36834_38085[(2)] \x3d inst_36789);\n\n(statearr_36834_38085[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36798 \x3d\x3d\x3d (8))){\nvar inst_36761 \x3d (state_36797[(10)]);\nvar inst_36770 \x3d (state_36797[(7)]);\nvar inst_36771 \x3d (state_36797[(8)]);\nvar inst_36772 \x3d (state_36797[(9)]);\nvar inst_36781 \x3d (function (){var cs \x3d inst_36761;\nvar vec__36766 \x3d inst_36770;\nvar v \x3d inst_36771;\nvar c \x3d inst_36772;\nreturn (function (p1__36743_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(c,p1__36743_SHARP_);\n});\n})();\nvar inst_36782 \x3d cljs.core.filterv(inst_36781,inst_36761);\nvar inst_36761__$1 \x3d inst_36782;\nvar state_36797__$1 \x3d (function (){var statearr_36835 \x3d state_36797;\n(statearr_36835[(10)] \x3d inst_36761__$1);\n\nreturn statearr_36835;\n})();\nvar statearr_36836_38090 \x3d state_36797__$1;\n(statearr_36836_38090[(2)] \x3d null);\n\n(statearr_36836_38090[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_36837 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36837[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_36837[(1)] \x3d (1));\n\nreturn statearr_36837;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_36797){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_36797);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e36841){var ex__34863__auto__ \x3d e36841;\nvar statearr_36842_38091 \x3d state_36797;\n(statearr_36842_38091[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_36797[(4)]))){\nvar statearr_36843_38092 \x3d state_36797;\n(statearr_36843_38092[(1)] \x3d cljs.core.first((state_36797[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38093 \x3d state_36797;\nstate_36797 \x3d G__38093;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_36797){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_36797);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_36844 \x3d f__35080__auto__();\n(statearr_36844[(6)] \x3d c__35079__auto___38067);\n\nreturn statearr_36844;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.merge.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel containing the single (collection) result of the\n *   items taken from the channel conjoined to the supplied\n *   collection. ch must close before into produces a result.\n */\ncljs.core.async.into \x3d (function cljs$core$async$into(coll,ch){\nreturn cljs.core.async.reduce(cljs.core.conj,coll,ch);\n});\n/**\n * Returns a channel that will return, at most, n items from ch. After n items\n * have been returned, or ch has been closed, the return chanel will close.\n * \n *   The output channel is unbuffered by default, unless buf-or-n is given.\n */\ncljs.core.async.take \x3d (function cljs$core$async$take(var_args){\nvar G__36846 \x3d arguments.length;\nswitch (G__36846) {\ncase 2:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__35079__auto___38096 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_36870){\nvar state_val_36871 \x3d (state_36870[(1)]);\nif((state_val_36871 \x3d\x3d\x3d (7))){\nvar inst_36852 \x3d (state_36870[(7)]);\nvar inst_36852__$1 \x3d (state_36870[(2)]);\nvar inst_36853 \x3d (inst_36852__$1 \x3d\x3d null);\nvar inst_36854 \x3d cljs.core.not(inst_36853);\nvar state_36870__$1 \x3d (function (){var statearr_36872 \x3d state_36870;\n(statearr_36872[(7)] \x3d inst_36852__$1);\n\nreturn statearr_36872;\n})();\nif(inst_36854){\nvar statearr_36873_38099 \x3d state_36870__$1;\n(statearr_36873_38099[(1)] \x3d (8));\n\n} else {\nvar statearr_36874_38100 \x3d state_36870__$1;\n(statearr_36874_38100[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (1))){\nvar inst_36847 \x3d (0);\nvar state_36870__$1 \x3d (function (){var statearr_36875 \x3d state_36870;\n(statearr_36875[(8)] \x3d inst_36847);\n\nreturn statearr_36875;\n})();\nvar statearr_36876_38102 \x3d state_36870__$1;\n(statearr_36876_38102[(2)] \x3d null);\n\n(statearr_36876_38102[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (4))){\nvar state_36870__$1 \x3d state_36870;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36870__$1,(7),ch);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (6))){\nvar inst_36865 \x3d (state_36870[(2)]);\nvar state_36870__$1 \x3d state_36870;\nvar statearr_36877_38104 \x3d state_36870__$1;\n(statearr_36877_38104[(2)] \x3d inst_36865);\n\n(statearr_36877_38104[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (3))){\nvar inst_36867 \x3d (state_36870[(2)]);\nvar inst_36868 \x3d cljs.core.async.close_BANG_(out);\nvar state_36870__$1 \x3d (function (){var statearr_36878 \x3d state_36870;\n(statearr_36878[(9)] \x3d inst_36867);\n\nreturn statearr_36878;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36870__$1,inst_36868);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (2))){\nvar inst_36847 \x3d (state_36870[(8)]);\nvar inst_36849 \x3d (inst_36847 \x3c n);\nvar state_36870__$1 \x3d state_36870;\nif(cljs.core.truth_(inst_36849)){\nvar statearr_36879_38106 \x3d state_36870__$1;\n(statearr_36879_38106[(1)] \x3d (4));\n\n} else {\nvar statearr_36880_38107 \x3d state_36870__$1;\n(statearr_36880_38107[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (11))){\nvar inst_36847 \x3d (state_36870[(8)]);\nvar inst_36857 \x3d (state_36870[(2)]);\nvar inst_36858 \x3d (inst_36847 + (1));\nvar inst_36847__$1 \x3d inst_36858;\nvar state_36870__$1 \x3d (function (){var statearr_36881 \x3d state_36870;\n(statearr_36881[(10)] \x3d inst_36857);\n\n(statearr_36881[(8)] \x3d inst_36847__$1);\n\nreturn statearr_36881;\n})();\nvar statearr_36882_38108 \x3d state_36870__$1;\n(statearr_36882_38108[(2)] \x3d null);\n\n(statearr_36882_38108[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (9))){\nvar state_36870__$1 \x3d state_36870;\nvar statearr_36883_38109 \x3d state_36870__$1;\n(statearr_36883_38109[(2)] \x3d null);\n\n(statearr_36883_38109[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (5))){\nvar state_36870__$1 \x3d state_36870;\nvar statearr_36884_38110 \x3d state_36870__$1;\n(statearr_36884_38110[(2)] \x3d null);\n\n(statearr_36884_38110[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (10))){\nvar inst_36862 \x3d (state_36870[(2)]);\nvar state_36870__$1 \x3d state_36870;\nvar statearr_36885_38111 \x3d state_36870__$1;\n(statearr_36885_38111[(2)] \x3d inst_36862);\n\n(statearr_36885_38111[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36871 \x3d\x3d\x3d (8))){\nvar inst_36852 \x3d (state_36870[(7)]);\nvar state_36870__$1 \x3d state_36870;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36870__$1,(11),out,inst_36852);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_36886 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36886[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_36886[(1)] \x3d (1));\n\nreturn statearr_36886;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_36870){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_36870);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e36887){var ex__34863__auto__ \x3d e36887;\nvar statearr_36888_38112 \x3d state_36870;\n(statearr_36888_38112[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_36870[(4)]))){\nvar statearr_36889_38113 \x3d state_36870;\n(statearr_36889_38113[(1)] \x3d cljs.core.first((state_36870[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38114 \x3d state_36870;\nstate_36870 \x3d G__38114;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_36870){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_36870);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_36890 \x3d f__35080__auto__();\n(statearr_36890[(6)] \x3d c__35079__auto___38096);\n\nreturn statearr_36890;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.take.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36906 \x3d (function (f,ch,meta36893,_,fn1,meta36907){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta36893 \x3d meta36893;\nthis._ \x3d _;\nthis.fn1 \x3d fn1;\nthis.meta36907 \x3d meta36907;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36906.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36908,meta36907__$1){\nvar self__ \x3d this;\nvar _36908__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36906(self__.f,self__.ch,self__.meta36893,self__._,self__.fn1,meta36907__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36906.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36908){\nvar self__ \x3d this;\nvar _36908__$1 \x3d this;\nreturn self__.meta36907;\n}));\n\n(cljs.core.async.t_cljs$core$async36906.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36906.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36906.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async36906.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nvar f1 \x3d cljs.core.async.impl.protocols.commit(self__.fn1);\nreturn (function (p1__36891_SHARP_){\nvar G__36909 \x3d (((p1__36891_SHARP_ \x3d\x3d null))?null:(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(p1__36891_SHARP_) : self__.f.call(null,p1__36891_SHARP_)));\nreturn (f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(G__36909) : f1.call(null,G__36909));\n});\n}));\n\n(cljs.core.async.t_cljs$core$async36906.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta36893\x22,\x22meta36893\x22,1644643400,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_\x22,\x22_\x22,-1201019570,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(\x22cljs.core.async\x22,\x22t_cljs$core$async36892\x22,\x22cljs.core.async/t_cljs$core$async36892\x22,1188604439,null)], null)),new cljs.core.Symbol(null,\x22fn1\x22,\x22fn1\x22,895834444,null),new cljs.core.Symbol(null,\x22meta36907\x22,\x22meta36907\x22,-1964132794,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36906.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36906.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36906\x22);\n\n(cljs.core.async.t_cljs$core$async36906.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36906\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36906.\n */\ncljs.core.async.__GT_t_cljs$core$async36906 \x3d (function cljs$core$async$__GT_t_cljs$core$async36906(f,ch,meta36893,_,fn1,meta36907){\nreturn (new cljs.core.async.t_cljs$core$async36906(f,ch,meta36893,_,fn1,meta36907));\n});\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36892 \x3d (function (f,ch,meta36893){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta36893 \x3d meta36893;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36892.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36894,meta36893__$1){\nvar self__ \x3d this;\nvar _36894__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36892(self__.f,self__.ch,meta36893__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36892.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36894){\nvar self__ \x3d this;\nvar _36894__$1 \x3d this;\nreturn self__.meta36893;\n}));\n\n(cljs.core.async.t_cljs$core$async36892.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36892.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36892.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36892.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36892.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(self__.ch,(new cljs.core.async.t_cljs$core$async36906(self__.f,self__.ch,self__.meta36893,___$1,fn1,cljs.core.PersistentArrayMap.EMPTY)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d ret;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!((cljs.core.deref(ret) \x3d\x3d null)));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.async.impl.channels.box((function (){var G__36910 \x3d cljs.core.deref(ret);\nreturn (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(G__36910) : self__.f.call(null,G__36910));\n})());\n} else {\nreturn ret;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async36892.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36892.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36892.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta36893\x22,\x22meta36893\x22,1644643400,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36892.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36892.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36892\x22);\n\n(cljs.core.async.t_cljs$core$async36892.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36892\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36892.\n */\ncljs.core.async.__GT_t_cljs$core$async36892 \x3d (function cljs$core$async$__GT_t_cljs$core$async36892(f,ch,meta36893){\nreturn (new cljs.core.async.t_cljs$core$async36892(f,ch,meta36893));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_LT_ \x3d (function cljs$core$async$map_LT_(f,ch){\nreturn (new cljs.core.async.t_cljs$core$async36892(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36911 \x3d (function (f,ch,meta36912){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta36912 \x3d meta36912;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36911.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36913,meta36912__$1){\nvar self__ \x3d this;\nvar _36913__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36911(self__.f,self__.ch,meta36912__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36911.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36913){\nvar self__ \x3d this;\nvar _36913__$1 \x3d this;\nreturn self__.meta36912;\n}));\n\n(cljs.core.async.t_cljs$core$async36911.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36911.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36911.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36911.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36911.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36911.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(val) : self__.f.call(null,val)),fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36911.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta36912\x22,\x22meta36912\x22,-676745208,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36911.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36911.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36911\x22);\n\n(cljs.core.async.t_cljs$core$async36911.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36911\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36911.\n */\ncljs.core.async.__GT_t_cljs$core$async36911 \x3d (function cljs$core$async$__GT_t_cljs$core$async36911(f,ch,meta36912){\nreturn (new cljs.core.async.t_cljs$core$async36911(f,ch,meta36912));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_GT_ \x3d (function cljs$core$async$map_GT_(f,ch){\nreturn (new cljs.core.async.t_cljs$core$async36911(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36914 \x3d (function (p,ch,meta36915){\nthis.p \x3d p;\nthis.ch \x3d ch;\nthis.meta36915 \x3d meta36915;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36914.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36916,meta36915__$1){\nvar self__ \x3d this;\nvar _36916__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36914(self__.p,self__.ch,meta36915__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36914.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36916){\nvar self__ \x3d this;\nvar _36916__$1 \x3d this;\nreturn self__.meta36915;\n}));\n\n(cljs.core.async.t_cljs$core$async36914.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36914.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36914.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36914.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36914.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36914.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36914.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.p.cljs$core$IFn$_invoke$arity$1 ? self__.p.cljs$core$IFn$_invoke$arity$1(val) : self__.p.call(null,val)))){\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n} else {\nreturn cljs.core.async.impl.channels.box(cljs.core.not(cljs.core.async.impl.protocols.closed_QMARK_(self__.ch)));\n}\n}));\n\n(cljs.core.async.t_cljs$core$async36914.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p\x22,\x22p\x22,1791580836,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta36915\x22,\x22meta36915\x22,1295117489,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36914.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36914.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36914\x22);\n\n(cljs.core.async.t_cljs$core$async36914.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36914\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36914.\n */\ncljs.core.async.__GT_t_cljs$core$async36914 \x3d (function cljs$core$async$__GT_t_cljs$core$async36914(p,ch,meta36915){\nreturn (new cljs.core.async.t_cljs$core$async36914(p,ch,meta36915));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_GT_ \x3d (function cljs$core$async$filter_GT_(p,ch){\nreturn (new cljs.core.async.t_cljs$core$async36914(p,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_GT_ \x3d (function cljs$core$async$remove_GT_(p,ch){\nreturn cljs.core.async.filter_GT_(cljs.core.complement(p),ch);\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_LT_ \x3d (function cljs$core$async$filter_LT_(var_args){\nvar G__36920 \x3d arguments.length;\nswitch (G__36920) {\ncase 2:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__35079__auto___38149 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_36945){\nvar state_val_36946 \x3d (state_36945[(1)]);\nif((state_val_36946 \x3d\x3d\x3d (7))){\nvar inst_36941 \x3d (state_36945[(2)]);\nvar state_36945__$1 \x3d state_36945;\nvar statearr_36947_38150 \x3d state_36945__$1;\n(statearr_36947_38150[(2)] \x3d inst_36941);\n\n(statearr_36947_38150[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (1))){\nvar state_36945__$1 \x3d state_36945;\nvar statearr_36950_38151 \x3d state_36945__$1;\n(statearr_36950_38151[(2)] \x3d null);\n\n(statearr_36950_38151[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (4))){\nvar inst_36926 \x3d (state_36945[(7)]);\nvar inst_36926__$1 \x3d (state_36945[(2)]);\nvar inst_36927 \x3d (inst_36926__$1 \x3d\x3d null);\nvar state_36945__$1 \x3d (function (){var statearr_36951 \x3d state_36945;\n(statearr_36951[(7)] \x3d inst_36926__$1);\n\nreturn statearr_36951;\n})();\nif(cljs.core.truth_(inst_36927)){\nvar statearr_36952_38157 \x3d state_36945__$1;\n(statearr_36952_38157[(1)] \x3d (5));\n\n} else {\nvar statearr_36953_38158 \x3d state_36945__$1;\n(statearr_36953_38158[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (6))){\nvar inst_36926 \x3d (state_36945[(7)]);\nvar inst_36931 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_36926) : p.call(null,inst_36926));\nvar state_36945__$1 \x3d state_36945;\nif(cljs.core.truth_(inst_36931)){\nvar statearr_36954_38159 \x3d state_36945__$1;\n(statearr_36954_38159[(1)] \x3d (8));\n\n} else {\nvar statearr_36955_38160 \x3d state_36945__$1;\n(statearr_36955_38160[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (3))){\nvar inst_36943 \x3d (state_36945[(2)]);\nvar state_36945__$1 \x3d state_36945;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36945__$1,inst_36943);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (2))){\nvar state_36945__$1 \x3d state_36945;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36945__$1,(4),ch);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (11))){\nvar inst_36935 \x3d (state_36945[(2)]);\nvar state_36945__$1 \x3d state_36945;\nvar statearr_36956_38165 \x3d state_36945__$1;\n(statearr_36956_38165[(2)] \x3d inst_36935);\n\n(statearr_36956_38165[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (9))){\nvar state_36945__$1 \x3d state_36945;\nvar statearr_36957_38168 \x3d state_36945__$1;\n(statearr_36957_38168[(2)] \x3d null);\n\n(statearr_36957_38168[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (5))){\nvar inst_36929 \x3d cljs.core.async.close_BANG_(out);\nvar state_36945__$1 \x3d state_36945;\nvar statearr_36958_38169 \x3d state_36945__$1;\n(statearr_36958_38169[(2)] \x3d inst_36929);\n\n(statearr_36958_38169[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (10))){\nvar inst_36938 \x3d (state_36945[(2)]);\nvar state_36945__$1 \x3d (function (){var statearr_36959 \x3d state_36945;\n(statearr_36959[(8)] \x3d inst_36938);\n\nreturn statearr_36959;\n})();\nvar statearr_36960_38170 \x3d state_36945__$1;\n(statearr_36960_38170[(2)] \x3d null);\n\n(statearr_36960_38170[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36946 \x3d\x3d\x3d (8))){\nvar inst_36926 \x3d (state_36945[(7)]);\nvar state_36945__$1 \x3d state_36945;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36945__$1,(11),out,inst_36926);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_36961 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_36961[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_36961[(1)] \x3d (1));\n\nreturn statearr_36961;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_36945){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_36945);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e36962){var ex__34863__auto__ \x3d e36962;\nvar statearr_36963_38171 \x3d state_36945;\n(statearr_36963_38171[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_36945[(4)]))){\nvar statearr_36964_38172 \x3d state_36945;\n(statearr_36964_38172[(1)] \x3d cljs.core.first((state_36945[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38174 \x3d state_36945;\nstate_36945 \x3d G__38174;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_36945){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_36945);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_36965 \x3d f__35080__auto__();\n(statearr_36965[(6)] \x3d c__35079__auto___38149);\n\nreturn statearr_36965;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.filter_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_LT_ \x3d (function cljs$core$async$remove_LT_(var_args){\nvar G__36970 \x3d arguments.length;\nswitch (G__36970) {\ncase 2:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(cljs.core.complement(p),ch,buf_or_n);\n}));\n\n(cljs.core.async.remove_LT_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.mapcat_STAR_ \x3d (function cljs$core$async$mapcat_STAR_(f,in$,out){\nvar c__35079__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_37052){\nvar state_val_37053 \x3d (state_37052[(1)]);\nif((state_val_37053 \x3d\x3d\x3d (7))){\nvar inst_37041 \x3d (state_37052[(2)]);\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37057_38191 \x3d state_37052__$1;\n(statearr_37057_38191[(2)] \x3d inst_37041);\n\n(statearr_37057_38191[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (20))){\nvar inst_37011 \x3d (state_37052[(7)]);\nvar inst_37022 \x3d (state_37052[(2)]);\nvar inst_37023 \x3d cljs.core.next(inst_37011);\nvar inst_36987 \x3d inst_37023;\nvar inst_36988 \x3d null;\nvar inst_36989 \x3d (0);\nvar inst_36990 \x3d (0);\nvar state_37052__$1 \x3d (function (){var statearr_37058 \x3d state_37052;\n(statearr_37058[(8)] \x3d inst_37022);\n\n(statearr_37058[(9)] \x3d inst_36987);\n\n(statearr_37058[(10)] \x3d inst_36988);\n\n(statearr_37058[(11)] \x3d inst_36989);\n\n(statearr_37058[(12)] \x3d inst_36990);\n\nreturn statearr_37058;\n})();\nvar statearr_37062_38203 \x3d state_37052__$1;\n(statearr_37062_38203[(2)] \x3d null);\n\n(statearr_37062_38203[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (1))){\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37070_38205 \x3d state_37052__$1;\n(statearr_37070_38205[(2)] \x3d null);\n\n(statearr_37070_38205[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (4))){\nvar inst_36973 \x3d (state_37052[(13)]);\nvar inst_36973__$1 \x3d (state_37052[(2)]);\nvar inst_36974 \x3d (inst_36973__$1 \x3d\x3d null);\nvar state_37052__$1 \x3d (function (){var statearr_37071 \x3d state_37052;\n(statearr_37071[(13)] \x3d inst_36973__$1);\n\nreturn statearr_37071;\n})();\nif(cljs.core.truth_(inst_36974)){\nvar statearr_37075_38207 \x3d state_37052__$1;\n(statearr_37075_38207[(1)] \x3d (5));\n\n} else {\nvar statearr_37076_38208 \x3d state_37052__$1;\n(statearr_37076_38208[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (15))){\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37084_38209 \x3d state_37052__$1;\n(statearr_37084_38209[(2)] \x3d null);\n\n(statearr_37084_38209[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (21))){\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37085_38210 \x3d state_37052__$1;\n(statearr_37085_38210[(2)] \x3d null);\n\n(statearr_37085_38210[(1)] \x3d (23));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (13))){\nvar inst_36990 \x3d (state_37052[(12)]);\nvar inst_36987 \x3d (state_37052[(9)]);\nvar inst_36988 \x3d (state_37052[(10)]);\nvar inst_36989 \x3d (state_37052[(11)]);\nvar inst_37004 \x3d (state_37052[(2)]);\nvar inst_37005 \x3d (inst_36990 + (1));\nvar tmp37081 \x3d inst_36987;\nvar tmp37082 \x3d inst_36988;\nvar tmp37083 \x3d inst_36989;\nvar inst_36987__$1 \x3d tmp37081;\nvar inst_36988__$1 \x3d tmp37082;\nvar inst_36989__$1 \x3d tmp37083;\nvar inst_36990__$1 \x3d inst_37005;\nvar state_37052__$1 \x3d (function (){var statearr_37086 \x3d state_37052;\n(statearr_37086[(14)] \x3d inst_37004);\n\n(statearr_37086[(9)] \x3d inst_36987__$1);\n\n(statearr_37086[(10)] \x3d inst_36988__$1);\n\n(statearr_37086[(11)] \x3d inst_36989__$1);\n\n(statearr_37086[(12)] \x3d inst_36990__$1);\n\nreturn statearr_37086;\n})();\nvar statearr_37089_38215 \x3d state_37052__$1;\n(statearr_37089_38215[(2)] \x3d null);\n\n(statearr_37089_38215[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (22))){\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37090_38226 \x3d state_37052__$1;\n(statearr_37090_38226[(2)] \x3d null);\n\n(statearr_37090_38226[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (6))){\nvar inst_36973 \x3d (state_37052[(13)]);\nvar inst_36985 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_36973) : f.call(null,inst_36973));\nvar inst_36986 \x3d cljs.core.seq(inst_36985);\nvar inst_36987 \x3d inst_36986;\nvar inst_36988 \x3d null;\nvar inst_36989 \x3d (0);\nvar inst_36990 \x3d (0);\nvar state_37052__$1 \x3d (function (){var statearr_37091 \x3d state_37052;\n(statearr_37091[(9)] \x3d inst_36987);\n\n(statearr_37091[(10)] \x3d inst_36988);\n\n(statearr_37091[(11)] \x3d inst_36989);\n\n(statearr_37091[(12)] \x3d inst_36990);\n\nreturn statearr_37091;\n})();\nvar statearr_37092_38232 \x3d state_37052__$1;\n(statearr_37092_38232[(2)] \x3d null);\n\n(statearr_37092_38232[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (17))){\nvar inst_37011 \x3d (state_37052[(7)]);\nvar inst_37015 \x3d cljs.core.chunk_first(inst_37011);\nvar inst_37016 \x3d cljs.core.chunk_rest(inst_37011);\nvar inst_37017 \x3d cljs.core.count(inst_37015);\nvar inst_36987 \x3d inst_37016;\nvar inst_36988 \x3d inst_37015;\nvar inst_36989 \x3d inst_37017;\nvar inst_36990 \x3d (0);\nvar state_37052__$1 \x3d (function (){var statearr_37093 \x3d state_37052;\n(statearr_37093[(9)] \x3d inst_36987);\n\n(statearr_37093[(10)] \x3d inst_36988);\n\n(statearr_37093[(11)] \x3d inst_36989);\n\n(statearr_37093[(12)] \x3d inst_36990);\n\nreturn statearr_37093;\n})();\nvar statearr_37094_38246 \x3d state_37052__$1;\n(statearr_37094_38246[(2)] \x3d null);\n\n(statearr_37094_38246[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (3))){\nvar inst_37043 \x3d (state_37052[(2)]);\nvar state_37052__$1 \x3d state_37052;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_37052__$1,inst_37043);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (12))){\nvar inst_37031 \x3d (state_37052[(2)]);\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37095_38247 \x3d state_37052__$1;\n(statearr_37095_38247[(2)] \x3d inst_37031);\n\n(statearr_37095_38247[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (2))){\nvar state_37052__$1 \x3d state_37052;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_37052__$1,(4),in$);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (23))){\nvar inst_37039 \x3d (state_37052[(2)]);\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37096_38252 \x3d state_37052__$1;\n(statearr_37096_38252[(2)] \x3d inst_37039);\n\n(statearr_37096_38252[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (19))){\nvar inst_37026 \x3d (state_37052[(2)]);\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37097_38253 \x3d state_37052__$1;\n(statearr_37097_38253[(2)] \x3d inst_37026);\n\n(statearr_37097_38253[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (11))){\nvar inst_36987 \x3d (state_37052[(9)]);\nvar inst_37011 \x3d (state_37052[(7)]);\nvar inst_37011__$1 \x3d cljs.core.seq(inst_36987);\nvar state_37052__$1 \x3d (function (){var statearr_37098 \x3d state_37052;\n(statearr_37098[(7)] \x3d inst_37011__$1);\n\nreturn statearr_37098;\n})();\nif(inst_37011__$1){\nvar statearr_37099_38255 \x3d state_37052__$1;\n(statearr_37099_38255[(1)] \x3d (14));\n\n} else {\nvar statearr_37100_38256 \x3d state_37052__$1;\n(statearr_37100_38256[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (9))){\nvar inst_37033 \x3d (state_37052[(2)]);\nvar inst_37034 \x3d cljs.core.async.impl.protocols.closed_QMARK_(out);\nvar state_37052__$1 \x3d (function (){var statearr_37101 \x3d state_37052;\n(statearr_37101[(15)] \x3d inst_37033);\n\nreturn statearr_37101;\n})();\nif(cljs.core.truth_(inst_37034)){\nvar statearr_37102_38266 \x3d state_37052__$1;\n(statearr_37102_38266[(1)] \x3d (21));\n\n} else {\nvar statearr_37103_38267 \x3d state_37052__$1;\n(statearr_37103_38267[(1)] \x3d (22));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (5))){\nvar inst_36976 \x3d cljs.core.async.close_BANG_(out);\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37104_38268 \x3d state_37052__$1;\n(statearr_37104_38268[(2)] \x3d inst_36976);\n\n(statearr_37104_38268[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (14))){\nvar inst_37011 \x3d (state_37052[(7)]);\nvar inst_37013 \x3d cljs.core.chunked_seq_QMARK_(inst_37011);\nvar state_37052__$1 \x3d state_37052;\nif(inst_37013){\nvar statearr_37105_38274 \x3d state_37052__$1;\n(statearr_37105_38274[(1)] \x3d (17));\n\n} else {\nvar statearr_37106_38275 \x3d state_37052__$1;\n(statearr_37106_38275[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (16))){\nvar inst_37029 \x3d (state_37052[(2)]);\nvar state_37052__$1 \x3d state_37052;\nvar statearr_37107_38277 \x3d state_37052__$1;\n(statearr_37107_38277[(2)] \x3d inst_37029);\n\n(statearr_37107_38277[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (10))){\nvar inst_36988 \x3d (state_37052[(10)]);\nvar inst_36990 \x3d (state_37052[(12)]);\nvar inst_37002 \x3d cljs.core._nth(inst_36988,inst_36990);\nvar state_37052__$1 \x3d state_37052;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37052__$1,(13),out,inst_37002);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (18))){\nvar inst_37011 \x3d (state_37052[(7)]);\nvar inst_37020 \x3d cljs.core.first(inst_37011);\nvar state_37052__$1 \x3d state_37052;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37052__$1,(20),out,inst_37020);\n} else {\nif((state_val_37053 \x3d\x3d\x3d (8))){\nvar inst_36990 \x3d (state_37052[(12)]);\nvar inst_36989 \x3d (state_37052[(11)]);\nvar inst_36996 \x3d (inst_36990 \x3c inst_36989);\nvar inst_36997 \x3d inst_36996;\nvar state_37052__$1 \x3d state_37052;\nif(cljs.core.truth_(inst_36997)){\nvar statearr_37108_38283 \x3d state_37052__$1;\n(statearr_37108_38283[(1)] \x3d (10));\n\n} else {\nvar statearr_37109_38284 \x3d state_37052__$1;\n(statearr_37109_38284[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mapcat_STAR__$_state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$mapcat_STAR__$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_37110 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_37110[(0)] \x3d cljs$core$async$mapcat_STAR__$_state_machine__34860__auto__);\n\n(statearr_37110[(1)] \x3d (1));\n\nreturn statearr_37110;\n});\nvar cljs$core$async$mapcat_STAR__$_state_machine__34860__auto____1 \x3d (function (state_37052){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_37052);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e37111){var ex__34863__auto__ \x3d e37111;\nvar statearr_37112_38285 \x3d state_37052;\n(statearr_37112_38285[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_37052[(4)]))){\nvar statearr_37113_38286 \x3d state_37052;\n(statearr_37113_38286[(1)] \x3d cljs.core.first((state_37052[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38288 \x3d state_37052;\nstate_37052 \x3d G__38288;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mapcat_STAR__$_state_machine__34860__auto__ \x3d function(state_37052){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__34860__auto____1.call(this,state_37052);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mapcat_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mapcat_STAR__$_state_machine__34860__auto____0;\ncljs$core$async$mapcat_STAR__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mapcat_STAR__$_state_machine__34860__auto____1;\nreturn cljs$core$async$mapcat_STAR__$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_37114 \x3d f__35080__auto__();\n(statearr_37114[(6)] \x3d c__35079__auto__);\n\nreturn statearr_37114;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\nreturn c__35079__auto__;\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_LT_ \x3d (function cljs$core$async$mapcat_LT_(var_args){\nvar G__37118 \x3d arguments.length;\nswitch (G__37118) {\ncase 2:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,in$){\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3(f,in$,null);\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,in$,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn out;\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_GT_ \x3d (function cljs$core$async$mapcat_GT_(var_args){\nvar G__37131 \x3d arguments.length;\nswitch (G__37131) {\ncase 2:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,out){\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3(f,out,null);\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,out,buf_or_n){\nvar in$ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn in$;\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.unique \x3d (function cljs$core$async$unique(var_args){\nvar G__37135 \x3d arguments.length;\nswitch (G__37135) {\ncase 1:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1 \x3d (function (ch){\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2(ch,null);\n}));\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__35079__auto___38297 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_37159){\nvar state_val_37160 \x3d (state_37159[(1)]);\nif((state_val_37160 \x3d\x3d\x3d (7))){\nvar inst_37154 \x3d (state_37159[(2)]);\nvar state_37159__$1 \x3d state_37159;\nvar statearr_37161_38298 \x3d state_37159__$1;\n(statearr_37161_38298[(2)] \x3d inst_37154);\n\n(statearr_37161_38298[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (1))){\nvar inst_37136 \x3d null;\nvar state_37159__$1 \x3d (function (){var statearr_37162 \x3d state_37159;\n(statearr_37162[(7)] \x3d inst_37136);\n\nreturn statearr_37162;\n})();\nvar statearr_37163_38303 \x3d state_37159__$1;\n(statearr_37163_38303[(2)] \x3d null);\n\n(statearr_37163_38303[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (4))){\nvar inst_37139 \x3d (state_37159[(8)]);\nvar inst_37139__$1 \x3d (state_37159[(2)]);\nvar inst_37140 \x3d (inst_37139__$1 \x3d\x3d null);\nvar inst_37141 \x3d cljs.core.not(inst_37140);\nvar state_37159__$1 \x3d (function (){var statearr_37164 \x3d state_37159;\n(statearr_37164[(8)] \x3d inst_37139__$1);\n\nreturn statearr_37164;\n})();\nif(inst_37141){\nvar statearr_37165_38307 \x3d state_37159__$1;\n(statearr_37165_38307[(1)] \x3d (5));\n\n} else {\nvar statearr_37166_38308 \x3d state_37159__$1;\n(statearr_37166_38308[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (6))){\nvar state_37159__$1 \x3d state_37159;\nvar statearr_37167_38309 \x3d state_37159__$1;\n(statearr_37167_38309[(2)] \x3d null);\n\n(statearr_37167_38309[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (3))){\nvar inst_37156 \x3d (state_37159[(2)]);\nvar inst_37157 \x3d cljs.core.async.close_BANG_(out);\nvar state_37159__$1 \x3d (function (){var statearr_37168 \x3d state_37159;\n(statearr_37168[(9)] \x3d inst_37156);\n\nreturn statearr_37168;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_37159__$1,inst_37157);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (2))){\nvar state_37159__$1 \x3d state_37159;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_37159__$1,(4),ch);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (11))){\nvar inst_37139 \x3d (state_37159[(8)]);\nvar inst_37148 \x3d (state_37159[(2)]);\nvar inst_37136 \x3d inst_37139;\nvar state_37159__$1 \x3d (function (){var statearr_37171 \x3d state_37159;\n(statearr_37171[(10)] \x3d inst_37148);\n\n(statearr_37171[(7)] \x3d inst_37136);\n\nreturn statearr_37171;\n})();\nvar statearr_37172_38310 \x3d state_37159__$1;\n(statearr_37172_38310[(2)] \x3d null);\n\n(statearr_37172_38310[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (9))){\nvar inst_37139 \x3d (state_37159[(8)]);\nvar state_37159__$1 \x3d state_37159;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37159__$1,(11),out,inst_37139);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (5))){\nvar inst_37139 \x3d (state_37159[(8)]);\nvar inst_37136 \x3d (state_37159[(7)]);\nvar inst_37143 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_37139,inst_37136);\nvar state_37159__$1 \x3d state_37159;\nif(inst_37143){\nvar statearr_37175_38315 \x3d state_37159__$1;\n(statearr_37175_38315[(1)] \x3d (8));\n\n} else {\nvar statearr_37176_38316 \x3d state_37159__$1;\n(statearr_37176_38316[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (10))){\nvar inst_37151 \x3d (state_37159[(2)]);\nvar state_37159__$1 \x3d state_37159;\nvar statearr_37177_38317 \x3d state_37159__$1;\n(statearr_37177_38317[(2)] \x3d inst_37151);\n\n(statearr_37177_38317[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37160 \x3d\x3d\x3d (8))){\nvar inst_37136 \x3d (state_37159[(7)]);\nvar tmp37173 \x3d inst_37136;\nvar inst_37136__$1 \x3d tmp37173;\nvar state_37159__$1 \x3d (function (){var statearr_37178 \x3d state_37159;\n(statearr_37178[(7)] \x3d inst_37136__$1);\n\nreturn statearr_37178;\n})();\nvar statearr_37179_38319 \x3d state_37159__$1;\n(statearr_37179_38319[(2)] \x3d null);\n\n(statearr_37179_38319[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_37180 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_37180[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_37180[(1)] \x3d (1));\n\nreturn statearr_37180;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_37159){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_37159);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e37181){var ex__34863__auto__ \x3d e37181;\nvar statearr_37182_38320 \x3d state_37159;\n(statearr_37182_38320[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_37159[(4)]))){\nvar statearr_37183_38321 \x3d state_37159;\n(statearr_37183_38321[(1)] \x3d cljs.core.first((state_37159[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38322 \x3d state_37159;\nstate_37159 \x3d G__38322;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_37159){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_37159);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_37193 \x3d f__35080__auto__();\n(statearr_37193[(6)] \x3d c__35079__auto___38297);\n\nreturn statearr_37193;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.unique.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition \x3d (function cljs$core$async$partition(var_args){\nvar G__37196 \x3d arguments.length;\nswitch (G__37196) {\ncase 2:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__35079__auto___38326 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_37234){\nvar state_val_37235 \x3d (state_37234[(1)]);\nif((state_val_37235 \x3d\x3d\x3d (7))){\nvar inst_37230 \x3d (state_37234[(2)]);\nvar state_37234__$1 \x3d state_37234;\nvar statearr_37236_38327 \x3d state_37234__$1;\n(statearr_37236_38327[(2)] \x3d inst_37230);\n\n(statearr_37236_38327[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (1))){\nvar inst_37197 \x3d (new Array(n));\nvar inst_37198 \x3d inst_37197;\nvar inst_37199 \x3d (0);\nvar state_37234__$1 \x3d (function (){var statearr_37237 \x3d state_37234;\n(statearr_37237[(7)] \x3d inst_37198);\n\n(statearr_37237[(8)] \x3d inst_37199);\n\nreturn statearr_37237;\n})();\nvar statearr_37240_38328 \x3d state_37234__$1;\n(statearr_37240_38328[(2)] \x3d null);\n\n(statearr_37240_38328[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (4))){\nvar inst_37202 \x3d (state_37234[(9)]);\nvar inst_37202__$1 \x3d (state_37234[(2)]);\nvar inst_37203 \x3d (inst_37202__$1 \x3d\x3d null);\nvar inst_37204 \x3d cljs.core.not(inst_37203);\nvar state_37234__$1 \x3d (function (){var statearr_37241 \x3d state_37234;\n(statearr_37241[(9)] \x3d inst_37202__$1);\n\nreturn statearr_37241;\n})();\nif(inst_37204){\nvar statearr_37242_38329 \x3d state_37234__$1;\n(statearr_37242_38329[(1)] \x3d (5));\n\n} else {\nvar statearr_37243_38330 \x3d state_37234__$1;\n(statearr_37243_38330[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (15))){\nvar inst_37224 \x3d (state_37234[(2)]);\nvar state_37234__$1 \x3d state_37234;\nvar statearr_37244_38333 \x3d state_37234__$1;\n(statearr_37244_38333[(2)] \x3d inst_37224);\n\n(statearr_37244_38333[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (13))){\nvar state_37234__$1 \x3d state_37234;\nvar statearr_37246_38334 \x3d state_37234__$1;\n(statearr_37246_38334[(2)] \x3d null);\n\n(statearr_37246_38334[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (6))){\nvar inst_37199 \x3d (state_37234[(8)]);\nvar inst_37220 \x3d (inst_37199 \x3e (0));\nvar state_37234__$1 \x3d state_37234;\nif(cljs.core.truth_(inst_37220)){\nvar statearr_37247_38335 \x3d state_37234__$1;\n(statearr_37247_38335[(1)] \x3d (12));\n\n} else {\nvar statearr_37249_38336 \x3d state_37234__$1;\n(statearr_37249_38336[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (3))){\nvar inst_37232 \x3d (state_37234[(2)]);\nvar state_37234__$1 \x3d state_37234;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_37234__$1,inst_37232);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (12))){\nvar inst_37198 \x3d (state_37234[(7)]);\nvar inst_37222 \x3d cljs.core.vec(inst_37198);\nvar state_37234__$1 \x3d state_37234;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37234__$1,(15),out,inst_37222);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (2))){\nvar state_37234__$1 \x3d state_37234;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_37234__$1,(4),ch);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (11))){\nvar inst_37214 \x3d (state_37234[(2)]);\nvar inst_37215 \x3d (new Array(n));\nvar inst_37198 \x3d inst_37215;\nvar inst_37199 \x3d (0);\nvar state_37234__$1 \x3d (function (){var statearr_37250 \x3d state_37234;\n(statearr_37250[(10)] \x3d inst_37214);\n\n(statearr_37250[(7)] \x3d inst_37198);\n\n(statearr_37250[(8)] \x3d inst_37199);\n\nreturn statearr_37250;\n})();\nvar statearr_37251_38338 \x3d state_37234__$1;\n(statearr_37251_38338[(2)] \x3d null);\n\n(statearr_37251_38338[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (9))){\nvar inst_37198 \x3d (state_37234[(7)]);\nvar inst_37212 \x3d cljs.core.vec(inst_37198);\nvar state_37234__$1 \x3d state_37234;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37234__$1,(11),out,inst_37212);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (5))){\nvar inst_37198 \x3d (state_37234[(7)]);\nvar inst_37199 \x3d (state_37234[(8)]);\nvar inst_37202 \x3d (state_37234[(9)]);\nvar inst_37207 \x3d (state_37234[(11)]);\nvar inst_37206 \x3d (inst_37198[inst_37199] \x3d inst_37202);\nvar inst_37207__$1 \x3d (inst_37199 + (1));\nvar inst_37208 \x3d (inst_37207__$1 \x3c n);\nvar state_37234__$1 \x3d (function (){var statearr_37252 \x3d state_37234;\n(statearr_37252[(12)] \x3d inst_37206);\n\n(statearr_37252[(11)] \x3d inst_37207__$1);\n\nreturn statearr_37252;\n})();\nif(cljs.core.truth_(inst_37208)){\nvar statearr_37253_38343 \x3d state_37234__$1;\n(statearr_37253_38343[(1)] \x3d (8));\n\n} else {\nvar statearr_37254_38344 \x3d state_37234__$1;\n(statearr_37254_38344[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (14))){\nvar inst_37227 \x3d (state_37234[(2)]);\nvar inst_37228 \x3d cljs.core.async.close_BANG_(out);\nvar state_37234__$1 \x3d (function (){var statearr_37256 \x3d state_37234;\n(statearr_37256[(13)] \x3d inst_37227);\n\nreturn statearr_37256;\n})();\nvar statearr_37257_38345 \x3d state_37234__$1;\n(statearr_37257_38345[(2)] \x3d inst_37228);\n\n(statearr_37257_38345[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (10))){\nvar inst_37218 \x3d (state_37234[(2)]);\nvar state_37234__$1 \x3d state_37234;\nvar statearr_37265_38346 \x3d state_37234__$1;\n(statearr_37265_38346[(2)] \x3d inst_37218);\n\n(statearr_37265_38346[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37235 \x3d\x3d\x3d (8))){\nvar inst_37198 \x3d (state_37234[(7)]);\nvar inst_37207 \x3d (state_37234[(11)]);\nvar tmp37255 \x3d inst_37198;\nvar inst_37198__$1 \x3d tmp37255;\nvar inst_37199 \x3d inst_37207;\nvar state_37234__$1 \x3d (function (){var statearr_37266 \x3d state_37234;\n(statearr_37266[(7)] \x3d inst_37198__$1);\n\n(statearr_37266[(8)] \x3d inst_37199);\n\nreturn statearr_37266;\n})();\nvar statearr_37267_38351 \x3d state_37234__$1;\n(statearr_37267_38351[(2)] \x3d null);\n\n(statearr_37267_38351[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_37269 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_37269[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_37269[(1)] \x3d (1));\n\nreturn statearr_37269;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_37234){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_37234);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e37270){var ex__34863__auto__ \x3d e37270;\nvar statearr_37271_38352 \x3d state_37234;\n(statearr_37271_38352[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_37234[(4)]))){\nvar statearr_37281_38353 \x3d state_37234;\n(statearr_37281_38353[(1)] \x3d cljs.core.first((state_37234[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38354 \x3d state_37234;\nstate_37234 \x3d G__38354;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_37234){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_37234);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_37282 \x3d f__35080__auto__();\n(statearr_37282[(6)] \x3d c__35079__auto___38326);\n\nreturn statearr_37282;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition_by \x3d (function cljs$core$async$partition_by(var_args){\nvar G__37288 \x3d arguments.length;\nswitch (G__37288) {\ncase 2:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,ch){\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3(f,ch,null);\n}));\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__35079__auto___38363 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_37348){\nvar state_val_37349 \x3d (state_37348[(1)]);\nif((state_val_37349 \x3d\x3d\x3d (7))){\nvar inst_37344 \x3d (state_37348[(2)]);\nvar state_37348__$1 \x3d state_37348;\nvar statearr_37351_38364 \x3d state_37348__$1;\n(statearr_37351_38364[(2)] \x3d inst_37344);\n\n(statearr_37351_38364[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (1))){\nvar inst_37297 \x3d [];\nvar inst_37298 \x3d inst_37297;\nvar inst_37299 \x3d new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123);\nvar state_37348__$1 \x3d (function (){var statearr_37352 \x3d state_37348;\n(statearr_37352[(7)] \x3d inst_37298);\n\n(statearr_37352[(8)] \x3d inst_37299);\n\nreturn statearr_37352;\n})();\nvar statearr_37356_38365 \x3d state_37348__$1;\n(statearr_37356_38365[(2)] \x3d null);\n\n(statearr_37356_38365[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (4))){\nvar inst_37302 \x3d (state_37348[(9)]);\nvar inst_37302__$1 \x3d (state_37348[(2)]);\nvar inst_37303 \x3d (inst_37302__$1 \x3d\x3d null);\nvar inst_37304 \x3d cljs.core.not(inst_37303);\nvar state_37348__$1 \x3d (function (){var statearr_37358 \x3d state_37348;\n(statearr_37358[(9)] \x3d inst_37302__$1);\n\nreturn statearr_37358;\n})();\nif(inst_37304){\nvar statearr_37359_38366 \x3d state_37348__$1;\n(statearr_37359_38366[(1)] \x3d (5));\n\n} else {\nvar statearr_37360_38367 \x3d state_37348__$1;\n(statearr_37360_38367[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (15))){\nvar inst_37298 \x3d (state_37348[(7)]);\nvar inst_37334 \x3d cljs.core.vec(inst_37298);\nvar state_37348__$1 \x3d state_37348;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37348__$1,(18),out,inst_37334);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (13))){\nvar inst_37326 \x3d (state_37348[(2)]);\nvar state_37348__$1 \x3d state_37348;\nvar statearr_37361_38368 \x3d state_37348__$1;\n(statearr_37361_38368[(2)] \x3d inst_37326);\n\n(statearr_37361_38368[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (6))){\nvar inst_37298 \x3d (state_37348[(7)]);\nvar inst_37331 \x3d inst_37298.length;\nvar inst_37332 \x3d (inst_37331 \x3e (0));\nvar state_37348__$1 \x3d state_37348;\nif(cljs.core.truth_(inst_37332)){\nvar statearr_37362_38369 \x3d state_37348__$1;\n(statearr_37362_38369[(1)] \x3d (15));\n\n} else {\nvar statearr_37363_38370 \x3d state_37348__$1;\n(statearr_37363_38370[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (17))){\nvar inst_37341 \x3d (state_37348[(2)]);\nvar inst_37342 \x3d cljs.core.async.close_BANG_(out);\nvar state_37348__$1 \x3d (function (){var statearr_37364 \x3d state_37348;\n(statearr_37364[(10)] \x3d inst_37341);\n\nreturn statearr_37364;\n})();\nvar statearr_37365_38371 \x3d state_37348__$1;\n(statearr_37365_38371[(2)] \x3d inst_37342);\n\n(statearr_37365_38371[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (3))){\nvar inst_37346 \x3d (state_37348[(2)]);\nvar state_37348__$1 \x3d state_37348;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_37348__$1,inst_37346);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (12))){\nvar inst_37298 \x3d (state_37348[(7)]);\nvar inst_37319 \x3d cljs.core.vec(inst_37298);\nvar state_37348__$1 \x3d state_37348;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37348__$1,(14),out,inst_37319);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (2))){\nvar state_37348__$1 \x3d state_37348;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_37348__$1,(4),ch);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (11))){\nvar inst_37298 \x3d (state_37348[(7)]);\nvar inst_37302 \x3d (state_37348[(9)]);\nvar inst_37306 \x3d (state_37348[(11)]);\nvar inst_37316 \x3d inst_37298.push(inst_37302);\nvar tmp37367 \x3d inst_37298;\nvar inst_37298__$1 \x3d tmp37367;\nvar inst_37299 \x3d inst_37306;\nvar state_37348__$1 \x3d (function (){var statearr_37375 \x3d state_37348;\n(statearr_37375[(12)] \x3d inst_37316);\n\n(statearr_37375[(7)] \x3d inst_37298__$1);\n\n(statearr_37375[(8)] \x3d inst_37299);\n\nreturn statearr_37375;\n})();\nvar statearr_37376_38373 \x3d state_37348__$1;\n(statearr_37376_38373[(2)] \x3d null);\n\n(statearr_37376_38373[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (9))){\nvar inst_37299 \x3d (state_37348[(8)]);\nvar inst_37310 \x3d cljs.core.keyword_identical_QMARK_(inst_37299,new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123));\nvar state_37348__$1 \x3d state_37348;\nvar statearr_37378_38374 \x3d state_37348__$1;\n(statearr_37378_38374[(2)] \x3d inst_37310);\n\n(statearr_37378_38374[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (5))){\nvar inst_37302 \x3d (state_37348[(9)]);\nvar inst_37306 \x3d (state_37348[(11)]);\nvar inst_37299 \x3d (state_37348[(8)]);\nvar inst_37307 \x3d (state_37348[(13)]);\nvar inst_37306__$1 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_37302) : f.call(null,inst_37302));\nvar inst_37307__$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_37306__$1,inst_37299);\nvar state_37348__$1 \x3d (function (){var statearr_37379 \x3d state_37348;\n(statearr_37379[(11)] \x3d inst_37306__$1);\n\n(statearr_37379[(13)] \x3d inst_37307__$1);\n\nreturn statearr_37379;\n})();\nif(inst_37307__$1){\nvar statearr_37380_38379 \x3d state_37348__$1;\n(statearr_37380_38379[(1)] \x3d (8));\n\n} else {\nvar statearr_37381_38381 \x3d state_37348__$1;\n(statearr_37381_38381[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (14))){\nvar inst_37302 \x3d (state_37348[(9)]);\nvar inst_37306 \x3d (state_37348[(11)]);\nvar inst_37321 \x3d (state_37348[(2)]);\nvar inst_37322 \x3d [];\nvar inst_37323 \x3d inst_37322.push(inst_37302);\nvar inst_37298 \x3d inst_37322;\nvar inst_37299 \x3d inst_37306;\nvar state_37348__$1 \x3d (function (){var statearr_37382 \x3d state_37348;\n(statearr_37382[(14)] \x3d inst_37321);\n\n(statearr_37382[(15)] \x3d inst_37323);\n\n(statearr_37382[(7)] \x3d inst_37298);\n\n(statearr_37382[(8)] \x3d inst_37299);\n\nreturn statearr_37382;\n})();\nvar statearr_37383_38388 \x3d state_37348__$1;\n(statearr_37383_38388[(2)] \x3d null);\n\n(statearr_37383_38388[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (16))){\nvar state_37348__$1 \x3d state_37348;\nvar statearr_37384_38390 \x3d state_37348__$1;\n(statearr_37384_38390[(2)] \x3d null);\n\n(statearr_37384_38390[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (10))){\nvar inst_37313 \x3d (state_37348[(2)]);\nvar state_37348__$1 \x3d state_37348;\nif(cljs.core.truth_(inst_37313)){\nvar statearr_37387_38391 \x3d state_37348__$1;\n(statearr_37387_38391[(1)] \x3d (11));\n\n} else {\nvar statearr_37388_38392 \x3d state_37348__$1;\n(statearr_37388_38392[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (18))){\nvar inst_37336 \x3d (state_37348[(2)]);\nvar state_37348__$1 \x3d state_37348;\nvar statearr_37389_38393 \x3d state_37348__$1;\n(statearr_37389_38393[(2)] \x3d inst_37336);\n\n(statearr_37389_38393[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37349 \x3d\x3d\x3d (8))){\nvar inst_37307 \x3d (state_37348[(13)]);\nvar state_37348__$1 \x3d state_37348;\nvar statearr_37392_38395 \x3d state_37348__$1;\n(statearr_37392_38395[(2)] \x3d inst_37307);\n\n(statearr_37392_38395[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34860__auto__ \x3d null;\nvar cljs$core$async$state_machine__34860__auto____0 \x3d (function (){\nvar statearr_37393 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_37393[(0)] \x3d cljs$core$async$state_machine__34860__auto__);\n\n(statearr_37393[(1)] \x3d (1));\n\nreturn statearr_37393;\n});\nvar cljs$core$async$state_machine__34860__auto____1 \x3d (function (state_37348){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_37348);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e37394){var ex__34863__auto__ \x3d e37394;\nvar statearr_37395_38402 \x3d state_37348;\n(statearr_37395_38402[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_37348[(4)]))){\nvar statearr_37397_38403 \x3d state_37348;\n(statearr_37397_38403[(1)] \x3d cljs.core.first((state_37348[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38404 \x3d state_37348;\nstate_37348 \x3d G__38404;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34860__auto__ \x3d function(state_37348){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34860__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34860__auto____1.call(this,state_37348);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34860__auto____0;\ncljs$core$async$state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34860__auto____1;\nreturn cljs$core$async$state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_37399 \x3d f__35080__auto__();\n(statearr_37399[(6)] \x3d c__35079__auto___38363);\n\nreturn statearr_37399;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition_by.cljs$lang$maxFixedArity \x3d 3);\n\n");
SHADOW_ENV.evalLoad("shadow.util.js", true, "goog.provide(\x27shadow.util\x27);\nshadow.util.console_friendly \x3d (function shadow$util$console_friendly(a){\nif((a \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nif((a instanceof cljs.core.Keyword)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);\n} else {\nif(typeof a \x3d\x3d\x3d \x27string\x27){\nreturn a;\n} else {\nif(typeof a \x3d\x3d\x3d \x27number\x27){\nreturn a;\n} else {\nif((((!((a \x3d\x3d null))))?(((((a.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d a.cljs$core$IPrintWithWriter$))))?true:(((!a.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a))){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a], 0));\n} else {\nreturn a;\n\n}\n}\n}\n}\n}\n});\nshadow.util.console_QMARK_ \x3d (typeof console !\x3d\x3d \x27undefined\x27);\nshadow.util.log \x3d (function shadow$util$log(var_args){\nvar G__34949 \x3d arguments.length;\nswitch (G__34949) {\ncase 1:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___34980 \x3d arguments.length;\nvar i__5750__auto___34981 \x3d (0);\nwhile(true){\nif((i__5750__auto___34981 \x3c len__5749__auto___34980)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___34981]));\n\nvar G__34982 \x3d (i__5750__auto___34981 + (1));\ni__5750__auto___34981 \x3d G__34982;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((6) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((6)),(0),null)):null);\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5775__auto__);\n\n}\n});\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$1 \x3d (function (a1){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$2 \x3d (function (a1,a2){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$3 \x3d (function (a1,a2,a3){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$4 \x3d (function (a1,a2,a3,a4){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$5 \x3d (function (a1,a2,a3,a4,a5){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$6 \x3d (function (a1,a2,a3,a4,a5,a6){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a1,a2,a3,a4,a5,a6,more){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6),\x22more:\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));\n} else {\nreturn null;\n}\n}));\n\n/** @this {Function} */\n(shadow.util.log.cljs$lang$applyTo \x3d (function (seq34939){\nvar G__34943 \x3d cljs.core.first(seq34939);\nvar seq34939__$1 \x3d cljs.core.next(seq34939);\nvar G__34944 \x3d cljs.core.first(seq34939__$1);\nvar seq34939__$2 \x3d cljs.core.next(seq34939__$1);\nvar G__34945 \x3d cljs.core.first(seq34939__$2);\nvar seq34939__$3 \x3d cljs.core.next(seq34939__$2);\nvar G__34946 \x3d cljs.core.first(seq34939__$3);\nvar seq34939__$4 \x3d cljs.core.next(seq34939__$3);\nvar G__34947 \x3d cljs.core.first(seq34939__$4);\nvar seq34939__$5 \x3d cljs.core.next(seq34939__$4);\nvar G__34948 \x3d cljs.core.first(seq34939__$5);\nvar seq34939__$6 \x3d cljs.core.next(seq34939__$5);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__34943,G__34944,G__34945,G__34946,G__34947,G__34948,seq34939__$6);\n}));\n\n(shadow.util.log.cljs$lang$maxFixedArity \x3d (6));\n\nshadow.util.remove_from_vector \x3d (function shadow$util$remove_from_vector(coll,key){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,p__34962){\nvar vec__34963 \x3d p__34962;\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__34963,(0),null);\nvar item \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__34963,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(idx,key)){\nreturn v;\n} else {\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,item);\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,coll)));\n});\nshadow.util.remove_item_from_coll \x3d (function shadow$util$remove_item_from_coll(coll,key,value){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IVector$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll))){\nreturn shadow.util.remove_from_vector(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IMap$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll))){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISet$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll))){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,value);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unknown coll type\x22,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22coll\x22,\x22coll\x22,1647737163),coll,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22value\x22,\x22value\x22,305978217),value], null));\n\n}\n}\n}\n});\n");
SHADOW_ENV.evalLoad("shadow.object.js", true, "goog.provide(\x27shadow.object\x27);\nshadow.object.console_friendly \x3d shadow.util.console_friendly;\nshadow.object.log \x3d shadow.util.log;\nshadow.object.debug \x3d shadow.util.log;\nshadow.object.info \x3d shadow.util.log;\nshadow.object.warn \x3d shadow.util.log;\nshadow.object.error \x3d shadow.util.log;\nshadow.object.obj_id \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\nshadow.object.next_id \x3d (function shadow$object$next_id(){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.obj_id,cljs.core.inc);\n});\nshadow.object.object_defs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.behavior_fns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instances \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_parent \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.events \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.define_event \x3d (function shadow$object$define_event(event_name,desc,args){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.events,cljs.core.assoc,event_name,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),event_name,new cljs.core.Keyword(null,\x22description\x22,\x22description\x22,-1428560544),desc,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n});\nshadow.object.unmunge \x3d (function shadow$object$unmunge(s){\nreturn clojure.string.replace(clojure.string.replace(s,/_DOT_/,\x22.\x22),/_/,\x22-\x22);\n});\nshadow.object.define_event(new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434),\x22object initialization\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),\x22object descruction\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),\x22cause of destruction, :parent means the parent was destroyed, :direct is default\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),\x22called after the dom was created but has not entered the document yet\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),\x22the dom that was created\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596),\x22should be called whenever a dom node is added to the document, since that\\n   is not in control of this library its up to you to call this\\n   use (so/notify-tree! your-obj :dom/entered) to notify the node and every child you created\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160),\x22need to rethink this\x22,cljs.core.PersistentVector.EMPTY);\n\n/**\n * @interface\n */\nshadow.object.IObject \x3d function(){};\n\nvar shadow$object$IObject$_id$dyn_38538 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._id[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._id[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-id\x22,this$);\n}\n}\n});\nshadow.object._id \x3d (function shadow$object$_id(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_id$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_id$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_id$dyn_38538(this$);\n}\n});\n\nvar shadow$object$IObject$_type$dyn_38542 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._type[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._type[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-type\x22,this$);\n}\n}\n});\nshadow.object._type \x3d (function shadow$object$_type(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_type$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_type$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_type$dyn_38542(this$);\n}\n});\n\nvar shadow$object$IObject$_data$dyn_38543 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._data[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._data[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-data\x22,this$);\n}\n}\n});\nshadow.object._data \x3d (function shadow$object$_data(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_data$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_data$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_data$dyn_38543(this$);\n}\n});\n\nvar shadow$object$IObject$_update$dyn_38545 \x3d (function (this$,update_fn){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._update[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5374__auto__.call(null,this$,update_fn));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._update[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5372__auto__.call(null,this$,update_fn));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-update\x22,this$);\n}\n}\n});\n/**\n * update and notify watches\n */\nshadow.object._update \x3d (function shadow$object$_update(this$,update_fn){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_update$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_update$arity$2(this$,update_fn);\n} else {\nreturn shadow$object$IObject$_update$dyn_38545(this$,update_fn);\n}\n});\n\nvar shadow$object$IObject$_destroy_BANG_$dyn_38546 \x3d (function (this$,cause){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._destroy_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5374__auto__.call(null,this$,cause));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._destroy_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5372__auto__.call(null,this$,cause));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-destroy!\x22,this$);\n}\n}\n});\nshadow.object._destroy_BANG_ \x3d (function shadow$object$_destroy_BANG_(this$,cause){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_destroy_BANG_$arity$2(this$,cause);\n} else {\nreturn shadow$object$IObject$_destroy_BANG_$dyn_38546(this$,cause);\n}\n});\n\nshadow.object.get_type \x3d (function shadow$object$get_type(this$){\nreturn shadow.object._type(this$);\n});\nshadow.object.get_type_attr \x3d (function shadow$object$get_type_attr(var_args){\nvar G__37493 \x3d arguments.length;\nswitch (G__37493) {\ncase 2:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,key){\nif((oref \x3d\x3d null)){\nreturn null;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null));\n}\n}));\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,key,default$){\nif((oref \x3d\x3d null)){\nreturn default$;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null),default$);\n}\n}));\n\n(shadow.object.get_type_attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.get_dom \x3d (function shadow$object$get_dom(oref){\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(oref);\n});\ngoog.exportSymbol(\x27shadow.object.get_dom\x27, shadow.object.get_dom);\nshadow.object.get_by_id \x3d (function shadow$object$get_by_id(id){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),id);\n});\ngoog.exportSymbol(\x27shadow.object.get_by_id\x27, shadow.object.get_by_id);\nshadow.object.get_from_dom \x3d (function shadow$object$get_from_dom(dom){\nvar oid \x3d shadow.dom.data(dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(oid)){\nreturn shadow.object.get_by_id(parseInt(oid,(10)));\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_from_dom\x27, shadow.object.get_from_dom);\nshadow.object.is_object_QMARK_ \x3d (function shadow$object$is_object_QMARK_(obj_or_dom){\nvar or__5025__auto__ \x3d (((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn shadow.object.get_from_dom(obj_or_dom);\n}\n});\nshadow.object.equal_QMARK_ \x3d (function shadow$object$equal_QMARK_(obj,obj_or_dom){\nif((((!((obj \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.shadow$object$IObject$))))?true:(((!obj.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22can only test objects\x22,\x22\\n\x22,\x22(satisfies? IObject obj)\x22].join(\x27\x27)));\n}\n\nif((((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom))){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),shadow.object._id(obj_or_dom));\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),(function (){var temp__5804__auto__ \x3d shadow.dom.data(obj_or_dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar oid \x3d temp__5804__auto__;\nreturn parseInt(oid,(10));\n} else {\nreturn null;\n}\n})());\n}\n});\nshadow.object.get_parent \x3d (function shadow$object$get_parent(oref){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),shadow.object._id(oref));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar parent_id \x3d temp__5804__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),parent_id);\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent\x27, shadow.object.get_parent);\nshadow.object.get_parent_of_type \x3d (function shadow$object$get_parent_of_type(oref,parent_type){\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(oref);\nwhile(true){\nif(cljs.core.truth_(parent)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._type(parent),parent_type)){\nreturn parent;\n} else {\nvar G__38557 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(parent);\nparent \x3d G__38557;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent_of_type\x27, shadow.object.get_parent_of_type);\nshadow.object.get_children \x3d (function shadow$object$get_children(parent){\nvar parent_id \x3d shadow.object._id(parent);\nvar child_ids \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.instance_children),parent_id,cljs.core.PersistentVector.EMPTY);\nvar instances \x3d cljs.core.deref(shadow.object.instances);\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__37543_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(instances,p1__37543_SHARP_);\n}),child_ids));\n});\ngoog.exportSymbol(\x27shadow.object.get_children\x27, shadow.object.get_children);\nshadow.object.tree_seq \x3d (function shadow$object$tree_seq(var_args){\nvar G__37559 \x3d arguments.length;\nswitch (G__37559) {\ncase 1:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\ngoog.exportSymbol(\x27shadow.object.tree_seq\x27, shadow.object.tree_seq);\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (root){\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2(root,(function (node){\nreturn true;\n}));\n}));\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (root,branch_QMARK_){\nreturn cljs.core.tree_seq(branch_QMARK_,shadow.object.get_children,root);\n}));\n\n(shadow.object.tree_seq.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_children_of_type \x3d (function shadow$object$get_children_of_type(oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__37566_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__37566_SHARP_));\n}),shadow.object.get_children(oref));\n});\n/**\n * basically (get-children (:parent this))\n */\nshadow.object.get_siblings \x3d (function shadow$object$get_siblings(p__37576){\nvar map__37577 \x3d p__37576;\nvar map__37577__$1 \x3d cljs.core.__destructure_map(map__37577);\nvar oref \x3d map__37577__$1;\nvar parent \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37577__$1,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\nif(cljs.core.truth_(parent)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object has no parent, thus has no siblings\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nreturn shadow.object.get_children(parent);\n});\n/**\n * returns set of all siblings of a common type\n */\nshadow.object.get_siblings_of_type \x3d (function shadow$object$get_siblings_of_type(var_args){\nvar G__37585 \x3d arguments.length;\nswitch (G__37585) {\ncase 1:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2(oref,oref);\n}));\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__37582_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__37582_SHARP_));\n}),shadow.object.get_siblings(oref));\n}));\n\n(shadow.object.get_siblings_of_type.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_collection_item \x3d (function shadow$object$get_collection_item(oref){\nvar item_key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,item_key);\n});\n/**\n * find the object that contains this dom node\n */\nshadow.object.find_containing_object \x3d (function shadow$object$find_containing_object(dom){\nwhile(true){\nvar temp__5802__auto__ \x3d shadow.object.get_from_dom(dom);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar obj \x3d temp__5802__auto__;\nreturn obj;\n} else {\nvar temp__5804__auto__ \x3d dom.parentElement;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar parent \x3d temp__5804__auto__;\nvar G__38569 \x3d parent;\ndom \x3d G__38569;\ncontinue;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.notify_BANG_ \x3d (function shadow$object$notify_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38571 \x3d arguments.length;\nvar i__5750__auto___38572 \x3d (0);\nwhile(true){\nif((i__5750__auto___38572 \x3c len__5749__auto___38571)){\nargs__5755__auto__.push((arguments[i__5750__auto___38572]));\n\nvar G__38573 \x3d (i__5750__auto___38572 + (1));\ni__5750__auto___38572 \x3d G__38573;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),ev], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar reactions_to_trigger \x3d temp__5804__auto__;\nvar seq__37621 \x3d cljs.core.seq(reactions_to_trigger);\nvar chunk__37622 \x3d null;\nvar count__37623 \x3d (0);\nvar i__37624 \x3d (0);\nwhile(true){\nif((i__37624 \x3c count__37623)){\nvar rfn \x3d chunk__37622.cljs$core$IIndexed$_nth$arity$2(null,i__37624);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__38581 \x3d seq__37621;\nvar G__38582 \x3d chunk__37622;\nvar G__38583 \x3d count__37623;\nvar G__38584 \x3d (i__37624 + (1));\nseq__37621 \x3d G__38581;\nchunk__37622 \x3d G__38582;\ncount__37623 \x3d G__38583;\ni__37624 \x3d G__38584;\ncontinue;\n} else {\nvar temp__5804__auto____$1 \x3d cljs.core.seq(seq__37621);\nif(temp__5804__auto____$1){\nvar seq__37621__$1 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__37621__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__37621__$1);\nvar G__38585 \x3d cljs.core.chunk_rest(seq__37621__$1);\nvar G__38586 \x3d c__5548__auto__;\nvar G__38587 \x3d cljs.core.count(c__5548__auto__);\nvar G__38588 \x3d (0);\nseq__37621 \x3d G__38585;\nchunk__37622 \x3d G__38586;\ncount__37623 \x3d G__38587;\ni__37624 \x3d G__38588;\ncontinue;\n} else {\nvar rfn \x3d cljs.core.first(seq__37621__$1);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__38589 \x3d cljs.core.next(seq__37621__$1);\nvar G__38590 \x3d null;\nvar G__38591 \x3d (0);\nvar G__38592 \x3d (0);\nseq__37621 \x3d G__38589;\nchunk__37622 \x3d G__38590;\ncount__37623 \x3d G__38591;\ni__37624 \x3d G__38592;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.notify_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_BANG_.cljs$lang$applyTo \x3d (function (seq37608){\nvar G__37609 \x3d cljs.core.first(seq37608);\nvar seq37608__$1 \x3d cljs.core.next(seq37608);\nvar G__37610 \x3d cljs.core.first(seq37608__$1);\nvar seq37608__$2 \x3d cljs.core.next(seq37608__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37609,G__37610,seq37608__$2);\n}));\n\nshadow.object.do_notify_tree \x3d (function shadow$object$do_notify_tree(current_obj,ev,notify_fn){\nvar seq__37643_38593 \x3d cljs.core.seq(shadow.object.get_children(current_obj));\nvar chunk__37644_38594 \x3d null;\nvar count__37645_38595 \x3d (0);\nvar i__37646_38596 \x3d (0);\nwhile(true){\nif((i__37646_38596 \x3c count__37645_38595)){\nvar child_38603 \x3d chunk__37644_38594.cljs$core$IIndexed$_nth$arity$2(null,i__37646_38596);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_38603,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_38603,ev,notify_fn));\n\n\nvar G__38605 \x3d seq__37643_38593;\nvar G__38606 \x3d chunk__37644_38594;\nvar G__38607 \x3d count__37645_38595;\nvar G__38608 \x3d (i__37646_38596 + (1));\nseq__37643_38593 \x3d G__38605;\nchunk__37644_38594 \x3d G__38606;\ncount__37645_38595 \x3d G__38607;\ni__37646_38596 \x3d G__38608;\ncontinue;\n} else {\nvar temp__5804__auto___38609 \x3d cljs.core.seq(seq__37643_38593);\nif(temp__5804__auto___38609){\nvar seq__37643_38611__$1 \x3d temp__5804__auto___38609;\nif(cljs.core.chunked_seq_QMARK_(seq__37643_38611__$1)){\nvar c__5548__auto___38612 \x3d cljs.core.chunk_first(seq__37643_38611__$1);\nvar G__38613 \x3d cljs.core.chunk_rest(seq__37643_38611__$1);\nvar G__38614 \x3d c__5548__auto___38612;\nvar G__38615 \x3d cljs.core.count(c__5548__auto___38612);\nvar G__38616 \x3d (0);\nseq__37643_38593 \x3d G__38613;\nchunk__37644_38594 \x3d G__38614;\ncount__37645_38595 \x3d G__38615;\ni__37646_38596 \x3d G__38616;\ncontinue;\n} else {\nvar child_38618 \x3d cljs.core.first(seq__37643_38611__$1);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_38618,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_38618,ev,notify_fn));\n\n\nvar G__38620 \x3d cljs.core.next(seq__37643_38611__$1);\nvar G__38621 \x3d null;\nvar G__38622 \x3d (0);\nvar G__38623 \x3d (0);\nseq__37643_38593 \x3d G__38620;\nchunk__37644_38594 \x3d G__38621;\ncount__37645_38595 \x3d G__38622;\ni__37646_38596 \x3d G__38623;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (notify_fn.cljs$core$IFn$_invoke$arity$1 ? notify_fn.cljs$core$IFn$_invoke$arity$1(current_obj) : notify_fn.call(null,current_obj));\n});\nshadow.object.notify_tree_BANG_ \x3d (function shadow$object$notify_tree_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38626 \x3d arguments.length;\nvar i__5750__auto___38627 \x3d (0);\nwhile(true){\nif((i__5750__auto___38627 \x3c len__5749__auto___38626)){\nargs__5755__auto__.push((arguments[i__5750__auto___38627]));\n\nvar G__38628 \x3d (i__5750__auto___38627 + (1));\ni__5750__auto___38627 \x3d G__38628;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar notify_fn \x3d (function (obj){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,obj,ev,args);\n});\nreturn shadow.object.do_notify_tree(oref,ev,notify_fn);\n}));\n\n(shadow.object.notify_tree_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_tree_BANG_.cljs$lang$applyTo \x3d (function (seq37669){\nvar G__37670 \x3d cljs.core.first(seq37669);\nvar seq37669__$1 \x3d cljs.core.next(seq37669);\nvar G__37671 \x3d cljs.core.first(seq37669__$1);\nvar seq37669__$2 \x3d cljs.core.next(seq37669__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37670,G__37671,seq37669__$2);\n}));\n\nshadow.object.notify_down_BANG_ \x3d shadow.object.notify_tree_BANG_;\nshadow.object.notify_up_BANG_ \x3d (function shadow$object$notify_up_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38633 \x3d arguments.length;\nvar i__5750__auto___38634 \x3d (0);\nwhile(true){\nif((i__5750__auto___38634 \x3c len__5749__auto___38633)){\nargs__5755__auto__.push((arguments[i__5750__auto___38634]));\n\nvar G__38635 \x3d (i__5750__auto___38634 + (1));\ni__5750__auto___38634 \x3d G__38635;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar current \x3d shadow.object.get_parent(oref);\nwhile(true){\nif(cljs.core.truth_(current)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,current,ev,args);\n\nvar G__38636 \x3d shadow.object.get_parent(current);\ncurrent \x3d G__38636;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.object.notify_up_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_up_BANG_.cljs$lang$applyTo \x3d (function (seq37677){\nvar G__37678 \x3d cljs.core.first(seq37677);\nvar seq37677__$1 \x3d cljs.core.next(seq37677);\nvar G__37679 \x3d cljs.core.first(seq37677__$1);\nvar seq37677__$2 \x3d cljs.core.next(seq37677__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37678,G__37679,seq37677__$2);\n}));\n\nshadow.object.update_BANG_ \x3d (function shadow$object$update_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38643 \x3d arguments.length;\nvar i__5750__auto___38644 \x3d (0);\nwhile(true){\nif((i__5750__auto___38644 \x3c len__5749__auto___38643)){\nargs__5755__auto__.push((arguments[i__5750__auto___38644]));\n\nvar G__38645 \x3d (i__5750__auto___38644 + (1));\ni__5750__auto___38644 \x3d G__38645;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,update_fn,args){\nif(cljs.core.fn_QMARK_(update_fn)){\n} else {\nthrow [\x22update! expects a fn as second arg, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([update_fn], 0))].join(\x27\x27);\n}\n\nvar id \x3d shadow.object._id(oref);\nvar data \x3d shadow.object._data(oref);\nvar work_fn \x3d (function (data__$1){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(update_fn,data__$1,args);\n});\nreturn shadow.object._update(oref,work_fn);\n}));\n\n(shadow.object.update_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.update_BANG_.cljs$lang$applyTo \x3d (function (seq37696){\nvar G__37697 \x3d cljs.core.first(seq37696);\nvar seq37696__$1 \x3d cljs.core.next(seq37696);\nvar G__37698 \x3d cljs.core.first(seq37696__$1);\nvar seq37696__$2 \x3d cljs.core.next(seq37696__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37697,G__37698,seq37696__$2);\n}));\n\nshadow.object.return_value \x3d (function shadow$object$return_value(oref,return_value){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360),return_value], 0));\n});\nshadow.object.set_parent_BANG_ \x3d (function shadow$object$set_parent_BANG_(child,parent){\nvar child_id \x3d shadow.object._id(child);\nvar parent_id \x3d shadow.object._id(parent);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instance_parent,cljs.core.assoc,child_id,parent_id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.instance_children,(function (x){\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.PersistentHashSet.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,child_id));\n}));\n\nreturn true;\n});\nshadow.object.dom_destroy \x3d (function shadow$object$dom_destroy(this$,cause){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cause,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779))){\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nvar temp__5802__auto__ \x3d shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(this$,new cljs.core.Keyword(\x22dom\x22,\x22remove\x22,\x22dom/remove\x22,-131527420));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar custom_remove \x3d temp__5802__auto__;\nvar G__37729 \x3d this$;\nvar G__37730 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$);\nreturn (custom_remove.cljs$core$IFn$_invoke$arity$2 ? custom_remove.cljs$core$IFn$_invoke$arity$2(G__37729,G__37730) : custom_remove.call(null,G__37729,G__37730));\n} else {\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n}\n}\n});\nshadow.object.destroy_BANG_ \x3d (function shadow$object$destroy_BANG_(var_args){\nvar G__37738 \x3d arguments.length;\nswitch (G__37738) {\ncase 1:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(null,\x22direct\x22,\x22direct\x22,-1775717856));\n}));\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,cause){\nreturn shadow.object._destroy_BANG_(oref,cause);\n}));\n\n(shadow.object.destroy_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.bind_dom_events \x3d (function shadow$object$bind_dom_events(oref,dom,dom_events){\nif((cljs.core.rem(cljs.core.count(dom_events),(2)) \x3d\x3d\x3d (0))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object defined invalid event\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22object-type\x22,\x22object-type\x22,-1889869015),shadow.object._type(oref),new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527),dom_events], null));\n}\n\nvar seq__37750 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),dom_events));\nvar chunk__37751 \x3d null;\nvar count__37752 \x3d (0);\nvar i__37753 \x3d (0);\nwhile(true){\nif((i__37753 \x3c count__37752)){\nvar vec__37781 \x3d chunk__37751.cljs$core$IIndexed$_nth$arity$2(null,i__37753);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37781,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37781,(1),null);\nvar ev_def \x3d vec__37781;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_38661__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__37750,chunk__37751,count__37752,i__37753,vec__37781,ev,handler,ev_def){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__37750,chunk__37751,count__37752,i__37753,vec__37781,ev,handler,ev_def))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__37750,chunk__37751,count__37752,i__37753,handler_38661__$1,vec__37781,ev,handler,ev_def){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_38661__$1.cljs$core$IFn$_invoke$arity$3 ? handler_38661__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_38661__$1.call(null,oref,e,el));\n});})(seq__37750,chunk__37751,count__37752,i__37753,handler_38661__$1,vec__37781,ev,handler,ev_def))\n);\n\n\nvar G__38663 \x3d seq__37750;\nvar G__38664 \x3d chunk__37751;\nvar G__38665 \x3d count__37752;\nvar G__38666 \x3d (i__37753 + (1));\nseq__37750 \x3d G__38663;\nchunk__37751 \x3d G__38664;\ncount__37752 \x3d G__38665;\ni__37753 \x3d G__38666;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__37750);\nif(temp__5804__auto__){\nvar seq__37750__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__37750__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__37750__$1);\nvar G__38668 \x3d cljs.core.chunk_rest(seq__37750__$1);\nvar G__38669 \x3d c__5548__auto__;\nvar G__38670 \x3d cljs.core.count(c__5548__auto__);\nvar G__38671 \x3d (0);\nseq__37750 \x3d G__38668;\nchunk__37751 \x3d G__38669;\ncount__37752 \x3d G__38670;\ni__37753 \x3d G__38671;\ncontinue;\n} else {\nvar vec__37784 \x3d cljs.core.first(seq__37750__$1);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37784,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37784,(1),null);\nvar ev_def \x3d vec__37784;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_38672__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__37750,chunk__37751,count__37752,i__37753,vec__37784,ev,handler,ev_def,seq__37750__$1,temp__5804__auto__){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__37750,chunk__37751,count__37752,i__37753,vec__37784,ev,handler,ev_def,seq__37750__$1,temp__5804__auto__))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__37750,chunk__37751,count__37752,i__37753,handler_38672__$1,vec__37784,ev,handler,ev_def,seq__37750__$1,temp__5804__auto__){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_38672__$1.cljs$core$IFn$_invoke$arity$3 ? handler_38672__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_38672__$1.call(null,oref,e,el));\n});})(seq__37750,chunk__37751,count__37752,i__37753,handler_38672__$1,vec__37784,ev,handler,ev_def,seq__37750__$1,temp__5804__auto__))\n);\n\n\nvar G__38673 \x3d cljs.core.next(seq__37750__$1);\nvar G__38674 \x3d null;\nvar G__38675 \x3d (0);\nvar G__38676 \x3d (0);\nseq__37750 \x3d G__38673;\nchunk__37751 \x3d G__38674;\ncount__37752 \x3d G__38675;\ni__37753 \x3d G__38676;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.reaction_merge \x3d (function shadow$object$reaction_merge(result,p__37796){\nvar vec__37797 \x3d p__37796;\nvar event \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37797,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37797,(1),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d event;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn handler;\n} else {\nreturn and__5023__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid reaction\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22event\x22,\x22event\x22,301435442),event,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),handler], null));\n}\n\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.List.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,handler));\n});\nshadow.object.merge_reactions \x3d (function shadow$object$merge_reactions(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behaviors must be vectors\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(behavior))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid behavior\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.reaction_merge,result,cljs.core.reverse(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),behavior)));\n});\nshadow.object.merge_behaviors \x3d (function shadow$object$merge_behaviors(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,behavior);\n} else {\nif(cljs.core.map_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277)], null),(function (watches){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(watches,new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY));\n})),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527)], null),(function (default$){\nreturn cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(default$,new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)));\n}));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behavior not understood\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n\n}\n}\n});\nshadow.object.define \x3d (function shadow$object$define(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38681 \x3d arguments.length;\nvar i__5750__auto___38682 \x3d (0);\nwhile(true){\nif((i__5750__auto___38682 \x3c len__5749__auto___38681)){\nargs__5755__auto__.push((arguments[i__5750__auto___38682]));\n\nvar G__38683 \x3d (i__5750__auto___38682 + (1));\ni__5750__auto___38682 \x3d G__38683;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn shadow.object.define.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(shadow.object.define.cljs$core$IFn$_invoke$arity$variadic \x3d (function (id,args){\nif((id instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object id needs to be a keyword\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(args))){\n} else {\nthrow [\x22invalid object definition \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id),\x22 args: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0))].join(\x27\x27);\n}\n\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),id)){\nconsole.warn([\x22object already defined \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id)].join(\x27\x27));\n} else {\n}\n\ntry{var odef \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,args);\nvar reactions \x3d shadow.object.merge_reactions(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY));\nvar odef__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22id\x22,\x22shadow.object/id\x22,-647954841),id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),reactions], 0));\nvar odef__$2 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.merge_behaviors,odef__$1,cljs.core.reverse(new cljs.core.Keyword(null,\x22behaviors\x22,\x22behaviors\x22,120724909).cljs$core$IFn$_invoke$arity$2(odef__$1,cljs.core.PersistentVector.EMPTY)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.object_defs,cljs.core.assoc,id,odef__$2);\n\nreturn odef__$2;\n}catch (e37854){if((e37854 instanceof Object)){\nvar e \x3d e37854;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to define object\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n} else {\nthrow e37854;\n\n}\n}}));\n\n(shadow.object.define.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.object.define.cljs$lang$applyTo \x3d (function (seq37837){\nvar G__37838 \x3d cljs.core.first(seq37837);\nvar seq37837__$1 \x3d cljs.core.next(seq37837);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37838,seq37837__$1);\n}));\n\nshadow.object.merge_defaults \x3d (function shadow$object$merge_defaults(data,type){\nvar defaults \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type,new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214)], null));\nif((defaults \x3d\x3d null)){\nreturn data;\n} else {\nif(cljs.core.map_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([defaults,data], 0));\n} else {\nif(cljs.core.fn_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(defaults.cljs$core$IFn$_invoke$arity$0 ? defaults.cljs$core$IFn$_invoke$arity$0() : defaults.call(null)),data], 0));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid object defaults\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214),defaults,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type], null));\n\n}\n}\n}\n});\nshadow.object.make_dom \x3d (function shadow$object$make_dom(var_args){\nvar G__37873 \x3d arguments.length;\nswitch (G__37873) {\ncase 3:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,dom_key,events_key){\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4(oref,dom_key,events_key,null);\n}));\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,dom_key,events_key,value){\nvar dom_fn \x3d (((dom_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(oref,dom_key):dom_key);\nvar events \x3d (((events_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3(oref,events_key,cljs.core.PersistentVector.EMPTY):events_key);\nvar dom \x3d (function (){var G__37910 \x3d (dom_fn.cljs$core$IFn$_invoke$arity$2 ? dom_fn.cljs$core$IFn$_invoke$arity$2(oref,value) : dom_fn.call(null,oref,value));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__37910) : shadow.dom.build.call(null,G__37910));\n})();\nshadow.object.bind_dom_events(oref,dom,events);\n\nreturn dom;\n}));\n\n(shadow.object.make_dom.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.alive_QMARK_ \x3d (function shadow$object$alive_QMARK_(obj){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.instances),shadow.object._id(obj));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.Watch \x3d (function (key,handler,__meta,__extmap,__hash){\nthis.key \x3d key;\nthis.handler \x3d handler;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k37923,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__37982 \x3d k37923;\nvar G__37982__$1 \x3d (((G__37982 instanceof cljs.core.Keyword))?G__37982.fqn:null);\nswitch (G__37982__$1) {\ncase \x22key\x22:\nreturn self__.key;\n\nbreak;\ncase \x22handler\x22:\nreturn self__.handler;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k37923,else__5326__auto__);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__38009){\nvar vec__38010 \x3d p__38009;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38010,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38010,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.object.Watch{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler],null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__37922){\nvar self__ \x3d this;\nvar G__37922__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__37922__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-17677043 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this37924,other37925){\nvar self__ \x3d this;\nvar this37924__$1 \x3d this;\nreturn (((!((other37925 \x3d\x3d null)))) \x26\x26 ((((this37924__$1.constructor \x3d\x3d\x3d other37925.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this37924__$1.key,other37925.key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this37924__$1.handler,other37925.handler)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this37924__$1.__extmap,other37925.__extmap)))))))));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k37923){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__38059 \x3d k37923;\nvar G__38059__$1 \x3d (((G__38059 instanceof cljs.core.Keyword))?G__38059.fqn:null);\nswitch (G__38059__$1) {\ncase \x22key\x22:\ncase \x22handler\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k37923);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__37922){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__38064 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__38065 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__38064.cljs$core$IFn$_invoke$arity$2 ? pred__38064.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__38065) : pred__38064.call(null,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__38065)))){\nreturn (new shadow.object.Watch(G__37922,self__.handler,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38064.cljs$core$IFn$_invoke$arity$2 ? pred__38064.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__38065) : pred__38064.call(null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__38065)))){\nreturn (new shadow.object.Watch(self__.key,G__37922,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__37922),null));\n}\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler,null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__37922){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,G__37922,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.object.Watch.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null)], null);\n}));\n\n(shadow.object.Watch.cljs$lang$type \x3d true);\n\n(shadow.object.Watch.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.object/Watch\x22,null,(1),null));\n}));\n\n(shadow.object.Watch.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.object/Watch\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/Watch.\n */\nshadow.object.__GT_Watch \x3d (function shadow$object$__GT_Watch(key,handler){\nreturn (new shadow.object.Watch(key,handler,null,null,null));\n});\n\n/**\n * Factory function for shadow.object/Watch, taking a map of keywords to field values.\n */\nshadow.object.map__GT_Watch \x3d (function shadow$object$map__GT_Watch(G__37943){\nvar extmap__5365__auto__ \x3d (function (){var G__38094 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__37943,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], 0));\nif(cljs.core.record_QMARK_(G__37943)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__38094);\n} else {\nreturn G__38094;\n}\n})();\nreturn (new shadow.object.Watch(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(G__37943),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612).cljs$core$IFn$_invoke$arity$1(G__37943),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IEquiv}\n * @implements {shadow.object.IObject}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {shadow.dom.SVGElement}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.ObjectRef \x3d (function (id,type,data,watches,result_chan){\nthis.id \x3d id;\nthis.type \x3d type;\nthis.data \x3d data;\nthis.watches \x3d watches;\nthis.result_chan \x3d result_chan;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2149613824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2;\n});\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.result_chan,handler);\n}));\n\n(shadow.object.ObjectRef.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.data,k);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,k,d){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.data,k,d);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this$,writer,opts){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#\x3cObjectRef {:id \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.id),\x22, :type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.type),\x22}\x3e\x22].join(\x27\x27));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof shadow.object.ObjectRef)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this$__$1.shadow$object$IObject$_id$arity$1(null),shadow.object._id(other))));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthrow (new Error(\x22who be calling?\x22));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.watches,(new shadow.object.Watch(key,f,null,null,null))));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__38101_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(p1__38101_SHARP_));\n}),self__.watches));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_id$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.id;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_type$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.type;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_data$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_update$arity$2 \x3d (function (this$,update_fn){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar old \x3d self__.data;\nvar new$ \x3d (update_fn.cljs$core$IFn$_invoke$arity$1 ? update_fn.cljs$core$IFn$_invoke$arity$1(self__.data) : update_fn.call(null,self__.data));\n(self__.data \x3d new$);\n\nvar seq__38161 \x3d cljs.core.seq(self__.watches);\nvar chunk__38162 \x3d null;\nvar count__38163 \x3d (0);\nvar i__38164 \x3d (0);\nwhile(true){\nif((i__38164 \x3c count__38163)){\nvar map__38178 \x3d chunk__38162.cljs$core$IIndexed$_nth$arity$2(null,i__38164);\nvar map__38178__$1 \x3d cljs.core.__destructure_map(map__38178);\nvar watch \x3d map__38178__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38178__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38178__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__38710 \x3d seq__38161;\nvar G__38711 \x3d chunk__38162;\nvar G__38712 \x3d count__38163;\nvar G__38713 \x3d (i__38164 + (1));\nseq__38161 \x3d G__38710;\nchunk__38162 \x3d G__38711;\ncount__38163 \x3d G__38712;\ni__38164 \x3d G__38713;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__38161);\nif(temp__5804__auto__){\nvar seq__38161__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__38161__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__38161__$1);\nvar G__38714 \x3d cljs.core.chunk_rest(seq__38161__$1);\nvar G__38715 \x3d c__5548__auto__;\nvar G__38716 \x3d cljs.core.count(c__5548__auto__);\nvar G__38717 \x3d (0);\nseq__38161 \x3d G__38714;\nchunk__38162 \x3d G__38715;\ncount__38163 \x3d G__38716;\ni__38164 \x3d G__38717;\ncontinue;\n} else {\nvar map__38206 \x3d cljs.core.first(seq__38161__$1);\nvar map__38206__$1 \x3d cljs.core.__destructure_map(map__38206);\nvar watch \x3d map__38206__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38206__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38206__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__38720 \x3d cljs.core.next(seq__38161__$1);\nvar G__38721 \x3d null;\nvar G__38722 \x3d (0);\nvar G__38723 \x3d (0);\nseq__38161 \x3d G__38720;\nchunk__38162 \x3d G__38721;\ncount__38163 \x3d G__38722;\ni__38164 \x3d G__38723;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d (function (this$,cause){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar parent_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),self__.id);\nvar seq__38216_38724 \x3d cljs.core.seq(shadow.object.get_children(this$__$1));\nvar chunk__38217_38725 \x3d null;\nvar count__38218_38726 \x3d (0);\nvar i__38219_38727 \x3d (0);\nwhile(true){\nif((i__38219_38727 \x3c count__38218_38726)){\nvar child_38728 \x3d chunk__38217_38725.cljs$core$IIndexed$_nth$arity$2(null,i__38219_38727);\nshadow.object._destroy_BANG_(child_38728,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__38729 \x3d seq__38216_38724;\nvar G__38730 \x3d chunk__38217_38725;\nvar G__38731 \x3d count__38218_38726;\nvar G__38732 \x3d (i__38219_38727 + (1));\nseq__38216_38724 \x3d G__38729;\nchunk__38217_38725 \x3d G__38730;\ncount__38218_38726 \x3d G__38731;\ni__38219_38727 \x3d G__38732;\ncontinue;\n} else {\nvar temp__5804__auto___38733 \x3d cljs.core.seq(seq__38216_38724);\nif(temp__5804__auto___38733){\nvar seq__38216_38734__$1 \x3d temp__5804__auto___38733;\nif(cljs.core.chunked_seq_QMARK_(seq__38216_38734__$1)){\nvar c__5548__auto___38735 \x3d cljs.core.chunk_first(seq__38216_38734__$1);\nvar G__38736 \x3d cljs.core.chunk_rest(seq__38216_38734__$1);\nvar G__38737 \x3d c__5548__auto___38735;\nvar G__38738 \x3d cljs.core.count(c__5548__auto___38735);\nvar G__38739 \x3d (0);\nseq__38216_38724 \x3d G__38736;\nchunk__38217_38725 \x3d G__38737;\ncount__38218_38726 \x3d G__38738;\ni__38219_38727 \x3d G__38739;\ncontinue;\n} else {\nvar child_38740 \x3d cljs.core.first(seq__38216_38734__$1);\nshadow.object._destroy_BANG_(child_38740,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__38741 \x3d cljs.core.next(seq__38216_38734__$1);\nvar G__38742 \x3d null;\nvar G__38743 \x3d (0);\nvar G__38744 \x3d (0);\nseq__38216_38724 \x3d G__38741;\nchunk__38217_38725 \x3d G__38742;\ncount__38218_38726 \x3d G__38743;\ni__38219_38727 \x3d G__38744;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$__$1,new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cause], 0));\n\nshadow.object.dom_destroy(this$__$1,cause);\n\nvar return_value_38745 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360).cljs$core$IFn$_invoke$arity$1(this$__$1);\nif((return_value_38745 \x3d\x3d null)){\n} else {\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(self__.result_chan,return_value_38745);\n}\n\ncljs.core.async.close_BANG_(self__.result_chan);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instances,cljs.core.dissoc,self__.id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instance_parent,cljs.core.dissoc,self__.id);\n\nif(cljs.core.truth_(parent_id)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.object.instance_children,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [parent_id], null),cljs.core.disj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.id], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22result-chan\x22,\x22result-chan\x22,3070926,null)], null);\n}));\n\n(shadow.object.ObjectRef.cljs$lang$type \x3d true);\n\n(shadow.object.ObjectRef.cljs$lang$ctorStr \x3d \x22shadow.object/ObjectRef\x22);\n\n(shadow.object.ObjectRef.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.object/ObjectRef\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/ObjectRef.\n */\nshadow.object.__GT_ObjectRef \x3d (function shadow$object$__GT_ObjectRef(id,type,data,watches,result_chan){\nreturn (new shadow.object.ObjectRef(id,type,data,watches,result_chan));\n});\n\nshadow.object.add_reaction_BANG_ \x3d (function shadow$object$add_reaction_BANG_(var_args){\nvar G__38296 \x3d arguments.length;\nswitch (G__38296) {\ncase 3:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,ev,handler_fn){\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ev,handler_fn], null));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,list){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.update_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,list], 0));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.bind_change \x3d (function shadow$object$bind_change(var_args){\nvar G__38318 \x3d arguments.length;\nswitch (G__38318) {\ncase 3:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,callback){\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4(oref,attr,callback,cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind-change\x22));\n}));\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,attr,callback,watch_key){\nif((((!((oref \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d oref.shadow$object$IObject$))))?true:(((!oref.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22binding currently only supports shadow objects, other atoms might leak, may add later\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref,new cljs.core.Keyword(null,\x22attr\x22,\x22attr\x22,-604132353),attr], null));\n}\n\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nreturn cljs.core.add_watch(oref,watch_key,(function shadow$object$bind_change_watch(_,___$1,old,new$){\nvar ov \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(old,attr__$1);\nvar nv \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new$,attr__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ov,nv)){\nreturn null;\n} else {\nreturn (callback.cljs$core$IFn$_invoke$arity$2 ? callback.cljs$core$IFn$_invoke$arity$2(ov,nv) : callback.call(null,ov,nv));\n}\n}));\n}));\n\n(shadow.object.bind_change.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.dom_enter \x3d (function shadow$object$dom_enter(parent,child){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(parent,child);\n\nif(cljs.core.truth_(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1(parent))){\nreturn shadow.object.notify_tree_BANG_(child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n} else {\nreturn null;\n}\n});\nshadow.object.create \x3d (function shadow$object$create(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38749 \x3d arguments.length;\nvar i__5750__auto___38750 \x3d (0);\nwhile(true){\nif((i__5750__auto___38750 \x3c len__5749__auto___38749)){\nargs__5755__auto__.push((arguments[i__5750__auto___38750]));\n\nvar G__38751 \x3d (i__5750__auto___38750 + (1));\ni__5750__auto___38750 \x3d G__38751;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.create.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.create.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,args,node_children){\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),type)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22cannot create unknown child type: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(type)].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.map_QMARK_(args)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22so/create second arg must be a map\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nvar oid \x3d shadow.object.next_id();\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(args);\nvar result_chan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar odef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),type);\nvar obj \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(shadow.object.merge_defaults(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Keyword(\x22shadow.object\x22,\x22object-id\x22,\x22shadow.object/object-id\x22,-685993804),oid,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.get.cljs$core$IFn$_invoke$arity$3(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.PersistentArrayMap.EMPTY)], 0)),type),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922)], 0));\nvar oref \x3d (new shadow.object.ObjectRef(oid,type,obj,cljs.core.PersistentVector.EMPTY,result_chan));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instances,cljs.core.assoc,oid,oref);\n\nif(cljs.core.truth_(parent)){\nshadow.object.set_parent_BANG_(oref,parent);\n} else {\n}\n\nshadow.object.notify_BANG_(oref,new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434));\n\nvar dom_events_38756 \x3d new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY);\nvar temp__5802__auto___38757 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(args);\nif(cljs.core.truth_(temp__5802__auto___38757)){\nvar dom_38758 \x3d temp__5802__auto___38757;\nshadow.dom.set_data(dom_38758,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.bind_dom_events(oref,dom_38758,dom_events_38756);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_38758], 0));\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_38758], 0));\n} else {\nvar temp__5804__auto___38760 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5804__auto___38760)){\nvar dom_fn_38761 \x3d temp__5804__auto___38760;\nvar dom_38762 \x3d (function (){var G__38372 \x3d (dom_fn_38761.cljs$core$IFn$_invoke$arity$2 ? dom_fn_38761.cljs$core$IFn$_invoke$arity$2(oref,node_children) : dom_fn_38761.call(null,oref,node_children));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__38372) : shadow.dom.build.call(null,G__38372));\n})();\nshadow.dom.set_data(dom_38762,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_38762], 0));\n\nshadow.object.bind_dom_events(oref,dom_38762,dom_events_38756);\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_38762], 0));\n} else {\n}\n}\n\nvar temp__5804__auto___38763 \x3d new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5804__auto___38763)){\nvar watches_38764 \x3d temp__5804__auto___38763;\nvar seq__38375_38765 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),watches_38764));\nvar chunk__38376_38766 \x3d null;\nvar count__38377_38767 \x3d (0);\nvar i__38378_38768 \x3d (0);\nwhile(true){\nif((i__38378_38768 \x3c count__38377_38767)){\nvar vec__38408_38770 \x3d chunk__38376_38766.cljs$core$IIndexed$_nth$arity$2(null,i__38378_38768);\nvar attr_38771 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38408_38770,(0),null);\nvar handler_38772 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38408_38770,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_38771,((function (seq__38375_38765,chunk__38376_38766,count__38377_38767,i__38378_38768,vec__38408_38770,attr_38771,handler_38772,watches_38764,temp__5804__auto___38763,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_38772.cljs$core$IFn$_invoke$arity$3 ? handler_38772.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_38772.call(null,oref,old,new$));\n});})(seq__38375_38765,chunk__38376_38766,count__38377_38767,i__38378_38768,vec__38408_38770,attr_38771,handler_38772,watches_38764,temp__5804__auto___38763,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__38773 \x3d seq__38375_38765;\nvar G__38774 \x3d chunk__38376_38766;\nvar G__38775 \x3d count__38377_38767;\nvar G__38776 \x3d (i__38378_38768 + (1));\nseq__38375_38765 \x3d G__38773;\nchunk__38376_38766 \x3d G__38774;\ncount__38377_38767 \x3d G__38775;\ni__38378_38768 \x3d G__38776;\ncontinue;\n} else {\nvar temp__5804__auto___38778__$1 \x3d cljs.core.seq(seq__38375_38765);\nif(temp__5804__auto___38778__$1){\nvar seq__38375_38779__$1 \x3d temp__5804__auto___38778__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__38375_38779__$1)){\nvar c__5548__auto___38780 \x3d cljs.core.chunk_first(seq__38375_38779__$1);\nvar G__38781 \x3d cljs.core.chunk_rest(seq__38375_38779__$1);\nvar G__38782 \x3d c__5548__auto___38780;\nvar G__38783 \x3d cljs.core.count(c__5548__auto___38780);\nvar G__38784 \x3d (0);\nseq__38375_38765 \x3d G__38781;\nchunk__38376_38766 \x3d G__38782;\ncount__38377_38767 \x3d G__38783;\ni__38378_38768 \x3d G__38784;\ncontinue;\n} else {\nvar vec__38411_38786 \x3d cljs.core.first(seq__38375_38779__$1);\nvar attr_38787 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38411_38786,(0),null);\nvar handler_38788 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38411_38786,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_38787,((function (seq__38375_38765,chunk__38376_38766,count__38377_38767,i__38378_38768,vec__38411_38786,attr_38787,handler_38788,seq__38375_38779__$1,temp__5804__auto___38778__$1,watches_38764,temp__5804__auto___38763,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_38788.cljs$core$IFn$_invoke$arity$3 ? handler_38788.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_38788.call(null,oref,old,new$));\n});})(seq__38375_38765,chunk__38376_38766,count__38377_38767,i__38378_38768,vec__38411_38786,attr_38787,handler_38788,seq__38375_38779__$1,temp__5804__auto___38778__$1,watches_38764,temp__5804__auto___38763,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__38793 \x3d cljs.core.next(seq__38375_38779__$1);\nvar G__38794 \x3d null;\nvar G__38795 \x3d (0);\nvar G__38796 \x3d (0);\nseq__38375_38765 \x3d G__38793;\nchunk__38376_38766 \x3d G__38794;\ncount__38377_38767 \x3d G__38795;\ni__38378_38768 \x3d G__38796;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn oref;\n}));\n\n(shadow.object.create.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.create.cljs$lang$applyTo \x3d (function (seq38347){\nvar G__38348 \x3d cljs.core.first(seq38347);\nvar seq38347__$1 \x3d cljs.core.next(seq38347);\nvar G__38349 \x3d cljs.core.first(seq38347__$1);\nvar seq38347__$2 \x3d cljs.core.next(seq38347__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__38348,G__38349,seq38347__$2);\n}));\n\n/**\n * [oref attr node-gen] produces a node via (node-gen new-value)\n * watches obj for changes and replaces the generated node on change (node-gen defaults to str)\n * \n *   only use if the node has no attached behavior like clicks, use bind with an extra object for those\n */\nshadow.object.bind_simple \x3d (function shadow$object$bind_simple(var_args){\nvar G__38416 \x3d arguments.length;\nswitch (G__38416) {\ncase 2:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,attr){\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3(oref,attr,cljs.core.str);\n}));\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,node_gen){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar node_get \x3d (function (p1__38414_SHARP_){\nvar G__38420 \x3d (node_gen.cljs$core$IFn$_invoke$arity$1 ? node_gen.cljs$core$IFn$_invoke$arity$1(p1__38414_SHARP_) : node_gen.call(null,p1__38414_SHARP_));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__38420) : shadow.dom.build.call(null,G__38420));\n});\nvar node \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(node_get(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1)));\nvar bind_key \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind\x22);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_node \x3d node_get(new$);\nvar current_node \x3d cljs.core.deref(node);\nshadow.dom.replace_node(current_node,new_node);\n\nreturn cljs.core.reset_BANG_(node,new_node);\n}));\n\nreturn cljs.core.deref(node);\n}));\n\n(shadow.object.bind_simple.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * bind the given attribute a child item\n *   the item will be recreated whenever the value changes (old one will be destroyed)\n */\nshadow.object.bind \x3d (function shadow$object$bind(oref,attr,item_type,item_key,item_attrs){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar curval \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1);\nvar make_child_fn \x3d (function (value){\nreturn shadow.object.create(item_type,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([item_attrs,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),oref,item_key,value])], 0)));\n});\nvar child \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(make_child_fn(curval));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_child \x3d make_child_fn(new$);\nvar current_node \x3d cljs.core.deref(child);\nshadow.dom.replace_node(current_node,new_child);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(child));\n\ncljs.core.reset_BANG_(child,new_child);\n\nreturn (shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2 ? shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2(new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)) : shadow.object.notify_down_BANG_.call(null,new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)));\n}));\n\nreturn cljs.core.deref(child);\n});\nshadow.object.coll_destroy_children \x3d (function shadow$object$coll_destroy_children(children,c,diff){\nvar seq__38427_38818 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(c + diff),c));\nvar chunk__38428_38819 \x3d null;\nvar count__38429_38820 \x3d (0);\nvar i__38430_38821 \x3d (0);\nwhile(true){\nif((i__38430_38821 \x3c count__38429_38820)){\nvar obj_38823 \x3d chunk__38428_38819.cljs$core$IIndexed$_nth$arity$2(null,i__38430_38821);\nvar obj_38824__$1 \x3d shadow.object.get_from_dom(obj_38823);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_38824__$1);\n\n\nvar G__38828 \x3d seq__38427_38818;\nvar G__38829 \x3d chunk__38428_38819;\nvar G__38830 \x3d count__38429_38820;\nvar G__38831 \x3d (i__38430_38821 + (1));\nseq__38427_38818 \x3d G__38828;\nchunk__38428_38819 \x3d G__38829;\ncount__38429_38820 \x3d G__38830;\ni__38430_38821 \x3d G__38831;\ncontinue;\n} else {\nvar temp__5804__auto___38832 \x3d cljs.core.seq(seq__38427_38818);\nif(temp__5804__auto___38832){\nvar seq__38427_38836__$1 \x3d temp__5804__auto___38832;\nif(cljs.core.chunked_seq_QMARK_(seq__38427_38836__$1)){\nvar c__5548__auto___38837 \x3d cljs.core.chunk_first(seq__38427_38836__$1);\nvar G__38838 \x3d cljs.core.chunk_rest(seq__38427_38836__$1);\nvar G__38839 \x3d c__5548__auto___38837;\nvar G__38840 \x3d cljs.core.count(c__5548__auto___38837);\nvar G__38841 \x3d (0);\nseq__38427_38818 \x3d G__38838;\nchunk__38428_38819 \x3d G__38839;\ncount__38429_38820 \x3d G__38840;\ni__38430_38821 \x3d G__38841;\ncontinue;\n} else {\nvar obj_38842 \x3d cljs.core.first(seq__38427_38836__$1);\nvar obj_38843__$1 \x3d shadow.object.get_from_dom(obj_38842);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_38843__$1);\n\n\nvar G__38844 \x3d cljs.core.next(seq__38427_38836__$1);\nvar G__38845 \x3d null;\nvar G__38846 \x3d (0);\nvar G__38847 \x3d (0);\nseq__38427_38818 \x3d G__38844;\nchunk__38428_38819 \x3d G__38845;\ncount__38429_38820 \x3d G__38846;\ni__38430_38821 \x3d G__38847;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(0),(c + diff));\n});\nshadow.object.bind_children \x3d (function shadow$object$bind_children(var_args){\nvar G__38446 \x3d arguments.length;\nswitch (G__38446) {\ncase 5:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5 \x3d (function (node,parent,attr,item_type,item_key){\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6(node,parent,attr,item_type,item_key,(function (p1__38437_SHARP_){\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,p1__38437_SHARP_);\n}));\n}));\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6 \x3d (function (node,parent,attr,item_type,item_key,coll_transform){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar update_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nvar coll_dom \x3d (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(node) : shadow.dom.build.call(null,node));\nvar make_item_fn \x3d (function (p__38455){\nvar vec__38456 \x3d p__38455;\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38456,(0),null);\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38456,(1),null);\nvar obj \x3d shadow.object.create(item_type,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),parent,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048),attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616),key,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366),item_key,item_key,val]));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(obj,item_key,(function (old,new$){\nvar parent_key \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(obj));\n(shadow.object.log.cljs$core$IFn$_invoke$arity$6 ? shadow.object.log.cljs$core$IFn$_invoke$arity$6(\x22direct child update\x22,parent,obj,key,parent_key,new$) : shadow.object.log.call(null,\x22direct child update\x22,parent,obj,key,parent_key,new$));\n\ncljs.core.reset_BANG_(update_children,false);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([parent_key,new$], 0));\n\nreturn cljs.core.reset_BANG_(update_children,true);\n}));\n\nreturn obj;\n});\nvar seq__38461_38865 \x3d cljs.core.seq((function (){var G__38468 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,attr__$1);\nreturn (coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(G__38468) : coll_transform.call(null,G__38468));\n})());\nvar chunk__38462_38866 \x3d null;\nvar count__38463_38867 \x3d (0);\nvar i__38464_38868 \x3d (0);\nwhile(true){\nif((i__38464_38868 \x3c count__38463_38867)){\nvar item_38869 \x3d chunk__38462_38866.cljs$core$IIndexed$_nth$arity$2(null,i__38464_38868);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_38869));\n\n\nvar G__38870 \x3d seq__38461_38865;\nvar G__38871 \x3d chunk__38462_38866;\nvar G__38872 \x3d count__38463_38867;\nvar G__38873 \x3d (i__38464_38868 + (1));\nseq__38461_38865 \x3d G__38870;\nchunk__38462_38866 \x3d G__38871;\ncount__38463_38867 \x3d G__38872;\ni__38464_38868 \x3d G__38873;\ncontinue;\n} else {\nvar temp__5804__auto___38874 \x3d cljs.core.seq(seq__38461_38865);\nif(temp__5804__auto___38874){\nvar seq__38461_38879__$1 \x3d temp__5804__auto___38874;\nif(cljs.core.chunked_seq_QMARK_(seq__38461_38879__$1)){\nvar c__5548__auto___38880 \x3d cljs.core.chunk_first(seq__38461_38879__$1);\nvar G__38881 \x3d cljs.core.chunk_rest(seq__38461_38879__$1);\nvar G__38882 \x3d c__5548__auto___38880;\nvar G__38883 \x3d cljs.core.count(c__5548__auto___38880);\nvar G__38884 \x3d (0);\nseq__38461_38865 \x3d G__38881;\nchunk__38462_38866 \x3d G__38882;\ncount__38463_38867 \x3d G__38883;\ni__38464_38868 \x3d G__38884;\ncontinue;\n} else {\nvar item_38885 \x3d cljs.core.first(seq__38461_38879__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_38885));\n\n\nvar G__38886 \x3d cljs.core.next(seq__38461_38879__$1);\nvar G__38887 \x3d null;\nvar G__38888 \x3d (0);\nvar G__38889 \x3d (0);\nseq__38461_38865 \x3d G__38886;\nchunk__38462_38866 \x3d G__38887;\ncount__38463_38867 \x3d G__38888;\ni__38464_38868 \x3d G__38889;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(parent,attr__$1,(function shadow$object$bind_children_watch(old,new$){\nif(cljs.core.truth_(cljs.core.deref(update_children))){\nvar children \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,shadow.dom.children(coll_dom));\nvar new_coll \x3d cljs.core.vec((coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(new$) : coll_transform.call(null,new$)));\nvar count_children \x3d cljs.core.count(children);\nvar count_new \x3d cljs.core.count(new$);\nvar diff \x3d (count_new - count_children);\nvar children__$1 \x3d (((diff \x3c (0)))?shadow.object.coll_destroy_children(children,count_children,diff):children);\nvar count_children__$1 \x3d (function (){var x__5113__auto__ \x3d count_new;\nvar y__5114__auto__ \x3d count_children;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar n__5616__auto___38895 \x3d count_children__$1;\nvar idx_38896 \x3d (0);\nwhile(true){\nif((idx_38896 \x3c n__5616__auto___38895)){\nvar cn_38897 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,idx_38896);\nvar cc_38898 \x3d shadow.object.get_from_dom(cn_38897);\nvar ckey_38899 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(cc_38898);\nvar cval_38900 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cc_38898,item_key);\nvar vec__38473_38901 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new_coll,idx_38896);\nvar nkey_38902 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38473_38901,(0),null);\nvar nval_38903 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38473_38901,(1),null);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ckey_38899,nkey_38902)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cval_38900,nval_38903)))){\n} else {\nvar new_obj_38904 \x3d make_item_fn(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [nkey_38902,nval_38903], null));\nshadow.dom.replace_node(cn_38897,new_obj_38904);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cc_38898);\n\nshadow.object.notify_tree_BANG_(new_obj_38904,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n}\n\nvar G__38905 \x3d (idx_38896 + (1));\nidx_38896 \x3d G__38905;\ncontinue;\n} else {\n}\nbreak;\n}\n\nif((diff \x3e (0))){\nvar seq__38480_38909 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(new_coll,count_children__$1,count_new));\nvar chunk__38481_38910 \x3d null;\nvar count__38482_38911 \x3d (0);\nvar i__38483_38912 \x3d (0);\nwhile(true){\nif((i__38483_38912 \x3c count__38482_38911)){\nvar item_38913 \x3d chunk__38481_38910.cljs$core$IIndexed$_nth$arity$2(null,i__38483_38912);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_38913));\n\n\nvar G__38915 \x3d seq__38480_38909;\nvar G__38916 \x3d chunk__38481_38910;\nvar G__38917 \x3d count__38482_38911;\nvar G__38918 \x3d (i__38483_38912 + (1));\nseq__38480_38909 \x3d G__38915;\nchunk__38481_38910 \x3d G__38916;\ncount__38482_38911 \x3d G__38917;\ni__38483_38912 \x3d G__38918;\ncontinue;\n} else {\nvar temp__5804__auto___38923 \x3d cljs.core.seq(seq__38480_38909);\nif(temp__5804__auto___38923){\nvar seq__38480_38924__$1 \x3d temp__5804__auto___38923;\nif(cljs.core.chunked_seq_QMARK_(seq__38480_38924__$1)){\nvar c__5548__auto___38925 \x3d cljs.core.chunk_first(seq__38480_38924__$1);\nvar G__38926 \x3d cljs.core.chunk_rest(seq__38480_38924__$1);\nvar G__38927 \x3d c__5548__auto___38925;\nvar G__38928 \x3d cljs.core.count(c__5548__auto___38925);\nvar G__38929 \x3d (0);\nseq__38480_38909 \x3d G__38926;\nchunk__38481_38910 \x3d G__38927;\ncount__38482_38911 \x3d G__38928;\ni__38483_38912 \x3d G__38929;\ncontinue;\n} else {\nvar item_38930 \x3d cljs.core.first(seq__38480_38924__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_38930));\n\n\nvar G__38934 \x3d cljs.core.next(seq__38480_38924__$1);\nvar G__38935 \x3d null;\nvar G__38936 \x3d (0);\nvar G__38937 \x3d (0);\nseq__38480_38909 \x3d G__38934;\nchunk__38481_38910 \x3d G__38935;\ncount__38482_38911 \x3d G__38936;\ni__38483_38912 \x3d G__38937;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn shadow.object.notify_BANG_(parent,new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160));\n} else {\nreturn null;\n}\n}));\n\nreturn coll_dom;\n}));\n\n(shadow.object.bind_children.cljs$lang$maxFixedArity \x3d 6);\n\nshadow.object.remove_in_parent_BANG_ \x3d (function shadow$object$remove_in_parent_BANG_(oref){\nvar parent \x3d shadow.object.get_parent(oref);\nvar key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(oref);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref));\nvar path \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048).cljs$core$IFn$_invoke$arity$1(oref);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d key;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn path;\n} else {\nreturn and__5023__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22remove-in-parent! should only be called from items created via so/bind-children\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nvar coll \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,path);\nvar new_coll \x3d shadow.util.remove_item_from_coll(coll,key,value);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,new cljs.core.Keyword(\x22bind\x22,\x22update\x22,\x22bind/update\x22,1048601733),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path,new_coll], 0));\n});\nshadow.object.inspect_BANG_ \x3d (function shadow$object$inspect_BANG_(oref){\nvar G__38484 \x3d \x22inspect!\x22;\nvar G__38485 \x3d shadow.object._id(oref);\nvar G__38486 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.object._type(oref));\nvar G__38487 \x3d cljs.core.clj__GT_js(cljs.core.deref(shadow.object._data(oref)));\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__38484,G__38485,G__38486,G__38487) : shadow.object.info.call(null,G__38484,G__38485,G__38486,G__38487));\n});\nshadow.object.dump_BANG_ \x3d (function shadow$object$dump_BANG_(){\n(shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- LIVE OBJECTS ------------\x22));\n\nvar seq__38489_38944 \x3d cljs.core.seq(cljs.core.seq(cljs.core.deref(shadow.object.instances)));\nvar chunk__38490_38945 \x3d null;\nvar count__38491_38946 \x3d (0);\nvar i__38492_38947 \x3d (0);\nwhile(true){\nif((i__38492_38947 \x3c count__38491_38946)){\nvar vec__38508_38948 \x3d chunk__38490_38945.cljs$core$IIndexed$_nth$arity$2(null,i__38492_38947);\nvar id_38949 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38508_38948,(0),null);\nvar oref_38950 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38508_38948,(1),null);\nvar G__38513_38951 \x3d \x22dump\x22;\nvar G__38514_38952 \x3d id_38949;\nvar G__38515_38953 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_38950)], 0));\nvar G__38516_38954 \x3d cljs.core.deref(shadow.object._data(oref_38950));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__38513_38951,G__38514_38952,G__38515_38953,G__38516_38954) : shadow.object.info.call(null,G__38513_38951,G__38514_38952,G__38515_38953,G__38516_38954));\n\n\nvar G__38955 \x3d seq__38489_38944;\nvar G__38956 \x3d chunk__38490_38945;\nvar G__38957 \x3d count__38491_38946;\nvar G__38958 \x3d (i__38492_38947 + (1));\nseq__38489_38944 \x3d G__38955;\nchunk__38490_38945 \x3d G__38956;\ncount__38491_38946 \x3d G__38957;\ni__38492_38947 \x3d G__38958;\ncontinue;\n} else {\nvar temp__5804__auto___38960 \x3d cljs.core.seq(seq__38489_38944);\nif(temp__5804__auto___38960){\nvar seq__38489_38961__$1 \x3d temp__5804__auto___38960;\nif(cljs.core.chunked_seq_QMARK_(seq__38489_38961__$1)){\nvar c__5548__auto___38962 \x3d cljs.core.chunk_first(seq__38489_38961__$1);\nvar G__38963 \x3d cljs.core.chunk_rest(seq__38489_38961__$1);\nvar G__38964 \x3d c__5548__auto___38962;\nvar G__38965 \x3d cljs.core.count(c__5548__auto___38962);\nvar G__38966 \x3d (0);\nseq__38489_38944 \x3d G__38963;\nchunk__38490_38945 \x3d G__38964;\ncount__38491_38946 \x3d G__38965;\ni__38492_38947 \x3d G__38966;\ncontinue;\n} else {\nvar vec__38517_38967 \x3d cljs.core.first(seq__38489_38961__$1);\nvar id_38968 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38517_38967,(0),null);\nvar oref_38969 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38517_38967,(1),null);\nvar G__38520_38970 \x3d \x22dump\x22;\nvar G__38521_38971 \x3d id_38968;\nvar G__38522_38974 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_38969)], 0));\nvar G__38523_38976 \x3d cljs.core.deref(shadow.object._data(oref_38969));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__38520_38970,G__38521_38971,G__38522_38974,G__38523_38976) : shadow.object.info.call(null,G__38520_38970,G__38521_38971,G__38522_38974,G__38523_38976));\n\n\nvar G__38982 \x3d cljs.core.next(seq__38489_38961__$1);\nvar G__38983 \x3d null;\nvar G__38984 \x3d (0);\nvar G__38985 \x3d (0);\nseq__38489_38944 \x3d G__38982;\nchunk__38490_38945 \x3d G__38983;\ncount__38491_38946 \x3d G__38984;\ni__38492_38947 \x3d G__38985;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- //LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- //LIVE OBJECTS ------------\x22));\n});\ngoog.exportSymbol(\x27shadow.object.dump_BANG_\x27, shadow.object.dump_BANG_);\n");
SHADOW_ENV.evalLoad("shadow.animate.js", true, "goog.provide(\x27shadow.animate\x27);\n\n/**\n * @interface\n */\nshadow.animate.Animation \x3d function(){};\n\nvar shadow$animate$Animation$_animate_from$dyn_39155 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_from[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_from[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-from\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr initial-value}\n */\nshadow.animate._animate_from \x3d (function shadow$animate$_animate_from(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_from$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_from$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_from$dyn_39155(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_to$dyn_39157 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_to[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_to[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-to\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_to \x3d (function shadow$animate$_animate_to(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_to$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_to$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_to$dyn_39157(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_toggles$dyn_39159 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_toggles[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_toggles[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-toggles\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_toggles \x3d (function shadow$animate$_animate_toggles(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_toggles$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_toggles$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_toggles$dyn_39159(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_timings$dyn_39161 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_timings[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_timings[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-timings\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr timing-function}\n */\nshadow.animate._animate_timings \x3d (function shadow$animate$_animate_timings(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_timings$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_timings$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_timings$dyn_39161(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_delays$dyn_39162 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_delays[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_delays[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-delays\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr transition-delay}\n */\nshadow.animate._animate_delays \x3d (function shadow$animate$_animate_delays(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_delays$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_delays$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_delays$dyn_39162(this$);\n}\n});\n\nshadow.animate.transition_string \x3d (function shadow$animate$transition_string(duration,adef){\nvar timings \x3d shadow.animate._animate_timings(adef);\nvar delays \x3d shadow.animate._animate_delays(adef);\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22, \x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__38689){\nvar vec__38691 \x3d p__38689;\nvar attr \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38691,(0),null);\nvar timing \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38691,(1),null);\nreturn [cljs.core.name(attr),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(duration),\x22ms\x22,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(timing),(function (){var delay \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(delays,attr);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d delay;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (delay \x3e (0));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn [\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(delay),\x22ms\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27);\n}),timings));\n});\n\n/**\n * @interface\n */\nshadow.animate.IAnimator \x3d function(){};\n\nvar shadow$animate$IAnimator$get_duration$dyn_39168 \x3d (function (animator){\nvar x__5373__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5374__auto__ \x3d (shadow.animate.get_duration[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5374__auto__.call(null,animator));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate.get_duration[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5372__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.get-duration\x22,animator);\n}\n}\n});\nshadow.animate.get_duration \x3d (function shadow$animate$get_duration(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$get_duration$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$get_duration$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$get_duration$dyn_39168(animator);\n}\n});\n\nvar shadow$animate$IAnimator$init_BANG_$dyn_39169 \x3d (function (animator){\nvar x__5373__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5374__auto__ \x3d (shadow.animate.init_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5374__auto__.call(null,animator));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate.init_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5372__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.init!\x22,animator);\n}\n}\n});\n/**\n * apply the initial values\n */\nshadow.animate.init_BANG_ \x3d (function shadow$animate$init_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$init_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$init_BANG_$dyn_39169(animator);\n}\n});\n\nvar shadow$animate$IAnimator$start_BANG_$dyn_39170 \x3d (function (animator){\nvar x__5373__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5374__auto__ \x3d (shadow.animate.start_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5374__auto__.call(null,animator));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate.start_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5372__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.start!\x22,animator);\n}\n}\n});\n/**\n * start the animation, must return a channel that closes once the animation is done\n */\nshadow.animate.start_BANG_ \x3d (function shadow$animate$start_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$start_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$start_BANG_$dyn_39170(animator);\n}\n});\n\nvar shadow$animate$IAnimator$finish_BANG_$dyn_39174 \x3d (function (animator){\nvar x__5373__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5374__auto__ \x3d (shadow.animate.finish_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5374__auto__.call(null,animator));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate.finish_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5372__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.finish!\x22,animator);\n}\n}\n});\n/**\n * cleanup\n */\nshadow.animate.finish_BANG_ \x3d (function shadow$animate$finish_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$finish_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$finish_BANG_$dyn_39174(animator);\n}\n});\n\n\n/**\n* @constructor\n * @implements {shadow.animate.IAnimator}\n*/\nshadow.animate.Animator \x3d (function (duration,items){\nthis.duration \x3d duration;\nthis.items \x3d items;\n});\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$get_duration$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.duration;\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5616__auto__ \x3d self__.items.length;\nvar i__34918__auto__ \x3d (0);\nwhile(true){\nif((i__34918__auto__ \x3c n__5616__auto__)){\nvar map__38759_39176 \x3d (self__.items[i__34918__auto__]);\nvar map__38759_39177__$1 \x3d cljs.core.__destructure_map(map__38759_39176);\nvar el_39178 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38759_39177__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar from_39179 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38759_39177__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ngoog.style.setStyle(el_39178,from_39179);\n\nvar G__39180 \x3d (i__34918__auto__ + (1));\ni__34918__auto__ \x3d G__39180;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5616__auto__ \x3d self__.items.length;\nvar i__34918__auto__ \x3d (0);\nwhile(true){\nif((i__34918__auto__ \x3c n__5616__auto__)){\nvar map__38769_39182 \x3d (self__.items[i__34918__auto__]);\nvar map__38769_39183__$1 \x3d cljs.core.__destructure_map(map__38769_39182);\nvar el_39184 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38769_39183__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar to_39185 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38769_39183__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007));\nvar transition_39186 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38769_39183__$1,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007));\n(to_39185[\x22transition\x22] \x3d transition_39186);\n\ngoog.style.setStyle(el_39184,to_39185);\n\nvar G__39187 \x3d (i__34918__auto__ + (1));\ni__34918__auto__ \x3d G__39187;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5616__auto__ \x3d self__.items.length;\nvar i__34918__auto__ \x3d (0);\nwhile(true){\nif((i__34918__auto__ \x3c n__5616__auto__)){\nvar map__38785_39188 \x3d (self__.items[i__34918__auto__]);\nvar map__38785_39189__$1 \x3d cljs.core.__destructure_map(map__38785_39188);\nvar el_39190 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38785_39189__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar toggles_39191 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38785_39189__$1,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479));\n(toggles_39191[\x22transition\x22] \x3d null);\n\ngoog.style.setStyle(el_39190,toggles_39191);\n\nvar G__39192 \x3d (i__34918__auto__ + (1));\ni__34918__auto__ \x3d G__39192;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22duration\x22,\x22duration\x22,-1210334701,null),new cljs.core.Symbol(null,\x22items\x22,\x22items\x22,-1622480831,null)], null);\n}));\n\n(shadow.animate.Animator.cljs$lang$type \x3d true);\n\n(shadow.animate.Animator.cljs$lang$ctorStr \x3d \x22shadow.animate/Animator\x22);\n\n(shadow.animate.Animator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/Animator\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/Animator.\n */\nshadow.animate.__GT_Animator \x3d (function shadow$animate$__GT_Animator(duration,items){\nreturn (new shadow.animate.Animator(duration,items));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.animate.AnimationStep \x3d (function (el,from,to,toggles,transition,__meta,__extmap,__hash){\nthis.el \x3d el;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.toggles \x3d toggles;\nthis.transition \x3d transition;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k38805,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__38835 \x3d k38805;\nvar G__38835__$1 \x3d (((G__38835 instanceof cljs.core.Keyword))?G__38835.fqn:null);\nswitch (G__38835__$1) {\ncase \x22el\x22:\nreturn self__.el;\n\nbreak;\ncase \x22from\x22:\nreturn self__.from;\n\nbreak;\ncase \x22to\x22:\nreturn self__.to;\n\nbreak;\ncase \x22toggles\x22:\nreturn self__.toggles;\n\nbreak;\ncase \x22transition\x22:\nreturn self__.transition;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k38805,else__5326__auto__);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__38851){\nvar vec__38853 \x3d p__38851;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38853,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38853,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.animate.AnimationStep{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition],null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__38804){\nvar self__ \x3d this;\nvar G__38804__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__38804__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (630436239 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this38806,other38807){\nvar self__ \x3d this;\nvar this38806__$1 \x3d this;\nreturn (((!((other38807 \x3d\x3d null)))) \x26\x26 ((((this38806__$1.constructor \x3d\x3d\x3d other38807.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38806__$1.el,other38807.el)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38806__$1.from,other38807.from)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38806__$1.to,other38807.to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38806__$1.toggles,other38807.toggles)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38806__$1.transition,other38807.transition)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38806__$1.__extmap,other38807.__extmap)))))))))))))));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k38805){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__38959 \x3d k38805;\nvar G__38959__$1 \x3d (((G__38959 instanceof cljs.core.Keyword))?G__38959.fqn:null);\nswitch (G__38959__$1) {\ncase \x22el\x22:\ncase \x22from\x22:\ncase \x22to\x22:\ncase \x22toggles\x22:\ncase \x22transition\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k38805);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__38804){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__38972 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__38973 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__38972.cljs$core$IFn$_invoke$arity$2 ? pred__38972.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__38973) : pred__38972.call(null,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__38973)))){\nreturn (new shadow.animate.AnimationStep(G__38804,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38972.cljs$core$IFn$_invoke$arity$2 ? pred__38972.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__38973) : pred__38972.call(null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__38973)))){\nreturn (new shadow.animate.AnimationStep(self__.el,G__38804,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38972.cljs$core$IFn$_invoke$arity$2 ? pred__38972.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__38973) : pred__38972.call(null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__38973)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,G__38804,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38972.cljs$core$IFn$_invoke$arity$2 ? pred__38972.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__38973) : pred__38972.call(null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__38973)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,G__38804,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38972.cljs$core$IFn$_invoke$arity$2 ? pred__38972.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__38973) : pred__38972.call(null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__38973)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,G__38804,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__38804),null));\n}\n}\n}\n}\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition,null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__38804){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,G__38804,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.animate.AnimationStep.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22el\x22,\x22el\x22,22330409,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.Symbol(null,\x22transition\x22,\x22transition\x22,-1888743762,null)], null);\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$type \x3d true);\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.animate/AnimationStep\x22,null,(1),null));\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.animate/AnimationStep\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/AnimationStep.\n */\nshadow.animate.__GT_AnimationStep \x3d (function shadow$animate$__GT_AnimationStep(el,from,to,toggles,transition){\nreturn (new shadow.animate.AnimationStep(el,from,to,toggles,transition,null,null,null));\n});\n\n/**\n * Factory function for shadow.animate/AnimationStep, taking a map of keywords to field values.\n */\nshadow.animate.map__GT_AnimationStep \x3d (function shadow$animate$map__GT_AnimationStep(G__38811){\nvar extmap__5365__auto__ \x3d (function (){var G__38990 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__38811,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], 0));\nif(cljs.core.record_QMARK_(G__38811)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__38990);\n} else {\nreturn G__38990;\n}\n})();\nreturn (new shadow.animate.AnimationStep(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118).cljs$core$IFn$_invoke$arity$1(G__38811),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044).cljs$core$IFn$_invoke$arity$1(G__38811),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007).cljs$core$IFn$_invoke$arity$1(G__38811),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479).cljs$core$IFn$_invoke$arity$1(G__38811),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007).cljs$core$IFn$_invoke$arity$1(G__38811),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nshadow.animate.setup \x3d (function shadow$animate$setup(duration,elements){\nvar items \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((function (){var iter__5503__auto__ \x3d (function shadow$animate$setup_$_iter__38993(s__38994){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__38994__$1 \x3d s__38994;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__38994__$1);\nif(temp__5804__auto__){\nvar s__38994__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__38994__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__38994__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__38996 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__38995 \x3d (0);\nwhile(true){\nif((i__38995 \x3c size__5502__auto__)){\nvar vec__39001 \x3d cljs.core._nth(c__5501__auto__,i__38995);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39001,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39001,(1),null);\ncljs.core.chunk_append(b__38996,(function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n);\n\nvar G__39210 \x3d (i__38995 + (1));\ni__38995 \x3d G__39210;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__38996),shadow$animate$setup_$_iter__38993(cljs.core.chunk_rest(s__38994__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__38996),null);\n}\n} else {\nvar vec__39014 \x3d cljs.core.first(s__38994__$2);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39014,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39014,(1),null);\nreturn cljs.core.cons((function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n,shadow$animate$setup_$_iter__38993(cljs.core.rest(s__38994__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(elements);\n})());\nreturn (new shadow.animate.Animator(duration,items));\n});\nshadow.animate.continue_BANG_ \x3d (function shadow$animate$continue_BANG_(animator){\nshadow.animate.start_BANG_(animator);\n\nvar c__35079__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_39024){\nvar state_val_39025 \x3d (state_39024[(1)]);\nif((state_val_39025 \x3d\x3d\x3d (1))){\nvar inst_39018 \x3d shadow.animate.get_duration(animator);\nvar inst_39019 \x3d cljs.core.async.timeout(inst_39018);\nvar state_39024__$1 \x3d state_39024;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_39024__$1,(2),inst_39019);\n} else {\nif((state_val_39025 \x3d\x3d\x3d (2))){\nvar inst_39021 \x3d (state_39024[(2)]);\nvar inst_39022 \x3d shadow.animate.finish_BANG_(animator);\nvar state_39024__$1 \x3d (function (){var statearr_39027 \x3d state_39024;\n(statearr_39027[(7)] \x3d inst_39021);\n\n(statearr_39027[(8)] \x3d inst_39022);\n\nreturn statearr_39027;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_39024__$1,new cljs.core.Keyword(null,\x22done\x22,\x22done\x22,-889844188));\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar shadow$animate$continue_BANG__$_state_machine__34860__auto__ \x3d null;\nvar shadow$animate$continue_BANG__$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_39028 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_39028[(0)] \x3d shadow$animate$continue_BANG__$_state_machine__34860__auto__);\n\n(statearr_39028[(1)] \x3d (1));\n\nreturn statearr_39028;\n});\nvar shadow$animate$continue_BANG__$_state_machine__34860__auto____1 \x3d (function (state_39024){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_39024);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e39029){var ex__34863__auto__ \x3d e39029;\nvar statearr_39030_39211 \x3d state_39024;\n(statearr_39030_39211[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_39024[(4)]))){\nvar statearr_39031_39212 \x3d state_39024;\n(statearr_39031_39212[(1)] \x3d cljs.core.first((state_39024[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__39213 \x3d state_39024;\nstate_39024 \x3d G__39213;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\nshadow$animate$continue_BANG__$_state_machine__34860__auto__ \x3d function(state_39024){\nswitch(arguments.length){\ncase 0:\nreturn shadow$animate$continue_BANG__$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn shadow$animate$continue_BANG__$_state_machine__34860__auto____1.call(this,state_39024);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$animate$continue_BANG__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$animate$continue_BANG__$_state_machine__34860__auto____0;\nshadow$animate$continue_BANG__$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$animate$continue_BANG__$_state_machine__34860__auto____1;\nreturn shadow$animate$continue_BANG__$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_39032 \x3d f__35080__auto__();\n(statearr_39032[(6)] \x3d c__35079__auto__);\n\nreturn statearr_39032;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\nreturn c__35079__auto__;\n});\nshadow.animate.start \x3d (function shadow$animate$start(duration,elements){\nvar animator \x3d shadow.animate.setup(duration,elements);\nanimator.shadow$animate$IAnimator$init_BANG_$arity$1(null);\n\nreturn shadow.animate.continue_BANG_(animator);\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39036 \x3d (function (attr,from,to,timing,delay,meta39037){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta39037 \x3d meta39037;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39036.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39038,meta39037__$1){\nvar self__ \x3d this;\nvar _39038__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39036(self__.attr,self__.from,self__.to,self__.timing,self__.delay,meta39037__$1));\n}));\n\n(shadow.animate.t_shadow$animate39036.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39038){\nvar self__ \x3d this;\nvar _39038__$1 \x3d this;\nreturn self__.meta39037;\n}));\n\n(shadow.animate.t_shadow$animate39036.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39036.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate39036.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate39036.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39036.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate39036.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate39036.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta39037\x22,\x22meta39037\x22,-965750270,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39036.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39036.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39036\x22);\n\n(shadow.animate.t_shadow$animate39036.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39036\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39036.\n */\nshadow.animate.__GT_t_shadow$animate39036 \x3d (function shadow$animate$__GT_t_shadow$animate39036(attr,from,to,timing,delay,meta39037){\nreturn (new shadow.animate.t_shadow$animate39036(attr,from,to,timing,delay,meta39037));\n});\n\n\n/**\n * transition the given attr from -\x3e to using timing function and delay\n * timing defaults to ease, delay to 0\n */\nshadow.animate.transition \x3d (function shadow$animate$transition(var_args){\nvar G__39035 \x3d arguments.length;\nswitch (G__39035) {\ncase 3:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$3 \x3d (function (attr,from,to){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,\x22ease\x22,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$4 \x3d (function (attr,from,to,timing){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,timing,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$5 \x3d (function (attr,from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate39036(attr,from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.transition.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39045 \x3d (function (attr,from,to,meta39046){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.meta39046 \x3d meta39046;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39045.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39047,meta39046__$1){\nvar self__ \x3d this;\nvar _39047__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39045(self__.attr,self__.from,self__.to,meta39046__$1));\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39047){\nvar self__ \x3d this;\nvar _39047__$1 \x3d this;\nreturn self__.meta39046;\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39045.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22meta39046\x22,\x22meta39046\x22,212366748,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39045.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39045.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39045\x22);\n\n(shadow.animate.t_shadow$animate39045.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39045\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39045.\n */\nshadow.animate.__GT_t_shadow$animate39045 \x3d (function shadow$animate$__GT_t_shadow$animate39045(attr,from,to,meta39046){\nreturn (new shadow.animate.t_shadow$animate39045(attr,from,to,meta39046));\n});\n\n\nshadow.animate.toggle \x3d (function shadow$animate$toggle(attr,from,to){\nreturn (new shadow.animate.t_shadow$animate39045(attr,from,to,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39053 \x3d (function (attrs,meta39054){\nthis.attrs \x3d attrs;\nthis.meta39054 \x3d meta39054;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39053.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39055,meta39054__$1){\nvar self__ \x3d this;\nvar _39055__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39053(self__.attrs,meta39054__$1));\n}));\n\n(shadow.animate.t_shadow$animate39053.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39055){\nvar self__ \x3d this;\nvar _39055__$1 \x3d this;\nreturn self__.meta39054;\n}));\n\n(shadow.animate.t_shadow$animate39053.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39053.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39053.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.attrs;\n}));\n\n(shadow.animate.t_shadow$animate39053.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39053.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39053.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39053.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta39054\x22,\x22meta39054\x22,664768026,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39053.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39053.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39053\x22);\n\n(shadow.animate.t_shadow$animate39053.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39053\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39053.\n */\nshadow.animate.__GT_t_shadow$animate39053 \x3d (function shadow$animate$__GT_t_shadow$animate39053(attrs,meta39054){\nreturn (new shadow.animate.t_shadow$animate39053(attrs,meta39054));\n});\n\n\n/**\n * set attr to value when the animation starts\n */\nshadow.animate.set_attr \x3d (function shadow$animate$set_attr(var_args){\nvar G__39051 \x3d arguments.length;\nswitch (G__39051) {\ncase 1:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1 \x3d (function (attrs){\nreturn (new shadow.animate.t_shadow$animate39053(attrs,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (attr,value){\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.createAsIfByAssoc([attr,value]));\n}));\n\n(shadow.animate.set_attr.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39059 \x3d (function (attr,meta39060){\nthis.attr \x3d attr;\nthis.meta39060 \x3d meta39060;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39059.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39061,meta39060__$1){\nvar self__ \x3d this;\nvar _39061__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39059(self__.attr,meta39060__$1));\n}));\n\n(shadow.animate.t_shadow$animate39059.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39061){\nvar self__ \x3d this;\nvar _39061__$1 \x3d this;\nreturn self__.meta39060;\n}));\n\n(shadow.animate.t_shadow$animate39059.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39059.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39059.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39059.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,null]);\n}));\n\n(shadow.animate.t_shadow$animate39059.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39059.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39059.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22meta39060\x22,\x22meta39060\x22,1949595905,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39059.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39059.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39059\x22);\n\n(shadow.animate.t_shadow$animate39059.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39059\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39059.\n */\nshadow.animate.__GT_t_shadow$animate39059 \x3d (function shadow$animate$__GT_t_shadow$animate39059(attr,meta39060){\nreturn (new shadow.animate.t_shadow$animate39059(attr,meta39060));\n});\n\n\n/**\n * use to remove a given attribute style when the animation is finished\n * usually only needed to remove attributes we no longer need since they are probably\n * inherited and we only used for previous transitions\n */\nshadow.animate.delete_attr \x3d (function shadow$animate$delete_attr(attr){\nreturn (new shadow.animate.t_shadow$animate39059(attr,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39072 \x3d (function (transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta39073){\nthis.transitions \x3d transitions;\nthis.to \x3d to;\nthis.from \x3d from;\nthis.toggles \x3d toggles;\nthis.timings \x3d timings;\nthis.delays \x3d delays;\nthis.temp__5802__auto__ \x3d temp__5802__auto__;\nthis.meta39073 \x3d meta39073;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39072.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39074,meta39073__$1){\nvar self__ \x3d this;\nvar _39074__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39072(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5802__auto__,meta39073__$1));\n}));\n\n(shadow.animate.t_shadow$animate39072.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39074){\nvar self__ \x3d this;\nvar _39074__$1 \x3d this;\nreturn self__.meta39073;\n}));\n\n(shadow.animate.t_shadow$animate39072.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39072.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.from;\n}));\n\n(shadow.animate.t_shadow$animate39072.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.to;\n}));\n\n(shadow.animate.t_shadow$animate39072.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.toggles;\n}));\n\n(shadow.animate.t_shadow$animate39072.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.timings;\n}));\n\n(shadow.animate.t_shadow$animate39072.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.delays;\n}));\n\n(shadow.animate.t_shadow$animate39072.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22transitions\x22,\x22transitions\x22,-405684594,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.Symbol(null,\x22timings\x22,\x22timings\x22,-569636600,null),new cljs.core.Symbol(null,\x22delays\x22,\x22delays\x22,-873843187,null),new cljs.core.Symbol(null,\x22temp__5802__auto__\x22,\x22temp__5802__auto__\x22,-1659442335,null),new cljs.core.Symbol(null,\x22meta39073\x22,\x22meta39073\x22,522098618,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39072.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39072.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39072\x22);\n\n(shadow.animate.t_shadow$animate39072.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39072\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39072.\n */\nshadow.animate.__GT_t_shadow$animate39072 \x3d (function shadow$animate$__GT_t_shadow$animate39072(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta39073){\nreturn (new shadow.animate.t_shadow$animate39072(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta39073));\n});\n\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39084 \x3d (function (transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta39085){\nthis.transitions \x3d transitions;\nthis.to \x3d to;\nthis.from \x3d from;\nthis.toggles \x3d toggles;\nthis.timings \x3d timings;\nthis.delays \x3d delays;\nthis.temp__5802__auto__ \x3d temp__5802__auto__;\nthis.meta39085 \x3d meta39085;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39084.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39086,meta39085__$1){\nvar self__ \x3d this;\nvar _39086__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39084(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5802__auto__,meta39085__$1));\n}));\n\n(shadow.animate.t_shadow$animate39084.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39086){\nvar self__ \x3d this;\nvar _39086__$1 \x3d this;\nreturn self__.meta39085;\n}));\n\n(shadow.animate.t_shadow$animate39084.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39084.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.from;\n}));\n\n(shadow.animate.t_shadow$animate39084.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.to;\n}));\n\n(shadow.animate.t_shadow$animate39084.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.toggles;\n}));\n\n(shadow.animate.t_shadow$animate39084.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.timings;\n}));\n\n(shadow.animate.t_shadow$animate39084.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.delays;\n}));\n\n(shadow.animate.t_shadow$animate39084.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22transitions\x22,\x22transitions\x22,-405684594,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22timings\x22,\x22timings\x22,-569636600,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22delays\x22,\x22delays\x22,-873843187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),new cljs.core.Symbol(null,\x22temp__5802__auto__\x22,\x22temp__5802__auto__\x22,-1659442335,null),new cljs.core.Symbol(null,\x22meta39085\x22,\x22meta39085\x22,-1797420727,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39084.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39084.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39084\x22);\n\n(shadow.animate.t_shadow$animate39084.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39084\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39084.\n */\nshadow.animate.__GT_t_shadow$animate39084 \x3d (function shadow$animate$__GT_t_shadow$animate39084(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta39085){\nreturn (new shadow.animate.t_shadow$animate39084(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta39085));\n});\n\n\nshadow.animate.combine \x3d (function shadow$animate$combine(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39224 \x3d arguments.length;\nvar i__5750__auto___39225 \x3d (0);\nwhile(true){\nif((i__5750__auto___39225 \x3c len__5749__auto___39224)){\nargs__5755__auto__.push((arguments[i__5750__auto___39225]));\n\nvar G__39226 \x3d (i__5750__auto___39225 + (1));\ni__5750__auto___39225 \x3d G__39226;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic \x3d (function (transitions){\nvar to \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar from \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar toggles \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar timings \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar delays \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar transitions__$1 \x3d transitions;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(transitions__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar adef \x3d temp__5802__auto__;\nvar G__39227 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([to,shadow.animate._animate_to(adef)], 0));\nvar G__39228 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([from,shadow.animate._animate_from(adef)], 0));\nvar G__39229 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([toggles,shadow.animate._animate_toggles(adef)], 0));\nvar G__39230 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([timings,shadow.animate._animate_timings(adef)], 0));\nvar G__39231 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([delays,shadow.animate._animate_delays(adef)], 0));\nvar G__39232 \x3d cljs.core.rest(transitions__$1);\nto \x3d G__39227;\nfrom \x3d G__39228;\ntoggles \x3d G__39229;\ntimings \x3d G__39230;\ndelays \x3d G__39231;\ntransitions__$1 \x3d G__39232;\ncontinue;\n} else {\nreturn (new shadow.animate.t_shadow$animate39084(transitions__$1,to,from,toggles,timings,delays,temp__5802__auto__,cljs.core.PersistentArrayMap.EMPTY));\n}\nbreak;\n}\n}));\n\n(shadow.animate.combine.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.animate.combine.cljs$lang$applyTo \x3d (function (seq39069){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq39069));\n}));\n\nshadow.animate.fade_in \x3d (function shadow$animate$fade_in(var_args){\nvar G__39100 \x3d arguments.length;\nswitch (G__39100) {\ncase 0:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-in\x22);\n}));\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x220\x22,\x221\x22,timing_function);\n}));\n\n(shadow.animate.fade_in.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.fade_out \x3d (function shadow$animate$fade_out(var_args){\nvar G__39104 \x3d arguments.length;\nswitch (G__39104) {\ncase 0:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-out\x22);\n}));\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,timing_function);\n}));\n\n(shadow.animate.fade_out.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.vendor_prefix \x3d goog.dom.vendor.getVendorPrefix();\nshadow.animate.vendor_transform \x3d cljs.core.keyword.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.animate.vendor_prefix),\x22-transform\x22].join(\x27\x27));\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39123 \x3d (function (from,to,timing,delay,meta39124){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta39124 \x3d meta39124;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39123.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39125,meta39124__$1){\nvar self__ \x3d this;\nvar _39125__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39123(self__.from,self__.to,self__.timing,self__.delay,meta39124__$1));\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39125){\nvar self__ \x3d this;\nvar _39125__$1 \x3d this;\nreturn self__.meta39124;\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate39123.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta39124\x22,\x22meta39124\x22,-218183766,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39123.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39123.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39123\x22);\n\n(shadow.animate.t_shadow$animate39123.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39123\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39123.\n */\nshadow.animate.__GT_t_shadow$animate39123 \x3d (function shadow$animate$__GT_t_shadow$animate39123(from,to,timing,delay,meta39124){\nreturn (new shadow.animate.t_shadow$animate39123(from,to,timing,delay,meta39124));\n});\n\n\nshadow.animate.translate_y \x3d (function shadow$animate$translate_y(var_args){\nvar G__39117 \x3d arguments.length;\nswitch (G__39117) {\ncase 3:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate39123(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_y.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39141 \x3d (function (from,to,timing,delay,meta39142){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta39142 \x3d meta39142;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39141.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39143,meta39142__$1){\nvar self__ \x3d this;\nvar _39143__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39141(self__.from,self__.to,self__.timing,self__.delay,meta39142__$1));\n}));\n\n(shadow.animate.t_shadow$animate39141.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39143){\nvar self__ \x3d this;\nvar _39143__$1 \x3d this;\nreturn self__.meta39142;\n}));\n\n(shadow.animate.t_shadow$animate39141.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39141.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate39141.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate39141.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate39141.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39141.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate39141.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta39142\x22,\x22meta39142\x22,-530997648,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39141.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39141.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39141\x22);\n\n(shadow.animate.t_shadow$animate39141.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39141\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39141.\n */\nshadow.animate.__GT_t_shadow$animate39141 \x3d (function shadow$animate$__GT_t_shadow$animate39141(from,to,timing,delay,meta39142){\nreturn (new shadow.animate.t_shadow$animate39141(from,to,timing,delay,meta39142));\n});\n\n\nshadow.animate.translate_x \x3d (function shadow$animate$translate_x(var_args){\nvar G__39140 \x3d arguments.length;\nswitch (G__39140) {\ncase 3:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate39141(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_x.cljs$lang$maxFixedArity \x3d 4);\n\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.util.js", true, "goog.provide(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22goog.object\x22);\ngoog.scope(function() {\n  var util \x3d com.cognitect.transit.util;\n  var gobject \x3d goog.object;\n  if (typeof Object.keys !\x3d \x22undefined\x22) {\n    util.objectKeys \x3d function(obj) {\n      return Object.keys(obj);\n    };\n  } else {\n    util.objectKeys \x3d function(obj) {\n      return gobject.getKeys(obj);\n    };\n  }\n  if (typeof Array.isArray !\x3d \x22undefined\x22) {\n    util.isArray \x3d function(obj) {\n      return Array.isArray(obj);\n    };\n  } else {\n    util.isArray \x3d function(obj) {\n      return goog.typeOf(obj) \x3d\x3d\x3d \x22array\x22;\n    };\n  }\n  util.chars \x3d \x22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\x3d\x22;\n  util.randInt \x3d function(ub) {\n    return Math.round(Math.random() * ub);\n  };\n  util.randHex \x3d function() {\n    return util.randInt(15).toString(16);\n  };\n  util.randomUUID \x3d function() {\n    var rhex \x3d (8 | 3 \x26 util.randInt(14)).toString(16);\n    var ret \x3d util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + \x224\x22 + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + rhex + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \n    util.randHex() + util.randHex() + util.randHex();\n    return ret;\n  };\n  util.btoa \x3d function(input) {\n    if (typeof btoa !\x3d \x22undefined\x22) {\n      return btoa(input);\n    } else {\n      var str \x3d String(input);\n      var block;\n      var charCode;\n      var idx \x3d 0;\n      var map \x3d util.chars;\n      var output \x3d \x22\x22;\n      for (; str.charAt(idx | 0) || (map \x3d \x22\\x3d\x22, idx % 1); output \x3d output + map.charAt(63 \x26 block \x3e\x3e 8 - idx % 1 * 8)) {\n        charCode \x3d str.charCodeAt(idx \x3d idx + 3 / 4);\n        if (charCode \x3e 255) {\n          throw new Error(\x22\x27btoa\x27 failed: The string to be encoded contains characters outside of the Latin1 range.\x22);\n        }\n        block \x3d block \x3c\x3c 8 | charCode;\n      }\n      return output;\n    }\n  };\n  util.atob \x3d function(input) {\n    if (typeof atob !\x3d \x22undefined\x22) {\n      return atob(input);\n    } else {\n      var str \x3d String(input).replace(/\x3d+$/, \x22\x22);\n      if (str.length % 4 \x3d\x3d 1) {\n        throw new Error(\x22\x27atob\x27 failed: The string to be decoded is not correctly encoded.\x22);\n      }\n      var bc \x3d 0;\n      var bs;\n      var buffer;\n      var idx \x3d 0;\n      var output \x3d \x22\x22;\n      for (; buffer \x3d str.charAt(idx++); ~buffer \x26\x26 (bs \x3d bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output \x3d output + String.fromCharCode(255 \x26 bs \x3e\x3e (-2 * bc \x26 6)) : 0) {\n        buffer \x3d util.chars.indexOf(buffer);\n      }\n      return output;\n    }\n  };\n  util.Uint8ToBase64 \x3d function(u8Arr) {\n    var CHUNK_SIZE \x3d 32768;\n    var index \x3d 0;\n    var length \x3d u8Arr.length;\n    var result \x3d \x22\x22;\n    var slice \x3d null;\n    for (; index \x3c length;) {\n      slice \x3d u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length));\n      result \x3d result + String.fromCharCode.apply(null, slice);\n      index \x3d index + CHUNK_SIZE;\n    }\n    return util.btoa(result);\n  };\n  util.Base64ToUint8 \x3d function(base64) {\n    var binary_string \x3d util.atob(base64);\n    var len \x3d binary_string.length;\n    var bytes \x3d new Uint8Array(len);\n    var i \x3d 0;\n    for (; i \x3c len; i++) {\n      var ascii \x3d binary_string.charCodeAt(i);\n      bytes[i] \x3d ascii;\n    }\n    return bytes;\n  };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.delimiters.js", true, "goog.provide(\x22com.cognitect.transit.delimiters\x22);\ngoog.scope(function() {\n  var delimiters \x3d com.cognitect.transit.delimiters;\n  delimiters.ESC \x3d \x22~\x22;\n  delimiters.TAG \x3d \x22#\x22;\n  delimiters.SUB \x3d \x22^\x22;\n  delimiters.RES \x3d \x22`\x22;\n  delimiters.ESC_TAG \x3d \x22~#\x22;\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.caching.js", true, "goog.provide(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.scope(function() {\n  var caching \x3d com.cognitect.transit.caching;\n  var d \x3d com.cognitect.transit.delimiters;\n  caching.MIN_SIZE_CACHEABLE \x3d 3;\n  caching.BASE_CHAR_IDX \x3d 48;\n  caching.CACHE_CODE_DIGITS \x3d 44;\n  caching.MAX_CACHE_ENTRIES \x3d caching.CACHE_CODE_DIGITS * caching.CACHE_CODE_DIGITS;\n  caching.MAX_CACHE_SIZE \x3d 4096;\n  caching.isCacheable \x3d function(string, asMapKey) {\n    if (string.length \x3e caching.MIN_SIZE_CACHEABLE) {\n      if (asMapKey) {\n        return true;\n      } else {\n        var c0 \x3d string.charAt(0);\n        var c1 \x3d string.charAt(1);\n        if (c0 \x3d\x3d\x3d d.ESC) {\n          return c1 \x3d\x3d\x3d \x22:\x22 || c1 \x3d\x3d\x3d \x22$\x22 || c1 \x3d\x3d\x3d \x22#\x22;\n        } else {\n          return false;\n        }\n      }\n    } else {\n      return false;\n    }\n  };\n  caching.idxToCode \x3d function(idx) {\n    var hi \x3d Math.floor(idx / caching.CACHE_CODE_DIGITS);\n    var lo \x3d idx % caching.CACHE_CODE_DIGITS;\n    var loc \x3d String.fromCharCode(lo + caching.BASE_CHAR_IDX);\n    if (hi \x3d\x3d\x3d 0) {\n      return d.SUB + loc;\n    } else {\n      return d.SUB + String.fromCharCode(hi + caching.BASE_CHAR_IDX) + loc;\n    }\n  };\n  caching.WriteCache \x3d function() {\n    this.idx \x3d 0;\n    this.gen \x3d 0;\n    this.cacheSize \x3d 0;\n    this.cache \x3d {};\n  };\n  caching.WriteCache.prototype.write \x3d function(string, asMapKey) {\n    if (caching.isCacheable(string, asMapKey)) {\n      if (this.cacheSize \x3d\x3d\x3d caching.MAX_CACHE_SIZE) {\n        this.clear();\n        this.gen \x3d 0;\n        this.cache \x3d {};\n      } else if (this.idx \x3d\x3d\x3d caching.MAX_CACHE_ENTRIES) {\n        this.clear();\n      }\n      var entry \x3d this.cache[string];\n      if (entry \x3d\x3d null) {\n        this.cache[string] \x3d [caching.idxToCode(this.idx), this.gen];\n        this.idx++;\n        return string;\n      } else if (entry[1] !\x3d this.gen) {\n        entry[1] \x3d this.gen;\n        entry[0] \x3d caching.idxToCode(this.idx);\n        this.idx++;\n        return string;\n      } else {\n        return entry[0];\n      }\n    } else {\n      return string;\n    }\n  };\n  caching.WriteCache.prototype.clear \x3d function Transit$WriteCache() {\n    this.idx \x3d 0;\n    this.gen++;\n  };\n  caching.writeCache \x3d function() {\n    return new caching.WriteCache();\n  };\n  caching.isCacheCode \x3d function(string) {\n    return string.charAt(0) \x3d\x3d\x3d d.SUB \x26\x26 string.charAt(1) !\x3d\x3d \x22 \x22;\n  };\n  caching.codeToIdx \x3d function(code) {\n    if (code.length \x3d\x3d\x3d 2) {\n      return code.charCodeAt(1) - caching.BASE_CHAR_IDX;\n    } else {\n      var hi \x3d (code.charCodeAt(1) - caching.BASE_CHAR_IDX) * caching.CACHE_CODE_DIGITS;\n      var lo \x3d code.charCodeAt(2) - caching.BASE_CHAR_IDX;\n      return hi + lo;\n    }\n  };\n  caching.ReadCache \x3d function Transit$ReadCache() {\n    this.idx \x3d 0;\n    this.cache \x3d [];\n  };\n  caching.ReadCache.prototype.write \x3d function(obj, asMapKey) {\n    if (this.idx \x3d\x3d caching.MAX_CACHE_ENTRIES) {\n      this.idx \x3d 0;\n    }\n    this.cache[this.idx] \x3d obj;\n    this.idx++;\n    return obj;\n  };\n  caching.ReadCache.prototype.read \x3d function(string, asMapKey) {\n    return this.cache[caching.codeToIdx(string)];\n  };\n  caching.ReadCache.prototype.clear \x3d function() {\n    this.idx \x3d 0;\n  };\n  caching.readCache \x3d function() {\n    return new caching.ReadCache();\n  };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.eq.js", true, "goog.provide(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.scope(function() {\n  var eq \x3d com.cognitect.transit.eq;\n  var util \x3d com.cognitect.transit.util;\n  eq.hashCodeProperty \x3d \x22transit$hashCode$\x22;\n  eq.hashCodeCounter \x3d 1;\n  eq.equals \x3d function(x, y) {\n    if (x \x3d\x3d null) {\n      return y \x3d\x3d null;\n    } else if (x \x3d\x3d\x3d y) {\n      return true;\n    } else if (typeof x \x3d\x3d\x3d \x22object\x22) {\n      if (util.isArray(x)) {\n        if (util.isArray(y)) {\n          if (x.length \x3d\x3d\x3d y.length) {\n            var i \x3d 0;\n            for (; i \x3c x.length; i++) {\n              if (!eq.equals(x[i], y[i])) {\n                return false;\n              }\n            }\n            return true;\n          } else {\n            return false;\n          }\n        } else {\n          return false;\n        }\n      } else if (x.com$cognitect$transit$equals) {\n        return x.com$cognitect$transit$equals(y);\n      } else if (y !\x3d null \x26\x26 typeof y \x3d\x3d\x3d \x22object\x22) {\n        if (y.com$cognitect$transit$equals) {\n          return y.com$cognitect$transit$equals(x);\n        } else {\n          var xklen \x3d 0;\n          var yklen \x3d util.objectKeys(y).length;\n          var p;\n          for (p in x) {\n            if (!x.hasOwnProperty(p)) {\n              continue;\n            }\n            xklen++;\n            if (!y.hasOwnProperty(p)) {\n              return false;\n            } else {\n              if (!eq.equals(x[p], y[p])) {\n                return false;\n              }\n            }\n          }\n          return xklen \x3d\x3d\x3d yklen;\n        }\n      } else {\n        return false;\n      }\n    } else {\n      return false;\n    }\n  };\n  eq.hashCombine \x3d function(seed, hash) {\n    return seed ^ hash + 2654435769 + (seed \x3c\x3c 6) + (seed \x3e\x3e 2);\n  };\n  eq.stringCodeCache \x3d {};\n  eq.stringCodeCacheSize \x3d 0;\n  eq.STR_CACHE_MAX \x3d 256;\n  eq.hashString \x3d function(str) {\n    var cached \x3d eq.stringCodeCache[str];\n    if (cached !\x3d null) {\n      return cached;\n    }\n    var code \x3d 0;\n    var i \x3d 0;\n    for (; i \x3c str.length; ++i) {\n      code \x3d 31 * code + str.charCodeAt(i);\n      code \x3d code % 4294967296;\n    }\n    eq.stringCodeCacheSize++;\n    if (eq.stringCodeCacheSize \x3e\x3d eq.STR_CACHE_MAX) {\n      eq.stringCodeCache \x3d {};\n      eq.stringCodeCacheSize \x3d 1;\n    }\n    eq.stringCodeCache[str] \x3d code;\n    return code;\n  };\n  eq.hashMapLike \x3d function(m) {\n    var code \x3d 0;\n    if (m.forEach !\x3d null) {\n      m.forEach(function(val, key, m) {\n        code \x3d (code + (eq.hashCode(key) ^ eq.hashCode(val))) % 4503599627370496;\n      });\n    } else {\n      var keys \x3d util.objectKeys(m);\n      var i \x3d 0;\n      for (; i \x3c keys.length; i++) {\n        var key \x3d keys[i];\n        var val \x3d m[key];\n        code \x3d (code + (eq.hashCode(key) ^ eq.hashCode(val))) % 4503599627370496;\n      }\n    }\n    return code;\n  };\n  eq.hashArrayLike \x3d function(arr) {\n    var code \x3d 0;\n    if (util.isArray(arr)) {\n      var i \x3d 0;\n      for (; i \x3c arr.length; i++) {\n        code \x3d eq.hashCombine(code, eq.hashCode(arr[i]));\n      }\n    } else if (arr.forEach) {\n      arr.forEach(function(x, i) {\n        code \x3d eq.hashCombine(code, eq.hashCode(x));\n      });\n    }\n    return code;\n  };\n  eq.hashCode \x3d function(x) {\n    if (x \x3d\x3d null) {\n      return 0;\n    } else {\n      switch(typeof x) {\n        case \x22number\x22:\n          return x;\n          break;\n        case \x22boolean\x22:\n          return x \x3d\x3d\x3d true ? 1 : 0;\n          break;\n        case \x22string\x22:\n          return eq.hashString(x);\n          break;\n        case \x22function\x22:\n          var code \x3d x[eq.hashCodeProperty];\n          if (code) {\n            return code;\n          } else {\n            code \x3d eq.hashCodeCounter;\n            if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n              Object.defineProperty(x, eq.hashCodeProperty, {value:code, enumerable:false});\n            } else {\n              x[eq.hashCodeProperty] \x3d code;\n            }\n            eq.hashCodeCounter++;\n            return code;\n          }\n          break;\n        default:\n          if (x instanceof Date) {\n            return x.valueOf();\n          } else if (util.isArray(x)) {\n            return eq.hashArrayLike(x);\n          }\n          if (x.com$cognitect$transit$hashCode) {\n            return x.com$cognitect$transit$hashCode();\n          } else {\n            return eq.hashMapLike(x);\n          }\n          break;\n      }\n    }\n  };\n  eq.extendToEQ \x3d function(obj, opts) {\n    obj.com$cognitect$transit$hashCode \x3d opts[\x22hashCode\x22];\n    obj.com$cognitect$transit$equals \x3d opts[\x22equals\x22];\n    return obj;\n  };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.types.js", true, "goog.provide(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n  var types \x3d com.cognitect.transit.types;\n  var util \x3d com.cognitect.transit.util;\n  var eq \x3d com.cognitect.transit.eq;\n  var Long \x3d goog.math.Long;\n  if (typeof Symbol !\x3d \x22undefined\x22) {\n    types.ITERATOR \x3d Symbol.iterator;\n  } else {\n    types.ITERATOR \x3d \x22@@iterator\x22;\n  }\n  types.TaggedValue \x3d function Transit$TaggedValue(tag, rep) {\n    this.tag \x3d tag;\n    this.rep \x3d rep;\n    this.hashCode \x3d -1;\n  };\n  types.TaggedValue.prototype.toString \x3d function() {\n    return \x22[TaggedValue: \x22 + this.tag + \x22, \x22 + this.rep + \x22]\x22;\n  };\n  types.TaggedValue.prototype.equiv \x3d function(other) {\n    return eq.equals(this, other);\n  };\n  types.TaggedValue.prototype[\x22equiv\x22] \x3d types.TaggedValue.prototype.equiv;\n  types.TaggedValue.prototype.com$cognitect$transit$equals \x3d function(other) {\n    if (other instanceof types.TaggedValue) {\n      return this.tag \x3d\x3d\x3d other.tag \x26\x26 eq.equals(this.rep, other.rep);\n    } else {\n      return false;\n    }\n  };\n  types.TaggedValue.prototype.com$cognitect$transit$hashCode \x3d function() {\n    if (this.hashCode \x3d\x3d\x3d -1) {\n      this.hashCode \x3d eq.hashCombine(eq.hashCode(this.tag), eq.hashCode(this.rep));\n    }\n    return this.hashCode;\n  };\n  types.taggedValue \x3d function(tag, rep) {\n    return new types.TaggedValue(tag, rep);\n  };\n  types.isTaggedValue \x3d function(x) {\n    return x instanceof types.TaggedValue;\n  };\n  types.nullValue \x3d function() {\n    return null;\n  };\n  types.boolValue \x3d function(s) {\n    return s \x3d\x3d\x3d \x22t\x22;\n  };\n  types.MAX_INT \x3d Long.fromString(\x229007199254740991\x22);\n  types.MIN_INT \x3d Long.fromString(\x22-9007199254740991\x22);\n  types.intValue \x3d function(s) {\n    if (typeof s \x3d\x3d\x3d \x22number\x22) {\n      return s;\n    } else if (s instanceof Long) {\n      return s;\n    } else {\n      var n \x3d Long.fromString(s, 10);\n      if (n.greaterThan(types.MAX_INT) || n.lessThan(types.MIN_INT)) {\n        return n;\n      } else {\n        return n.toNumber();\n      }\n    }\n  };\n  Long.prototype.equiv \x3d function(other) {\n    return eq.equals(this, other);\n  };\n  Long.prototype[\x22equiv\x22] \x3d Long.prototype.equiv;\n  Long.prototype.com$cognitect$transit$equals \x3d function(other) {\n    return other instanceof Long \x26\x26 this.equals(other);\n  };\n  Long.prototype.com$cognitect$transit$hashCode \x3d function() {\n    return this.toInt();\n  };\n  types.isInteger \x3d function(x) {\n    if (x instanceof Long) {\n      return true;\n    } else {\n      return typeof x \x3d\x3d\x3d \x22number\x22 \x26\x26 !isNaN(x) \x26\x26 !(x \x3d\x3d\x3d Infinity) \x26\x26 parseFloat(x) \x3d\x3d\x3d parseInt(x, 10);\n    }\n  };\n  types.floatValue \x3d function(s) {\n    return parseFloat(s);\n  };\n  types.bigInteger \x3d function(s) {\n    return types.taggedValue(\x22n\x22, s);\n  };\n  types.isBigInteger \x3d function(x) {\n    return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22n\x22;\n  };\n  types.bigDecimalValue \x3d function(s) {\n    return types.taggedValue(\x22f\x22, s);\n  };\n  types.isBigDecimal \x3d function(x) {\n    return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22f\x22;\n  };\n  types.charValue \x3d function(s) {\n    return s;\n  };\n  types.Keyword \x3d function Transit$Keyword(name) {\n    this._name \x3d name;\n    this.hashCode \x3d -1;\n  };\n  types.Keyword.prototype.toString \x3d function() {\n    return \x22:\x22 + this._name;\n  };\n  types.Keyword.prototype[\x22namespace\x22] \x3d function() {\n    var idx \x3d this._name.indexOf(\x22/\x22);\n    if (idx !\x3d -1) {\n      return this._name.substring(0, idx);\n    } else {\n      return null;\n    }\n  };\n  types.Keyword.prototype[\x22name\x22] \x3d function() {\n    var idx \x3d this._name.indexOf(\x22/\x22);\n    if (idx !\x3d -1) {\n      return this._name.substring(idx + 1, this._name.length);\n    } else {\n      return this._name;\n    }\n  };\n  types.Keyword.prototype.equiv \x3d function(other) {\n    return eq.equals(this, other);\n  };\n  types.Keyword.prototype[\x22equiv\x22] \x3d types.Keyword.prototype.equiv;\n  types.Keyword.prototype.com$cognitect$transit$equals \x3d function(other) {\n    return other instanceof types.Keyword \x26\x26 this._name \x3d\x3d other._name;\n  };\n  types.Keyword.prototype.com$cognitect$transit$hashCode \x3d function() {\n    if (this.hashCode \x3d\x3d\x3d -1) {\n      this.hashCode \x3d eq.hashCode(this._name);\n    }\n    return this.hashCode;\n  };\n  types.keyword \x3d function(s) {\n    return new types.Keyword(s);\n  };\n  types.isKeyword \x3d function(x) {\n    return x instanceof types.Keyword;\n  };\n  types.Symbol \x3d function Transit$Symbol(name) {\n    this._name \x3d name;\n    this.hashCode \x3d -1;\n  };\n  types.Symbol.prototype[\x22namespace\x22] \x3d function() {\n    var idx \x3d this._name.indexOf(\x22/\x22);\n    if (idx !\x3d -1) {\n      return this._name.substring(0, idx);\n    } else {\n      return null;\n    }\n  };\n  types.Symbol.prototype[\x22name\x22] \x3d function() {\n    var idx \x3d this._name.indexOf(\x22/\x22);\n    if (idx !\x3d -1) {\n      return this._name.substring(idx + 1, this._name.length);\n    } else {\n      return this._name;\n    }\n  };\n  types.Symbol.prototype.toString \x3d function() {\n    return this._name;\n  };\n  types.Symbol.prototype.equiv \x3d function(other) {\n    return eq.equals(this, other);\n  };\n  types.Symbol.prototype[\x22equiv\x22] \x3d types.Symbol.prototype.equiv;\n  types.Symbol.prototype.com$cognitect$transit$equals \x3d function(other) {\n    return other instanceof types.Symbol \x26\x26 this._name \x3d\x3d other._name;\n  };\n  types.Symbol.prototype.com$cognitect$transit$hashCode \x3d function() {\n    if (this.hashCode \x3d\x3d\x3d -1) {\n      this.hashCode \x3d eq.hashCode(this._name);\n    }\n    return this.hashCode;\n  };\n  types.symbol \x3d function(s) {\n    return new types.Symbol(s);\n  };\n  types.isSymbol \x3d function(x) {\n    return x instanceof types.Symbol;\n  };\n  types.hexFor \x3d function(aLong, sidx, eidx) {\n    var ret \x3d \x22\x22;\n    eidx \x3d eidx || sidx + 1;\n    var i \x3d sidx;\n    var shift \x3d (7 - i) * 8;\n    var mask \x3d Long.fromInt(255).shiftLeft(shift);\n    for (; i \x3c eidx; i++, shift \x3d shift - 8, mask \x3d mask.shiftRightUnsigned(8)) {\n      var s \x3d aLong.and(mask).shiftRightUnsigned(shift).toString(16);\n      if (s.length \x3d\x3d 1) {\n        s \x3d \x220\x22 + s;\n      }\n      ret \x3d ret + s;\n    }\n    return ret;\n  };\n  types.UUID \x3d function Transit$UUID(high, low) {\n    this.high \x3d high;\n    this.low \x3d low;\n    this.hashCode \x3d -1;\n  };\n  types.UUID.prototype.getLeastSignificantBits \x3d function() {\n    return this.low;\n  };\n  types.UUID.prototype.getMostSignificantBits \x3d function() {\n    return this.high;\n  };\n  types.UUID.prototype.toString \x3d function() {\n    var s \x3d \x22\x22;\n    var hi64 \x3d this.high;\n    var lo64 \x3d this.low;\n    s \x3d s + (types.hexFor(hi64, 0, 4) + \x22-\x22);\n    s \x3d s + (types.hexFor(hi64, 4, 6) + \x22-\x22);\n    s \x3d s + (types.hexFor(hi64, 6, 8) + \x22-\x22);\n    s \x3d s + (types.hexFor(lo64, 0, 2) + \x22-\x22);\n    s \x3d s + types.hexFor(lo64, 2, 8);\n    return s;\n  };\n  types.UUID.prototype.equiv \x3d function(other) {\n    return eq.equals(this, other);\n  };\n  types.UUID.prototype[\x22equiv\x22] \x3d types.UUID.prototype.equiv;\n  types.UUID.prototype.com$cognitect$transit$equals \x3d function(other) {\n    return other instanceof types.UUID \x26\x26 this.high.equals(other.high) \x26\x26 this.low.equals(other.low);\n  };\n  types.UUID.prototype.com$cognitect$transit$hashCode \x3d function() {\n    if (this.hashCode \x3d\x3d\x3d -1) {\n      this.hashCode \x3d eq.hashCode(this.toString());\n    }\n    return this.hashCode;\n  };\n  types.UUIDfromString \x3d function uuidFromString(s) {\n    s \x3d s.replace(/-/g, \x22\x22);\n    var hi64 \x3d null;\n    var lo64 \x3d null;\n    var hi32 \x3d 0;\n    var lo32 \x3d 0;\n    var off \x3d 24;\n    var i \x3d 0;\n    hi32 \x3d 0, i \x3d 0, off \x3d 24;\n    for (; i \x3c 8; i \x3d i + 2, off \x3d off - 8) {\n      hi32 \x3d hi32 | parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n    }\n    lo32 \x3d 0, i \x3d 8, off \x3d 24;\n    for (; i \x3c 16; i \x3d i + 2, off \x3d off - 8) {\n      lo32 \x3d lo32 | parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n    }\n    hi64 \x3d Long.fromBits(lo32, hi32);\n    hi32 \x3d 0, i \x3d 16, off \x3d 24;\n    for (; i \x3c 24; i \x3d i + 2, off \x3d off - 8) {\n      hi32 \x3d hi32 | parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n    }\n    lo32 \x3d 0, i \x3d 24, off \x3d 24;\n    for (; i \x3c 32; i \x3d i + 2, off \x3d off - 8) {\n      lo32 \x3d lo32 | parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n    }\n    lo64 \x3d Long.fromBits(lo32, hi32);\n    return new types.UUID(hi64, lo64);\n  };\n  types.uuid \x3d function(s) {\n    return types.UUIDfromString(s);\n  };\n  types.isUUID \x3d function(x) {\n    return x instanceof types.UUID;\n  };\n  types.date \x3d function(s) {\n    s \x3d typeof s \x3d\x3d\x3d \x22number\x22 ? s : parseInt(s, 10);\n    return new Date(s);\n  };\n  types.verboseDate \x3d function(s) {\n    return new Date(s);\n  };\n  Date.prototype.com$cognitect$transit$equals \x3d function(other) {\n    if (other instanceof Date) {\n      return this.valueOf() \x3d\x3d\x3d other.valueOf();\n    } else {\n      return false;\n    }\n  };\n  Date.prototype.com$cognitect$transit$hashCode \x3d function() {\n    return this.valueOf();\n  };\n  types.binary \x3d function(str, decoder) {\n    if ((!decoder || decoder.preferBuffers !\x3d\x3d false) \x26\x26 typeof goog.global.Buffer !\x3d \x22undefined\x22) {\n      return new goog.global.Buffer(str, \x22base64\x22);\n    } else if (typeof Uint8Array !\x3d \x22undefined\x22) {\n      return util.Base64ToUint8(str);\n    } else {\n      return types.taggedValue(\x22b\x22, str);\n    }\n  };\n  types.isBinary \x3d function(x) {\n    if (typeof goog.global.Buffer !\x3d \x22undefined\x22 \x26\x26 x instanceof goog.global.Buffer) {\n      return true;\n    } else if (typeof Uint8Array !\x3d \x22undefined\x22 \x26\x26 x instanceof Uint8Array) {\n      return true;\n    } else {\n      return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22b\x22;\n    }\n  };\n  types.uri \x3d function(s) {\n    return types.taggedValue(\x22r\x22, s);\n  };\n  types.isURI \x3d function(x) {\n    return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22r\x22;\n  };\n  types.KEYS \x3d 0;\n  types.VALUES \x3d 1;\n  types.ENTRIES \x3d 2;\n  types.TransitArrayMapIterator \x3d function Transit$ArrayMapIterator(entries, type) {\n    this.entries \x3d entries;\n    this.type \x3d type || types.KEYS;\n    this.idx \x3d 0;\n  };\n  types.TransitArrayMapIterator.prototype.next \x3d function() {\n    if (this.idx \x3c this.entries.length) {\n      var value \x3d null;\n      if (this.type \x3d\x3d\x3d types.KEYS) {\n        value \x3d this.entries[this.idx];\n      } else if (this.type \x3d\x3d\x3d types.VALUES) {\n        value \x3d this.entries[this.idx + 1];\n      } else {\n        value \x3d [this.entries[this.idx], this.entries[this.idx + 1]];\n      }\n      var ret \x3d {\x22value\x22:value, \x22done\x22:false};\n      this.idx +\x3d 2;\n      return ret;\n    } else {\n      return {\x22value\x22:null, \x22done\x22:true};\n    }\n  };\n  types.TransitArrayMapIterator.prototype[\x22next\x22] \x3d types.TransitArrayMapIterator.prototype.next;\n  types.TransitArrayMapIterator.prototype[types.ITERATOR] \x3d function() {\n    return this;\n  };\n  types.TransitMapIterator \x3d function Transit$MapIterator(map, type) {\n    this.map \x3d map;\n    this.type \x3d type || types.KEYS;\n    this.keys \x3d this.map.getKeys();\n    this.idx \x3d 0;\n    this.bucket \x3d null;\n    this.bucketIdx \x3d 0;\n  };\n  types.TransitMapIterator.prototype.next \x3d function() {\n    if (this.idx \x3c this.map.size) {\n      if (this.bucket \x3d\x3d null || !(this.bucketIdx \x3c this.bucket.length)) {\n        this.bucket \x3d this.map.map[this.keys[this.idx]];\n        this.bucketIdx \x3d 0;\n      }\n      var value \x3d null;\n      if (this.type \x3d\x3d\x3d types.KEYS) {\n        value \x3d this.bucket[this.bucketIdx];\n      } else if (this.type \x3d\x3d\x3d types.VALUES) {\n        value \x3d this.bucket[this.bucketIdx + 1];\n      } else {\n        value \x3d [this.bucket[this.bucketIdx], this.bucket[this.bucketIdx + 1]];\n      }\n      var ret \x3d {\x22value\x22:value, \x22done\x22:false};\n      this.idx++;\n      this.bucketIdx +\x3d 2;\n      return ret;\n    } else {\n      return {\x22value\x22:null, \x22done\x22:true};\n    }\n  };\n  types.TransitMapIterator.prototype[\x22next\x22] \x3d types.TransitMapIterator.prototype.next;\n  types.TransitMapIterator.prototype[types.ITERATOR] \x3d function() {\n    return this;\n  };\n  types.mapEquals \x3d function(me, you) {\n    if (me instanceof types.TransitMap \x26\x26 types.isMap(you)) {\n      if (me.size !\x3d\x3d you.size) {\n        return false;\n      }\n      var code;\n      for (code in me.map) {\n        var bucket \x3d me.map[code];\n        var j \x3d 0;\n        for (; j \x3c bucket.length; j \x3d j + 2) {\n          if (!eq.equals(bucket[j + 1], you.get(bucket[j]))) {\n            return false;\n          }\n        }\n      }\n      return true;\n    } else if (me instanceof types.TransitArrayMap \x26\x26 types.isMap(you)) {\n      if (me.size !\x3d\x3d you.size) {\n        return false;\n      }\n      var entries \x3d me._entries;\n      j \x3d 0;\n      for (; j \x3c entries.length; j \x3d j + 2) {\n        if (!eq.equals(entries[j + 1], you.get(entries[j]))) {\n          return false;\n        }\n      }\n      return true;\n    } else if (you !\x3d null \x26\x26 typeof you \x3d\x3d\x3d \x22object\x22) {\n      var ks \x3d util.objectKeys(you);\n      var kslen \x3d ks.length;\n      if (me.size \x3d\x3d\x3d kslen) {\n        var i \x3d 0;\n        for (; i \x3c kslen; i++) {\n          var k \x3d ks[i];\n          if (!me.has(k) || !eq.equals(you[k], me.get(k))) {\n            return false;\n          }\n        }\n        return true;\n      } else {\n        return false;\n      }\n    } else {\n      return false;\n    }\n  };\n  types.SMALL_ARRAY_MAP_THRESHOLD \x3d 8;\n  types.ARRAY_MAP_THRESHOLD \x3d 32;\n  types.ARRAY_MAP_ACCESS_THRESHOLD \x3d 32;\n  types.print \x3d function(x) {\n    if (x \x3d\x3d null) {\n      return \x22null\x22;\n    }\n    if (goog.typeOf(x) \x3d\x3d\x3d \x22array\x22) {\n      return \x22[\x22 + x.toString() + \x22]\x22;\n    } else if (goog.typeOf(x) \x3d\x3d\x3d \x22string\x22) {\n      return \x27\x22\x27 + x + \x27\x22\x27;\n    } else {\n      return x.toString();\n    }\n  };\n  types.printMap \x3d function(map) {\n    var idx \x3d 0;\n    var str \x3d \x22TransitMap {\x22;\n    map.forEach(function(v, k) {\n      str \x3d str + (types.print(k) + \x22 \\x3d\\x3e \x22 + types.print(v));\n      if (idx \x3c map.size - 1) {\n        str \x3d str + \x22, \x22;\n      }\n      idx++;\n    });\n    return str + \x22}\x22;\n  };\n  types.printSet \x3d function(set) {\n    var idx \x3d 0;\n    var str \x3d \x22TransitSet {\x22;\n    set.forEach(function(v) {\n      str \x3d str + types.print(v);\n      if (idx \x3c set.size - 1) {\n        str \x3d str + \x22, \x22;\n      }\n      idx++;\n    });\n    return str + \x22}\x22;\n  };\n  types.TransitArrayMap \x3d function Transit$ArrayMap(entries) {\n    this._entries \x3d entries;\n    this.backingMap \x3d null;\n    this.hashCode \x3d -1;\n    this.size \x3d entries.length / 2;\n    this.accesses \x3d 0;\n  };\n  types.TransitArrayMap.prototype.toString \x3d function() {\n    return types.printMap(this);\n  };\n  types.TransitArrayMap.prototype[\x22inspect\x22] \x3d function() {\n    return this.toString();\n  };\n  types.TransitArrayMap.prototype.convert \x3d function() {\n    if (this.backingMap) {\n      throw Error(\x22Invalid operation, already converted\x22);\n    }\n    if (this.size \x3c types.SMALL_ARRAY_MAP_THRESHOLD) {\n      return false;\n    }\n    this.accesses++;\n    if (this.accesses \x3e types.ARRAY_MAP_ACCESS_THRESHOLD) {\n      this.backingMap \x3d types.map(this._entries, false, true);\n      this._entries \x3d [];\n      return true;\n    } else {\n      return false;\n    }\n  };\n  types.TransitArrayMap.prototype.clear \x3d function() {\n    this.hashCode \x3d -1;\n    if (this.backingMap) {\n      this.backingMap.clear();\n      this.size \x3d 0;\n    } else {\n      this._entries \x3d [];\n      this.size \x3d 0;\n    }\n  };\n  types.TransitArrayMap.prototype[\x22clear\x22] \x3d types.TransitArrayMap.prototype.clear;\n  types.TransitArrayMap.prototype.keys \x3d function() {\n    if (this.backingMap) {\n      return this.backingMap.keys();\n    } else {\n      return new types.TransitArrayMapIterator(this._entries, types.KEYS);\n    }\n  };\n  types.TransitArrayMap.prototype[\x22keys\x22] \x3d types.TransitArrayMap.prototype.keys;\n  types.TransitArrayMap.prototype.keySet \x3d function() {\n    if (this.backingMap) {\n      return this.backingMap.keySet();\n    } else {\n      var ret \x3d [];\n      var i \x3d 0;\n      var j \x3d 0;\n      for (; j \x3c this._entries.length; i++, j \x3d j + 2) {\n        ret[i] \x3d this._entries[j];\n      }\n      return ret;\n    }\n  };\n  types.TransitArrayMap.prototype[\x22keySet\x22] \x3d types.TransitArrayMap.prototype.keySet;\n  types.TransitArrayMap.prototype.entries \x3d function() {\n    if (this.backingMap) {\n      return this.backingMap.entries();\n    } else {\n      return new types.TransitArrayMapIterator(this._entries, types.ENTRIES);\n    }\n  };\n  types.TransitArrayMap.prototype[\x22entries\x22] \x3d types.TransitArrayMap.prototype.entries;\n  types.TransitArrayMap.prototype.values \x3d function() {\n    if (this.backingMap) {\n      return this.backingMap.values();\n    } else {\n      return new types.TransitArrayMapIterator(this._entries, types.VALUES);\n    }\n  };\n  types.TransitArrayMap.prototype[\x22values\x22] \x3d types.TransitArrayMap.prototype.values;\n  types.TransitArrayMap.prototype.forEach \x3d function(f) {\n    if (this.backingMap) {\n      this.backingMap.forEach(f);\n    } else {\n      var i \x3d 0;\n      for (; i \x3c this._entries.length; i \x3d i + 2) {\n        f(this._entries[i + 1], this._entries[i]);\n      }\n    }\n  };\n  types.TransitArrayMap.prototype[\x22forEach\x22] \x3d types.TransitArrayMap.prototype.forEach;\n  types.TransitArrayMap.prototype.get \x3d function(k, notFound) {\n    if (this.backingMap) {\n      return this.backingMap.get(k);\n    } else {\n      if (this.convert()) {\n        return this.get(k);\n      } else {\n        var i \x3d 0;\n        for (; i \x3c this._entries.length; i \x3d i + 2) {\n          if (eq.equals(this._entries[i], k)) {\n            return this._entries[i + 1];\n          }\n        }\n        return notFound;\n      }\n    }\n  };\n  types.TransitArrayMap.prototype[\x22get\x22] \x3d types.TransitArrayMap.prototype.get;\n  types.TransitArrayMap.prototype.has \x3d function(k) {\n    if (this.backingMap) {\n      return this.backingMap.has(k);\n    } else {\n      if (this.convert()) {\n        return this.has(k);\n      } else {\n        var i \x3d 0;\n        for (; i \x3c this._entries.length; i \x3d i + 2) {\n          if (eq.equals(this._entries[i], k)) {\n            return true;\n          }\n        }\n        return false;\n      }\n    }\n  };\n  types.TransitArrayMap.prototype[\x22has\x22] \x3d types.TransitArrayMap.prototype.has;\n  types.TransitArrayMap.prototype.set \x3d function(k, v) {\n    this.hashCode \x3d -1;\n    if (this.backingMap) {\n      this.backingMap.set(k, v);\n      this.size \x3d this.backingMap.size;\n    } else {\n      var i \x3d 0;\n      for (; i \x3c this._entries.length; i \x3d i + 2) {\n        if (eq.equals(this._entries[i], k)) {\n          this._entries[i + 1] \x3d v;\n          return;\n        }\n      }\n      this._entries.push(k);\n      this._entries.push(v);\n      this.size++;\n      if (this.size \x3e types.ARRAY_MAP_THRESHOLD) {\n        this.backingMap \x3d types.map(this._entries, false, true);\n        this._entries \x3d null;\n      }\n    }\n  };\n  types.TransitArrayMap.prototype[\x22set\x22] \x3d types.TransitArrayMap.prototype.set;\n  types.TransitArrayMap.prototype[\x22delete\x22] \x3d function(k) {\n    this.hashCode \x3d -1;\n    if (this.backingMap) {\n      var ret \x3d this.backingMap.delete(k);\n      this.size \x3d this.backingMap.size;\n      return ret;\n    } else {\n      var i \x3d 0;\n      for (; i \x3c this._entries.length; i \x3d i + 2) {\n        if (eq.equals(this._entries[i], k)) {\n          ret \x3d this._entries[i + 1];\n          this._entries.splice(i, 2);\n          this.size--;\n          return ret;\n        }\n      }\n    }\n  };\n  types.TransitArrayMap.prototype.clone \x3d function() {\n    var clone \x3d types.map();\n    this.forEach(function(v, k) {\n      clone.set(k, v);\n    });\n    return clone;\n  };\n  types.TransitArrayMap.prototype[\x22clone\x22] \x3d types.TransitArrayMap.prototype.clone;\n  types.TransitArrayMap.prototype[types.ITERATOR] \x3d function() {\n    return this.entries();\n  };\n  types.TransitArrayMap.prototype.com$cognitect$transit$hashCode \x3d function() {\n    if (this.backingMap) {\n      return this.backingMap.com$cognitect$transit$hashCode();\n    } else {\n      if (this.hashCode \x3d\x3d\x3d -1) {\n        this.hashCode \x3d eq.hashMapLike(this);\n      }\n      return this.hashCode;\n    }\n  };\n  types.TransitArrayMap.prototype.com$cognitect$transit$equals \x3d function(other) {\n    if (this.backingMap) {\n      return types.mapEquals(this.backingMap, other);\n    } else {\n      return types.mapEquals(this, other);\n    }\n  };\n  types.TransitMap \x3d function Transit$Map(keys, map, size) {\n    this.map \x3d map || {};\n    this._keys \x3d keys || [];\n    this.size \x3d size || 0;\n    this.hashCode \x3d -1;\n  };\n  types.TransitMap.prototype.toString \x3d function() {\n    return types.printMap(this);\n  };\n  types.TransitMap.prototype[\x22inspect\x22] \x3d function() {\n    return this.toString();\n  };\n  types.TransitMap.prototype.clear \x3d function() {\n    this.hashCode \x3d -1;\n    this.map \x3d {};\n    this._keys \x3d [];\n    this.size \x3d 0;\n  };\n  types.TransitMap.prototype[\x22clear\x22] \x3d types.TransitMap.prototype.clear;\n  types.TransitMap.prototype.getKeys \x3d function() {\n    if (this._keys !\x3d null) {\n      return this._keys;\n    } else {\n      return util.objectKeys(this.map);\n    }\n  };\n  types.TransitMap.prototype[\x22delete\x22] \x3d function(k) {\n    this.hashCode \x3d -1;\n    this._keys \x3d null;\n    var code \x3d eq.hashCode(k);\n    var bucket \x3d this.map[code];\n    var i \x3d 0;\n    for (; i \x3c bucket.length; i \x3d i + 2) {\n      if (eq.equals(k, bucket[i])) {\n        var ret \x3d bucket[i + 1];\n        bucket.splice(i, 2);\n        if (bucket.length \x3d\x3d\x3d 0) {\n          delete this.map[code];\n        }\n        this.size--;\n        return ret;\n      }\n    }\n  };\n  types.TransitMap.prototype.entries \x3d function() {\n    return new types.TransitMapIterator(this, types.ENTRIES);\n  };\n  types.TransitMap.prototype[\x22entries\x22] \x3d types.TransitMap.prototype.entries;\n  types.TransitMap.prototype.forEach \x3d function(callback) {\n    var ks \x3d this.getKeys();\n    var i \x3d 0;\n    for (; i \x3c ks.length; i++) {\n      var bucket \x3d this.map[ks[i]];\n      var j \x3d 0;\n      for (; j \x3c bucket.length; j \x3d j + 2) {\n        callback(bucket[j + 1], bucket[j], this);\n      }\n    }\n  };\n  types.TransitMap.prototype[\x22forEach\x22] \x3d types.TransitMap.prototype.forEach;\n  types.TransitMap.prototype.get \x3d function(k, notFound) {\n    var code \x3d eq.hashCode(k);\n    var bucket \x3d this.map[code];\n    if (bucket !\x3d null) {\n      var i \x3d 0;\n      for (; i \x3c bucket.length; i \x3d i + 2) {\n        if (eq.equals(k, bucket[i])) {\n          return bucket[i + 1];\n        }\n      }\n    } else {\n      return notFound;\n    }\n  };\n  types.TransitMap.prototype[\x22get\x22] \x3d types.TransitMap.prototype.get;\n  types.TransitMap.prototype.has \x3d function(k) {\n    var code \x3d eq.hashCode(k);\n    var bucket \x3d this.map[code];\n    if (bucket !\x3d null) {\n      var i \x3d 0;\n      for (; i \x3c bucket.length; i \x3d i + 2) {\n        if (eq.equals(k, bucket[i])) {\n          return true;\n        }\n      }\n      return false;\n    } else {\n      return false;\n    }\n  };\n  types.TransitMap.prototype[\x22has\x22] \x3d types.TransitMap.prototype.has;\n  types.TransitMap.prototype.keys \x3d function() {\n    return new types.TransitMapIterator(this, types.KEYS);\n  };\n  types.TransitMap.prototype[\x22keys\x22] \x3d types.TransitMap.prototype.keys;\n  types.TransitMap.prototype.keySet \x3d function() {\n    var keys \x3d this.getKeys();\n    var ret \x3d [];\n    var i \x3d 0;\n    for (; i \x3c keys.length; i++) {\n      var bucket \x3d this.map[keys[i]];\n      var j \x3d 0;\n      for (; j \x3c bucket.length; j \x3d j + 2) {\n        ret.push(bucket[j]);\n      }\n    }\n    return ret;\n  };\n  types.TransitMap.prototype[\x22keySet\x22] \x3d types.TransitMap.prototype.keySet;\n  types.TransitMap.prototype.set \x3d function(k, v) {\n    this.hashCode \x3d -1;\n    var code \x3d eq.hashCode(k);\n    var bucket \x3d this.map[code];\n    if (bucket \x3d\x3d null) {\n      if (this._keys) {\n        this._keys.push(code);\n      }\n      this.map[code] \x3d [k, v];\n      this.size++;\n    } else {\n      var newEntry \x3d true;\n      var i \x3d 0;\n      for (; i \x3c bucket.length; i \x3d i + 2) {\n        if (eq.equals(v, bucket[i])) {\n          newEntry \x3d false;\n          bucket[i] \x3d v;\n          break;\n        }\n      }\n      if (newEntry) {\n        bucket.push(k);\n        bucket.push(v);\n        this.size++;\n      }\n    }\n  };\n  types.TransitMap.prototype[\x22set\x22] \x3d types.TransitMap.prototype.set;\n  types.TransitMap.prototype.values \x3d function() {\n    return new types.TransitMapIterator(this, types.VALUES);\n  };\n  types.TransitMap.prototype[\x22values\x22] \x3d types.TransitMap.prototype.values;\n  types.TransitMap.prototype.clone \x3d function() {\n    var clone \x3d types.map();\n    this.forEach(function(v, k) {\n      clone.set(k, v);\n    });\n    return clone;\n  };\n  types.TransitMap.prototype[\x22clone\x22] \x3d types.TransitMap.prototype.clone;\n  types.TransitMap.prototype[types.ITERATOR] \x3d function() {\n    return this.entries();\n  };\n  types.TransitMap.prototype.com$cognitect$transit$hashCode \x3d function() {\n    if (this.hashCode \x3d\x3d\x3d -1) {\n      this.hashCode \x3d eq.hashMapLike(this);\n    }\n    return this.hashCode;\n  };\n  types.TransitMap.prototype.com$cognitect$transit$equals \x3d function(other) {\n    return types.mapEquals(this, other);\n  };\n  types.map \x3d function(arr, checkDups, hashMap) {\n    arr \x3d arr || [];\n    checkDups \x3d checkDups \x3d\x3d\x3d false ? checkDups : true;\n    hashMap \x3d hashMap \x3d\x3d\x3d true ? hashMap : false;\n    if (!hashMap \x26\x26 arr.length \x3c\x3d types.ARRAY_MAP_THRESHOLD * 2) {\n      if (checkDups) {\n        var t \x3d arr;\n        arr \x3d [];\n        var i \x3d 0;\n        for (; i \x3c t.length; i \x3d i + 2) {\n          var seen \x3d false;\n          var j \x3d 0;\n          for (; j \x3c arr.length; j \x3d j + 2) {\n            if (eq.equals(arr[j], t[i])) {\n              arr[j + 1] \x3d t[i + 1];\n              seen \x3d true;\n              break;\n            }\n          }\n          if (!seen) {\n            arr.push(t[i]);\n            arr.push(t[i + 1]);\n          }\n        }\n      }\n      return new types.TransitArrayMap(arr);\n    } else {\n      var map \x3d {};\n      var keys \x3d [];\n      var size \x3d 0;\n      i \x3d 0;\n      for (; i \x3c arr.length; i \x3d i + 2) {\n        var code \x3d eq.hashCode(arr[i]);\n        var bucket \x3d map[code];\n        if (bucket \x3d\x3d null) {\n          keys.push(code);\n          map[code] \x3d [arr[i], arr[i + 1]];\n          size++;\n        } else {\n          var newEntry \x3d true;\n          j \x3d 0;\n          for (; j \x3c bucket.length; j \x3d j + 2) {\n            if (eq.equals(bucket[j], arr[i])) {\n              bucket[j + 1] \x3d arr[i + 1];\n              newEntry \x3d false;\n              break;\n            }\n          }\n          if (newEntry) {\n            bucket.push(arr[i]);\n            bucket.push(arr[i + 1]);\n            size++;\n          }\n        }\n      }\n      return new types.TransitMap(keys, map, size);\n    }\n  };\n  types.isArrayMap \x3d function(x) {\n    return x instanceof types.TransitArrayMap;\n  };\n  types.isMap \x3d function(x) {\n    return x instanceof types.TransitArrayMap || x instanceof types.TransitMap;\n  };\n  types.TransitSet \x3d function Transit$Set(map) {\n    this.map \x3d map;\n    this.size \x3d map.size;\n  };\n  types.TransitSet.prototype.toString \x3d function() {\n    return types.printSet(this);\n  };\n  types.TransitSet.prototype[\x22inspect\x22] \x3d function() {\n    return this.toString();\n  };\n  types.TransitSet.prototype.add \x3d function(value) {\n    this.map.set(value, value);\n    this.size \x3d this.map.size;\n  };\n  types.TransitSet.prototype[\x22add\x22] \x3d types.TransitSet.prototype.add;\n  types.TransitSet.prototype.clear \x3d function() {\n    this.map \x3d new types.TransitMap();\n    this.size \x3d 0;\n  };\n  types.TransitSet.prototype[\x22clear\x22] \x3d types.TransitSet.prototype.clear;\n  types.TransitSet.prototype[\x22delete\x22] \x3d function(value) {\n    var ret \x3d this.map.delete(value);\n    this.size \x3d this.map.size;\n    return ret;\n  };\n  types.TransitSet.prototype.entries \x3d function() {\n    return this.map.entries();\n  };\n  types.TransitSet.prototype[\x22entries\x22] \x3d types.TransitSet.prototype.entries;\n  types.TransitSet.prototype.forEach \x3d function(iterator, thisArg) {\n    var self \x3d this;\n    this.map.forEach(function(v, k, m) {\n      iterator(k, self);\n    });\n  };\n  types.TransitSet.prototype[\x22forEach\x22] \x3d types.TransitSet.prototype.forEach;\n  types.TransitSet.prototype.has \x3d function(value) {\n    return this.map.has(value);\n  };\n  types.TransitSet.prototype[\x22has\x22] \x3d types.TransitSet.prototype.has;\n  types.TransitSet.prototype.keys \x3d function() {\n    return this.map.keys();\n  };\n  types.TransitSet.prototype[\x22keys\x22] \x3d types.TransitSet.prototype.keys;\n  types.TransitSet.prototype.keySet \x3d function() {\n    return this.map.keySet();\n  };\n  types.TransitSet.prototype[\x22keySet\x22] \x3d types.TransitSet.prototype.keySet;\n  types.TransitSet.prototype.values \x3d function() {\n    return this.map.values();\n  };\n  types.TransitSet.prototype[\x22values\x22] \x3d types.TransitSet.prototype.values;\n  types.TransitSet.prototype.clone \x3d function() {\n    var clone \x3d types.set();\n    this.forEach(function(k) {\n      clone.add(k);\n    });\n    return clone;\n  };\n  types.TransitSet.prototype[\x22clone\x22] \x3d types.TransitSet.prototype.clone;\n  types.TransitSet.prototype[types.ITERATOR] \x3d function() {\n    return this.values();\n  };\n  types.TransitSet.prototype.com$cognitect$transit$equals \x3d function(other) {\n    if (other instanceof types.TransitSet) {\n      if (this.size \x3d\x3d\x3d other.size) {\n        return eq.equals(this.map, other.map);\n      }\n    } else {\n      return false;\n    }\n  };\n  types.TransitSet.prototype.com$cognitect$transit$hashCode \x3d function(other) {\n    return eq.hashCode(this.map);\n  };\n  types.set \x3d function(arr) {\n    arr \x3d arr || [];\n    var map \x3d {};\n    var keys \x3d [];\n    var size \x3d 0;\n    var i \x3d 0;\n    for (; i \x3c arr.length; i++) {\n      var code \x3d eq.hashCode(arr[i]);\n      var vals \x3d map[code];\n      if (vals \x3d\x3d null) {\n        keys.push(code);\n        map[code] \x3d [arr[i], arr[i]];\n        size++;\n      } else {\n        var newEntry \x3d true;\n        var j \x3d 0;\n        for (; j \x3c vals.length; j \x3d j + 2) {\n          if (eq.equals(vals[j], arr[i])) {\n            newEntry \x3d false;\n            break;\n          }\n        }\n        if (newEntry) {\n          vals.push(arr[i]);\n          vals.push(arr[i]);\n          size++;\n        }\n      }\n    }\n    return new types.TransitSet(new types.TransitMap(keys, map, size));\n  };\n  types.isSet \x3d function(x) {\n    return x instanceof types.TransitSet;\n  };\n  types.quoted \x3d function(obj) {\n    return types.taggedValue(\x22\x27\x22, obj);\n  };\n  types.isQuoted \x3d function(x) {\n    return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22\x27\x22;\n  };\n  types.list \x3d function(xs) {\n    return types.taggedValue(\x22list\x22, xs);\n  };\n  types.isList \x3d function(x) {\n    return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22list\x22;\n  };\n  types.link \x3d function(rep) {\n    return types.taggedValue(\x22link\x22, rep);\n  };\n  types.isLink \x3d function(x) {\n    return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22link\x22;\n  };\n  types.specialDouble \x3d function(v) {\n    switch(v) {\n      case \x22-INF\x22:\n        return -Infinity;\n      case \x22INF\x22:\n        return Infinity;\n      case \x22NaN\x22:\n        return NaN;\n      default:\n        throw new Error(\x22Invalid special double value \x22 + v);\n        break;\n    }\n  };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.impl.decoder.js", true, "goog.provide(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.scope(function() {\n  var decoder \x3d com.cognitect.transit.impl.decoder;\n  var util \x3d com.cognitect.transit.util;\n  var d \x3d com.cognitect.transit.delimiters;\n  var caching \x3d com.cognitect.transit.caching;\n  var types \x3d com.cognitect.transit.types;\n  decoder.Tag \x3d function Transit$Tag(s) {\n    this.str \x3d s;\n  };\n  decoder.tag \x3d function(s) {\n    return new decoder.Tag(s);\n  };\n  decoder.isTag \x3d function(x) {\n    return x \x26\x26 x instanceof decoder.Tag;\n  };\n  decoder.isGroundHandler \x3d function(handler) {\n    switch(handler) {\n      case \x22_\x22:\n      case \x22s\x22:\n      case \x22?\x22:\n      case \x22i\x22:\n      case \x22d\x22:\n      case \x22b\x22:\n      case \x22\x27\x22:\n      case \x22array\x22:\n      case \x22map\x22:\n        return true;\n    }\n    return false;\n  };\n  decoder.Decoder \x3d function Transit$Decoder(options) {\n    this.options \x3d options || {};\n    this.handlers \x3d {};\n    var h;\n    for (h in this.defaults.handlers) {\n      this.handlers[h] \x3d this.defaults.handlers[h];\n    }\n    for (h in this.options[\x22handlers\x22]) {\n      if (decoder.isGroundHandler(h)) {\n        throw new Error(\x27Cannot override handler for ground type \x22\x27 + h + \x27\x22\x27);\n      }\n      this.handlers[h] \x3d this.options[\x22handlers\x22][h];\n    }\n    this.preferStrings \x3d this.options[\x22preferStrings\x22] !\x3d null ? this.options[\x22preferStrings\x22] : this.defaults.preferStrings;\n    this.preferBuffers \x3d this.options[\x22preferBuffers\x22] !\x3d null ? this.options[\x22preferBuffers\x22] : this.defaults.preferBuffers;\n    this.defaultHandler \x3d this.options[\x22defaultHandler\x22] || this.defaults.defaultHandler;\n    this.mapBuilder \x3d this.options[\x22mapBuilder\x22];\n    this.arrayBuilder \x3d this.options[\x22arrayBuilder\x22];\n  };\n  decoder.Decoder.prototype.defaults \x3d {handlers:{\x22_\x22:function(v, d) {\n    return types.nullValue();\n  }, \x22?\x22:function(v, d) {\n    return types.boolValue(v);\n  }, \x22b\x22:function(v, d) {\n    return types.binary(v, d);\n  }, \x22i\x22:function(v, d) {\n    return types.intValue(v);\n  }, \x22n\x22:function(v, d) {\n    return types.bigInteger(v);\n  }, \x22d\x22:function(v, d) {\n    return types.floatValue(v);\n  }, \x22f\x22:function(v, d) {\n    return types.bigDecimalValue(v);\n  }, \x22c\x22:function(v, d) {\n    return types.charValue(v);\n  }, \x22:\x22:function(v, d) {\n    return types.keyword(v);\n  }, \x22$\x22:function(v, d) {\n    return types.symbol(v);\n  }, \x22r\x22:function(v, d) {\n    return types.uri(v);\n  }, \x22z\x22:function(v, d) {\n    return types.specialDouble(v);\n  }, \x22\x27\x22:function(v, d) {\n    return v;\n  }, \x22m\x22:function(v, d) {\n    return types.date(v);\n  }, \x22t\x22:function(v, d) {\n    return types.verboseDate(v);\n  }, \x22u\x22:function(v, d) {\n    return types.uuid(v);\n  }, \x22set\x22:function(v, d) {\n    return types.set(v);\n  }, \x22list\x22:function(v, d) {\n    return types.list(v);\n  }, \x22link\x22:function(v, d) {\n    return types.link(v);\n  }, \x22cmap\x22:function(v, d) {\n    return types.map(v, false);\n  }}, defaultHandler:function(c, val) {\n    return types.taggedValue(c, val);\n  }, preferStrings:true, preferBuffers:true};\n  decoder.Decoder.prototype.decode \x3d function(node, cache, asMapKey, tagValue) {\n    if (node \x3d\x3d null) {\n      return null;\n    }\n    var t \x3d typeof node;\n    switch(t) {\n      case \x22string\x22:\n        return this.decodeString(node, cache, asMapKey, tagValue);\n        break;\n      case \x22object\x22:\n        if (util.isArray(node)) {\n          if (node[0] \x3d\x3d\x3d \x22^ \x22) {\n            return this.decodeArrayHash(node, cache, asMapKey, tagValue);\n          } else {\n            return this.decodeArray(node, cache, asMapKey, tagValue);\n          }\n        } else {\n          return this.decodeHash(node, cache, asMapKey, tagValue);\n        }\n        break;\n    }\n    return node;\n  };\n  decoder.Decoder.prototype[\x22decode\x22] \x3d decoder.Decoder.prototype.decode;\n  decoder.Decoder.prototype.decodeString \x3d function(string, cache, asMapKey, tagValue) {\n    if (caching.isCacheable(string, asMapKey)) {\n      var val \x3d this.parseString(string, cache, false);\n      if (cache) {\n        cache.write(val, asMapKey);\n      }\n      return val;\n    } else if (caching.isCacheCode(string)) {\n      return cache.read(string, asMapKey);\n    } else {\n      return this.parseString(string, cache, asMapKey);\n    }\n  };\n  decoder.Decoder.prototype.decodeHash \x3d function(hash, cache, asMapKey, tagValue) {\n    var ks \x3d util.objectKeys(hash);\n    var key \x3d ks[0];\n    var tag \x3d ks.length \x3d\x3d 1 ? this.decode(key, cache, false, false) : null;\n    if (decoder.isTag(tag)) {\n      var val \x3d hash[key];\n      var handler \x3d this.handlers[tag.str];\n      if (handler !\x3d null) {\n        return handler(this.decode(val, cache, false, true), this);\n      } else {\n        return types.taggedValue(tag.str, this.decode(val, cache, false, false));\n      }\n    } else if (this.mapBuilder) {\n      if (ks.length \x3c types.SMALL_ARRAY_MAP_THRESHOLD * 2 \x26\x26 this.mapBuilder.fromArray) {\n        var nodep \x3d [];\n        var i \x3d 0;\n        for (; i \x3c ks.length; i++) {\n          var strKey \x3d ks[i];\n          nodep.push(this.decode(strKey, cache, true, false));\n          nodep.push(this.decode(hash[strKey], cache, false, false));\n        }\n        return this.mapBuilder.fromArray(nodep, hash);\n      } else {\n        var ret \x3d this.mapBuilder.init(hash);\n        i \x3d 0;\n        for (; i \x3c ks.length; i++) {\n          strKey \x3d ks[i];\n          ret \x3d this.mapBuilder.add(ret, this.decode(strKey, cache, true, false), this.decode(hash[strKey], cache, false, false), hash);\n        }\n        return this.mapBuilder.finalize(ret, hash);\n      }\n    } else {\n      nodep \x3d [];\n      i \x3d 0;\n      for (; i \x3c ks.length; i++) {\n        strKey \x3d ks[i];\n        nodep.push(this.decode(strKey, cache, true, false));\n        nodep.push(this.decode(hash[strKey], cache, false, false));\n      }\n      return types.map(nodep, false);\n    }\n  };\n  decoder.Decoder.prototype.decodeArrayHash \x3d function(node, cache, asMapKey, tagValue) {\n    if (this.mapBuilder) {\n      if (node.length \x3c types.SMALL_ARRAY_MAP_THRESHOLD * 2 + 1 \x26\x26 this.mapBuilder.fromArray) {\n        var nodep \x3d [];\n        var i \x3d 1;\n        for (; i \x3c node.length; i \x3d i + 2) {\n          nodep.push(this.decode(node[i], cache, true, false));\n          nodep.push(this.decode(node[i + 1], cache, false, false));\n        }\n        return this.mapBuilder.fromArray(nodep, node);\n      } else {\n        var ret \x3d this.mapBuilder.init(node);\n        i \x3d 1;\n        for (; i \x3c node.length; i \x3d i + 2) {\n          ret \x3d this.mapBuilder.add(ret, this.decode(node[i], cache, true, false), this.decode(node[i + 1], cache, false, false), node);\n        }\n        return this.mapBuilder.finalize(ret, node);\n      }\n    } else {\n      nodep \x3d [];\n      i \x3d 1;\n      for (; i \x3c node.length; i \x3d i + 2) {\n        nodep.push(this.decode(node[i], cache, true, false));\n        nodep.push(this.decode(node[i + 1], cache, false, false));\n      }\n      return types.map(nodep, false);\n    }\n  };\n  decoder.Decoder.prototype.decodeArray \x3d function(node, cache, asMapKey, tagValue) {\n    if (tagValue) {\n      var ret \x3d [];\n      var i \x3d 0;\n      for (; i \x3c node.length; i++) {\n        ret.push(this.decode(node[i], cache, asMapKey, false));\n      }\n      return ret;\n    } else {\n      var cacheIdx \x3d cache \x26\x26 cache.idx;\n      if (node.length \x3d\x3d\x3d 2 \x26\x26 typeof node[0] \x3d\x3d\x3d \x22string\x22) {\n        var tag \x3d this.decode(node[0], cache, false, false);\n        if (decoder.isTag(tag)) {\n          var val \x3d node[1];\n          var handler \x3d this.handlers[tag.str];\n          if (handler !\x3d null) {\n            ret \x3d handler(this.decode(val, cache, asMapKey, true), this);\n            return ret;\n          } else {\n            return types.taggedValue(tag.str, this.decode(val, cache, asMapKey, false));\n          }\n        }\n      }\n      if (cache \x26\x26 cacheIdx !\x3d cache.idx) {\n        cache.idx \x3d cacheIdx;\n      }\n      if (this.arrayBuilder) {\n        if (node.length \x3c\x3d 32 \x26\x26 this.arrayBuilder.fromArray) {\n          var arr \x3d [];\n          i \x3d 0;\n          for (; i \x3c node.length; i++) {\n            arr.push(this.decode(node[i], cache, asMapKey, false));\n          }\n          return this.arrayBuilder.fromArray(arr, node);\n        } else {\n          ret \x3d this.arrayBuilder.init(node);\n          i \x3d 0;\n          for (; i \x3c node.length; i++) {\n            ret \x3d this.arrayBuilder.add(ret, this.decode(node[i], cache, asMapKey, false), node);\n          }\n          return this.arrayBuilder.finalize(ret, node);\n        }\n      } else {\n        ret \x3d [];\n        i \x3d 0;\n        for (; i \x3c node.length; i++) {\n          ret.push(this.decode(node[i], cache, asMapKey, false));\n        }\n        return ret;\n      }\n    }\n  };\n  decoder.Decoder.prototype.parseString \x3d function(string, cache, asMapKey) {\n    if (string.charAt(0) \x3d\x3d\x3d d.ESC) {\n      var c \x3d string.charAt(1);\n      if (c \x3d\x3d\x3d d.ESC || c \x3d\x3d\x3d d.SUB || c \x3d\x3d\x3d d.RES) {\n        return string.substring(1);\n      } else if (c \x3d\x3d\x3d d.TAG) {\n        return decoder.tag(string.substring(2));\n      } else {\n        var handler \x3d this.handlers[c];\n        if (handler \x3d\x3d null) {\n          return this.defaultHandler(c, string.substring(2));\n        } else {\n          return handler(string.substring(2), this);\n        }\n      }\n    } else {\n      return string;\n    }\n  };\n  decoder.decoder \x3d function(options) {\n    return new decoder.Decoder(options);\n  };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.impl.reader.js", true, "goog.provide(\x22com.cognitect.transit.impl.reader\x22);\ngoog.require(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.scope(function() {\n  var reader \x3d com.cognitect.transit.impl.reader;\n  var decoder \x3d com.cognitect.transit.impl.decoder;\n  var caching \x3d com.cognitect.transit.caching;\n  reader.JSONUnmarshaller \x3d function Transit$JSONUnmarshaller(opts) {\n    this.decoder \x3d new decoder.Decoder(opts);\n  };\n  reader.JSONUnmarshaller.prototype.unmarshal \x3d function(str, cache) {\n    return this.decoder.decode(JSON.parse(str), cache);\n  };\n  reader.Reader \x3d function Transit$Reader(unmarshaller, options) {\n    this.unmarshaller \x3d unmarshaller;\n    this.options \x3d options || {};\n    this.cache \x3d this.options[\x22cache\x22] ? this.options[\x22cache\x22] : new caching.ReadCache();\n  };\n  reader.Reader.prototype.read \x3d function(str) {\n    var ret \x3d this.unmarshaller.unmarshal(str, this.cache);\n    this.cache.clear();\n    return ret;\n  };\n  reader.Reader.prototype[\x22read\x22] \x3d reader.Reader.prototype.read;\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.handlers.js", true, "goog.provide(\x22com.cognitect.transit.handlers\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n  var handlers \x3d com.cognitect.transit.handlers;\n  var util \x3d com.cognitect.transit.util;\n  var types \x3d com.cognitect.transit.types;\n  var Long \x3d goog.math.Long;\n  handlers.ctorGuid \x3d 0;\n  handlers.ctorGuidProperty \x3d \x22transit$guid$\x22 + util.randomUUID();\n  handlers.typeTag \x3d function(ctor) {\n    if (ctor \x3d\x3d null) {\n      return \x22null\x22;\n    } else if (ctor \x3d\x3d\x3d String) {\n      return \x22string\x22;\n    } else if (ctor \x3d\x3d\x3d Boolean) {\n      return \x22boolean\x22;\n    } else if (ctor \x3d\x3d\x3d Number) {\n      return \x22number\x22;\n    } else if (ctor \x3d\x3d\x3d Array) {\n      return \x22array\x22;\n    } else if (ctor \x3d\x3d\x3d Object) {\n      return \x22map\x22;\n    } else {\n      var tag \x3d ctor[handlers.ctorGuidProperty];\n      if (tag \x3d\x3d null) {\n        if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n          tag \x3d ++handlers.ctorGuid;\n          Object.defineProperty(ctor, handlers.ctorGuidProperty, {value:tag, enumerable:false});\n        } else {\n          ctor[handlers.ctorGuidProperty] \x3d tag \x3d ++handlers.ctorGuid;\n        }\n      }\n      return tag;\n    }\n  };\n  handlers.constructor \x3d function(x) {\n    if (x \x3d\x3d null) {\n      return null;\n    } else {\n      return x.constructor;\n    }\n  };\n  handlers.padZeros \x3d function(n, m) {\n    var s \x3d n.toString();\n    var i \x3d s.length;\n    for (; i \x3c m; i++) {\n      s \x3d \x220\x22 + s;\n    }\n    return s;\n  };\n  handlers.stringableKeys \x3d function(m) {\n    var stringable \x3d false;\n    var ks \x3d util.objectKeys(m);\n    var i \x3d 0;\n    for (; i \x3c ks.length; i++) {\n    }\n    return true;\n  };\n  handlers.NilHandler \x3d function Transit$NilHandler() {\n  };\n  handlers.NilHandler.prototype.tag \x3d function(v) {\n    return \x22_\x22;\n  };\n  handlers.NilHandler.prototype.rep \x3d function(v) {\n    return null;\n  };\n  handlers.NilHandler.prototype.stringRep \x3d function(v) {\n    return \x22null\x22;\n  };\n  handlers.StringHandler \x3d function Transit$StringHandler() {\n  };\n  handlers.StringHandler.prototype.tag \x3d function(v) {\n    return \x22s\x22;\n  };\n  handlers.StringHandler.prototype.rep \x3d function(v) {\n    return v;\n  };\n  handlers.StringHandler.prototype.stringRep \x3d function(v) {\n    return v;\n  };\n  handlers.NumberHandler \x3d function Transit$NumberHandler() {\n  };\n  handlers.NumberHandler.prototype.tag \x3d function(v) {\n    return \x22i\x22;\n  };\n  handlers.NumberHandler.prototype.rep \x3d function(v) {\n    return v;\n  };\n  handlers.NumberHandler.prototype.stringRep \x3d function(v) {\n    return v.toString();\n  };\n  handlers.IntegerHandler \x3d function Transit$IntegerHandler() {\n  };\n  handlers.IntegerHandler.prototype.tag \x3d function(v) {\n    return \x22i\x22;\n  };\n  handlers.IntegerHandler.prototype.rep \x3d function(v) {\n    return v.toString();\n  };\n  handlers.IntegerHandler.prototype.stringRep \x3d function(v) {\n    return v.toString();\n  };\n  handlers.BooleanHandler \x3d function Transit$BooleanHandler() {\n  };\n  handlers.BooleanHandler.prototype.tag \x3d function(v) {\n    return \x22?\x22;\n  };\n  handlers.BooleanHandler.prototype.rep \x3d function(v) {\n    return v;\n  };\n  handlers.BooleanHandler.prototype.stringRep \x3d function(v) {\n    return v.toString();\n  };\n  handlers.ArrayHandler \x3d function Transit$ArrayHandler() {\n  };\n  handlers.ArrayHandler.prototype.tag \x3d function(v) {\n    return \x22array\x22;\n  };\n  handlers.ArrayHandler.prototype.rep \x3d function(v) {\n    return v;\n  };\n  handlers.ArrayHandler.prototype.stringRep \x3d function(v) {\n    return null;\n  };\n  handlers.MapHandler \x3d function Transit$MapHandler() {\n  };\n  handlers.MapHandler.prototype.tag \x3d function(v) {\n    return \x22map\x22;\n  };\n  handlers.MapHandler.prototype.rep \x3d function(v) {\n    return v;\n  };\n  handlers.MapHandler.prototype.stringRep \x3d function(v) {\n    return null;\n  };\n  handlers.VerboseDateHandler \x3d function Transit$VerboseDateHandler() {\n  };\n  handlers.VerboseDateHandler.prototype.tag \x3d function(v) {\n    return \x22t\x22;\n  };\n  handlers.VerboseDateHandler.prototype.rep \x3d function(v) {\n    return v.getUTCFullYear() + \x22-\x22 + handlers.padZeros(v.getUTCMonth() + 1, 2) + \x22-\x22 + handlers.padZeros(v.getUTCDate(), 2) + \x22T\x22 + handlers.padZeros(v.getUTCHours(), 2) + \x22:\x22 + handlers.padZeros(v.getUTCMinutes(), 2) + \x22:\x22 + handlers.padZeros(v.getUTCSeconds(), 2) + \x22.\x22 + handlers.padZeros(v.getUTCMilliseconds(), 3) + \x22Z\x22;\n  };\n  handlers.VerboseDateHandler.prototype.stringRep \x3d function(v, h) {\n    return h.rep(v);\n  };\n  handlers.DateHandler \x3d function Transit$DateHandler() {\n  };\n  handlers.DateHandler.prototype.tag \x3d function(v) {\n    return \x22m\x22;\n  };\n  handlers.DateHandler.prototype.rep \x3d function(v) {\n    return v.valueOf();\n  };\n  handlers.DateHandler.prototype.stringRep \x3d function(v) {\n    return v.valueOf().toString();\n  };\n  handlers.DateHandler.prototype.getVerboseHandler \x3d function(v) {\n    return new handlers.VerboseDateHandler();\n  };\n  handlers.UUIDHandler \x3d function Transit$UUIDHandler() {\n  };\n  handlers.UUIDHandler.prototype.tag \x3d function(v) {\n    return \x22u\x22;\n  };\n  handlers.UUIDHandler.prototype.rep \x3d function(v) {\n    return v.toString();\n  };\n  handlers.UUIDHandler.prototype.stringRep \x3d function(v) {\n    return v.toString();\n  };\n  handlers.KeywordHandler \x3d function Transit$KeywordHandler() {\n  };\n  handlers.KeywordHandler.prototype.tag \x3d function(v) {\n    return \x22:\x22;\n  };\n  handlers.KeywordHandler.prototype.rep \x3d function(v) {\n    return v._name;\n  };\n  handlers.KeywordHandler.prototype.stringRep \x3d function(v, h) {\n    return h.rep(v);\n  };\n  handlers.SymbolHandler \x3d function Transit$SymbolHandler() {\n  };\n  handlers.SymbolHandler.prototype.tag \x3d function(v) {\n    return \x22$\x22;\n  };\n  handlers.SymbolHandler.prototype.rep \x3d function(v) {\n    return v._name;\n  };\n  handlers.SymbolHandler.prototype.stringRep \x3d function(v, h) {\n    return h.rep(v);\n  };\n  handlers.TaggedHandler \x3d function Transit$TaggedHandler() {\n  };\n  handlers.TaggedHandler.prototype.tag \x3d function(v) {\n    return v.tag;\n  };\n  handlers.TaggedHandler.prototype.rep \x3d function(v) {\n    return v.rep;\n  };\n  handlers.TaggedHandler.prototype.stringRep \x3d function(v, h) {\n    return null;\n  };\n  handlers.TransitSetHandler \x3d function Transit$TransitSetHandler() {\n  };\n  handlers.TransitSetHandler.prototype.tag \x3d function(v) {\n    return \x22set\x22;\n  };\n  handlers.TransitSetHandler.prototype.rep \x3d function(v) {\n    var arr \x3d [];\n    v.forEach(function(key, set) {\n      arr.push(key);\n    });\n    return types.taggedValue(\x22array\x22, arr);\n  };\n  handlers.TransitSetHandler.prototype.stringRep \x3d function(v, h) {\n    return null;\n  };\n  handlers.TransitArrayMapHandler \x3d function Transit$ArrayMapHandler() {\n  };\n  handlers.TransitArrayMapHandler.prototype.tag \x3d function(v) {\n    return \x22map\x22;\n  };\n  handlers.TransitArrayMapHandler.prototype.rep \x3d function(v) {\n    return v;\n  };\n  handlers.TransitArrayMapHandler.prototype.stringRep \x3d function(v, h) {\n    return null;\n  };\n  handlers.TransitMapHandler \x3d function Transit$MapHandler() {\n  };\n  handlers.TransitMapHandler.prototype.tag \x3d function(v) {\n    return \x22map\x22;\n  };\n  handlers.TransitMapHandler.prototype.rep \x3d function(v) {\n    return v;\n  };\n  handlers.TransitMapHandler.prototype.stringRep \x3d function(v, h) {\n    return null;\n  };\n  handlers.BufferHandler \x3d function Transit$BufferHandler() {\n  };\n  handlers.BufferHandler.prototype.tag \x3d function(v) {\n    return \x22b\x22;\n  };\n  handlers.BufferHandler.prototype.rep \x3d function(v) {\n    return v.toString(\x22base64\x22);\n  };\n  handlers.BufferHandler.prototype.stringRep \x3d function(v, h) {\n    return null;\n  };\n  handlers.Uint8ArrayHandler \x3d function Transit$Uint8ArrayHandler() {\n  };\n  handlers.Uint8ArrayHandler.prototype.tag \x3d function(v) {\n    return \x22b\x22;\n  };\n  handlers.Uint8ArrayHandler.prototype.rep \x3d function(v) {\n    return util.Uint8ToBase64(v);\n  };\n  handlers.Uint8ArrayHandler.prototype.stringRep \x3d function(v, h) {\n    return null;\n  };\n  handlers.defaultHandlers \x3d function(hs) {\n    hs.set(null, new handlers.NilHandler());\n    hs.set(String, new handlers.StringHandler());\n    hs.set(Number, new handlers.NumberHandler());\n    hs.set(Long, new handlers.IntegerHandler());\n    hs.set(Boolean, new handlers.BooleanHandler());\n    hs.set(Array, new handlers.ArrayHandler());\n    hs.set(Object, new handlers.MapHandler());\n    hs.set(Date, new handlers.DateHandler());\n    hs.set(types.UUID, new handlers.UUIDHandler());\n    hs.set(types.Keyword, new handlers.KeywordHandler());\n    hs.set(types.Symbol, new handlers.SymbolHandler());\n    hs.set(types.TaggedValue, new handlers.TaggedHandler());\n    hs.set(types.TransitSet, new handlers.TransitSetHandler());\n    hs.set(types.TransitArrayMap, new handlers.TransitArrayMapHandler());\n    hs.set(types.TransitMap, new handlers.TransitMapHandler());\n    if (typeof goog.global.Buffer !\x3d \x22undefined\x22) {\n      hs.set(goog.global.Buffer, new handlers.BufferHandler());\n    }\n    if (typeof Uint8Array !\x3d \x22undefined\x22) {\n      hs.set(Uint8Array, new handlers.Uint8ArrayHandler());\n    }\n    return hs;\n  };\n  handlers.Handlers \x3d function Transit$Handlers() {\n    this.handlers \x3d {};\n    handlers.defaultHandlers(this);\n  };\n  handlers.Handlers.prototype.get \x3d function(ctor) {\n    var h \x3d null;\n    if (typeof ctor \x3d\x3d\x3d \x22string\x22) {\n      h \x3d this.handlers[ctor];\n    } else {\n      h \x3d this.handlers[handlers.typeTag(ctor)];\n    }\n    if (h !\x3d null) {\n      return h;\n    } else {\n      return this.handlers[\x22default\x22];\n    }\n  };\n  handlers.Handlers.prototype[\x22get\x22] \x3d handlers.Handlers.prototype.get;\n  handlers.validTag \x3d function(tag) {\n    switch(tag) {\n      case \x22null\x22:\n      case \x22string\x22:\n      case \x22boolean\x22:\n      case \x22number\x22:\n      case \x22array\x22:\n      case \x22map\x22:\n        return false;\n        break;\n    }\n    return true;\n  };\n  handlers.Handlers.prototype.set \x3d function(ctor, handler) {\n    if (typeof ctor \x3d\x3d\x3d \x22string\x22 \x26\x26 handlers.validTag(ctor)) {\n      this.handlers[ctor] \x3d handler;\n    } else {\n      this.handlers[handlers.typeTag(ctor)] \x3d handler;\n    }\n  };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.impl.writer.js", true, "goog.provide(\x22com.cognitect.transit.impl.writer\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.handlers\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n  var writer \x3d com.cognitect.transit.impl.writer;\n  var util \x3d com.cognitect.transit.util;\n  var caching \x3d com.cognitect.transit.caching;\n  var handlers \x3d com.cognitect.transit.handlers;\n  var types \x3d com.cognitect.transit.types;\n  var d \x3d com.cognitect.transit.delimiters;\n  var Long \x3d goog.math.Long;\n  writer.escape \x3d function(string) {\n    if (string.length \x3e 0) {\n      var c \x3d string.charAt(0);\n      if (c \x3d\x3d\x3d d.ESC || c \x3d\x3d\x3d d.SUB || c \x3d\x3d\x3d d.RES) {\n        return d.ESC + string;\n      } else {\n        return string;\n      }\n    } else {\n      return string;\n    }\n  };\n  writer.JSONMarshaller \x3d function Transit$JSONMarshaller(opts) {\n    this.opts \x3d opts || {};\n    this.preferStrings \x3d this.opts[\x22preferStrings\x22] !\x3d null ? this.opts[\x22preferStrings\x22] : true;\n    this.objectBuilder \x3d this.opts[\x22objectBuilder\x22] || null;\n    this.transform \x3d this.opts[\x22transform\x22] || null;\n    this.handlers \x3d new handlers.Handlers();\n    var optsHandlers \x3d this.opts[\x22handlers\x22];\n    if (optsHandlers) {\n      if (util.isArray(optsHandlers) || !optsHandlers.forEach) {\n        throw new Error(\x27transit writer \x22handlers\x22 option must be a map\x27);\n      }\n      var self \x3d this;\n      optsHandlers.forEach(function(v, k) {\n        if (k !\x3d\x3d undefined) {\n          self.handlers.set(k, v);\n        } else {\n          throw new Error(\x22Cannot create handler for JavaScript undefined\x22);\n        }\n      });\n    }\n    this.handlerForForeign \x3d this.opts[\x22handlerForForeign\x22];\n    this.unpack \x3d this.opts[\x22unpack\x22] || function(x) {\n      if (types.isArrayMap(x) \x26\x26 x.backingMap \x3d\x3d\x3d null) {\n        return x._entries;\n      } else {\n        return false;\n      }\n    };\n    this.verbose \x3d this.opts \x26\x26 this.opts[\x22verbose\x22] || false;\n  };\n  writer.JSONMarshaller.prototype.handler \x3d function(obj) {\n    var h \x3d this.handlers.get(handlers.constructor(obj));\n    if (h !\x3d null) {\n      return h;\n    } else {\n      var tag \x3d obj \x26\x26 obj[\x22transitTag\x22];\n      if (tag) {\n        return this.handlers.get(tag);\n      } else {\n        return null;\n      }\n    }\n  };\n  writer.JSONMarshaller.prototype.registerHandler \x3d function(ctor, handler) {\n    this.handlers.set(ctor, handler);\n  };\n  writer.JSONMarshaller.prototype.emitNil \x3d function(asMapKey, cache) {\n    if (asMapKey) {\n      return this.emitString(d.ESC, \x22_\x22, \x22\x22, asMapKey, cache);\n    } else {\n      return null;\n    }\n  };\n  writer.JSONMarshaller.prototype.emitString \x3d function(prefix, tag, s, asMapKey, cache) {\n    var string \x3d prefix + tag + s;\n    if (cache) {\n      return cache.write(string, asMapKey);\n    } else {\n      return string;\n    }\n  };\n  writer.JSONMarshaller.prototype.emitBoolean \x3d function(b, asMapKey, cache) {\n    if (asMapKey) {\n      var s \x3d b.toString();\n      return this.emitString(d.ESC, \x22?\x22, s[0], asMapKey, cache);\n    } else {\n      return b;\n    }\n  };\n  writer.JSONMarshaller.prototype.emitInteger \x3d function(i, asMapKey, cache) {\n    if (i \x3d\x3d\x3d Infinity) {\n      return this.emitString(d.ESC, \x22z\x22, \x22INF\x22, asMapKey, cache);\n    } else if (i \x3d\x3d\x3d -Infinity) {\n      return this.emitString(d.ESC, \x22z\x22, \x22-INF\x22, asMapKey, cache);\n    } else if (isNaN(i)) {\n      return this.emitString(d.ESC, \x22z\x22, \x22NaN\x22, asMapKey, cache);\n    } else if (asMapKey || typeof i \x3d\x3d\x3d \x22string\x22 || i instanceof Long) {\n      return this.emitString(d.ESC, \x22i\x22, i.toString(), asMapKey, cache);\n    } else {\n      return i;\n    }\n  };\n  writer.JSONMarshaller.prototype.emitDouble \x3d function(d, asMapKey, cache) {\n    if (asMapKey) {\n      return this.emitString(d.ESC, \x22d\x22, d, asMapKey, cache);\n    } else {\n      return d;\n    }\n  };\n  writer.JSONMarshaller.prototype.emitBinary \x3d function(b, asMapKey, cache) {\n    return this.emitString(d.ESC, \x22b\x22, b, asMapKey, cache);\n  };\n  writer.JSONMarshaller.prototype.emitQuoted \x3d function(em, obj, cache) {\n    if (em.verbose) {\n      var ret \x3d {};\n      var k \x3d this.emitString(d.ESC_TAG, \x22\x27\x22, \x22\x22, true, cache);\n      ret[k] \x3d writer.marshal(this, obj, false, cache);\n      return ret;\n    } else {\n      return [this.emitString(d.ESC_TAG, \x22\x27\x22, \x22\x22, true, cache), writer.marshal(this, obj, false, cache)];\n    }\n  };\n  writer.emitObjects \x3d function(em, iterable, cache) {\n    var ret \x3d [];\n    if (util.isArray(iterable)) {\n      var i \x3d 0;\n      for (; i \x3c iterable.length; i++) {\n        ret.push(writer.marshal(em, iterable[i], false, cache));\n      }\n    } else {\n      iterable.forEach(function(v, i) {\n        ret.push(writer.marshal(em, v, false, cache));\n      });\n    }\n    return ret;\n  };\n  writer.emitArray \x3d function(em, iterable, skip, cache) {\n    return writer.emitObjects(em, iterable, cache);\n  };\n  writer.isStringableKey \x3d function(em, k) {\n    if (typeof k !\x3d\x3d \x22string\x22) {\n      var h \x3d em.handler(k);\n      return h \x26\x26 h.tag(k).length \x3d\x3d\x3d 1;\n    } else {\n      return true;\n    }\n  };\n  writer.stringableKeys \x3d function(em, obj) {\n    var arr \x3d em.unpack(obj);\n    var stringableKeys \x3d true;\n    if (arr) {\n      var i \x3d 0;\n      for (; i \x3c arr.length; i \x3d i + 2) {\n        stringableKeys \x3d writer.isStringableKey(em, arr[i]);\n        if (!stringableKeys) {\n          break;\n        }\n      }\n      return stringableKeys;\n    } else if (obj.keys) {\n      var iter \x3d obj.keys();\n      var step \x3d null;\n      if (iter.next) {\n        step \x3d iter.next();\n        for (; !step.done;) {\n          stringableKeys \x3d writer.isStringableKey(em, step.value);\n          if (!stringableKeys) {\n            break;\n          }\n          step \x3d iter.next();\n        }\n        return stringableKeys;\n      }\n    }\n    if (obj.forEach) {\n      obj.forEach(function(v, k) {\n        stringableKeys \x3d stringableKeys \x26\x26 writer.isStringableKey(em, k);\n      });\n      return stringableKeys;\n    } else {\n      throw new Error(\x22Cannot walk keys of object type \x22 + handlers.constructor(obj).name);\n    }\n  };\n  writer.isForeignObject \x3d function(x) {\n    if (x.constructor[\x22transit$isObject\x22]) {\n      return true;\n    }\n    var ret \x3d x.constructor.toString();\n    ret \x3d ret.substr(\x22function \x22.length);\n    ret \x3d ret.substr(0, ret.indexOf(\x22(\x22));\n    var isObject \x3d ret \x3d\x3d \x22Object\x22;\n    if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n      Object.defineProperty(x.constructor, \x22transit$isObject\x22, {value:isObject, enumerable:false});\n    } else {\n      x.constructor[\x22transit$isObject\x22] \x3d isObject;\n    }\n    return isObject;\n  };\n  writer.emitMap \x3d function(em, obj, skip, cache) {\n    var arr \x3d null;\n    var rep \x3d null;\n    var tag \x3d null;\n    var ks \x3d null;\n    var i \x3d 0;\n    if (obj.constructor \x3d\x3d\x3d Object || obj.forEach !\x3d null || em.handlerForForeign \x26\x26 writer.isForeignObject(obj)) {\n      if (em.verbose) {\n        if (obj.forEach !\x3d null) {\n          if (writer.stringableKeys(em, obj)) {\n            var ret \x3d {};\n            obj.forEach(function(v, k) {\n              ret[writer.marshal(em, k, true, false)] \x3d writer.marshal(em, v, false, cache);\n            });\n            return ret;\n          } else {\n            arr \x3d em.unpack(obj);\n            rep \x3d [];\n            tag \x3d em.emitString(d.ESC_TAG, \x22cmap\x22, \x22\x22, true, cache);\n            if (arr) {\n              for (; i \x3c arr.length; i \x3d i + 2) {\n                rep.push(writer.marshal(em, arr[i], false, false));\n                rep.push(writer.marshal(em, arr[i + 1], false, cache));\n              }\n            } else {\n              obj.forEach(function(v, k) {\n                rep.push(writer.marshal(em, k, false, false));\n                rep.push(writer.marshal(em, v, false, cache));\n              });\n            }\n            ret \x3d {};\n            ret[tag] \x3d rep;\n            return ret;\n          }\n        } else {\n          ks \x3d util.objectKeys(obj);\n          ret \x3d {};\n          for (; i \x3c ks.length; i++) {\n            ret[writer.marshal(em, ks[i], true, false)] \x3d writer.marshal(em, obj[ks[i]], false, cache);\n          }\n          return ret;\n        }\n      } else {\n        if (obj.forEach !\x3d null) {\n          if (writer.stringableKeys(em, obj)) {\n            arr \x3d em.unpack(obj);\n            ret \x3d [\x22^ \x22];\n            if (arr) {\n              for (; i \x3c arr.length; i \x3d i + 2) {\n                ret.push(writer.marshal(em, arr[i], true, cache));\n                ret.push(writer.marshal(em, arr[i + 1], false, cache));\n              }\n            } else {\n              obj.forEach(function(v, k) {\n                ret.push(writer.marshal(em, k, true, cache));\n                ret.push(writer.marshal(em, v, false, cache));\n              });\n            }\n            return ret;\n          } else {\n            arr \x3d em.unpack(obj);\n            rep \x3d [];\n            tag \x3d em.emitString(d.ESC_TAG, \x22cmap\x22, \x22\x22, true, cache);\n            if (arr) {\n              for (; i \x3c arr.length; i \x3d i + 2) {\n                rep.push(writer.marshal(em, arr[i], false, cache));\n                rep.push(writer.marshal(em, arr[i + 1], false, cache));\n              }\n            } else {\n              obj.forEach(function(v, k) {\n                rep.push(writer.marshal(em, k, false, cache));\n                rep.push(writer.marshal(em, v, false, cache));\n              });\n            }\n            return [tag, rep];\n          }\n        } else {\n          ret \x3d [\x22^ \x22];\n          ks \x3d util.objectKeys(obj);\n          for (; i \x3c ks.length; i++) {\n            ret.push(writer.marshal(em, ks[i], true, cache));\n            ret.push(writer.marshal(em, obj[ks[i]], false, cache));\n          }\n          return ret;\n        }\n      }\n    } else if (em.objectBuilder !\x3d null) {\n      return em.objectBuilder(obj, function(k) {\n        return writer.marshal(em, k, true, cache);\n      }, function(v) {\n        return writer.marshal(em, v, false, cache);\n      });\n    } else {\n      var name \x3d handlers.constructor(obj).name;\n      var err \x3d new Error(\x22Cannot write \x22 + name);\n      err.data \x3d {obj:obj, type:name};\n      throw err;\n    }\n  };\n  writer.emitTaggedMap \x3d function(em, tag, rep, skip, cache) {\n    if (em.verbose) {\n      var ret \x3d {};\n      ret[em.emitString(d.ESC_TAG, tag, \x22\x22, true, cache)] \x3d writer.marshal(em, rep, false, cache);\n      return ret;\n    } else {\n      return [em.emitString(d.ESC_TAG, tag, \x22\x22, true, cache), writer.marshal(em, rep, false, cache)];\n    }\n  };\n  writer.emitEncoded \x3d function(em, h, tag, rep, obj, asMapKey, cache) {\n    if (tag.length \x3d\x3d\x3d 1) {\n      if (typeof rep \x3d\x3d\x3d \x22string\x22) {\n        return em.emitString(d.ESC, tag, rep, asMapKey, cache);\n      } else if (asMapKey || em.preferStrings) {\n        var vh \x3d em.verbose \x26\x26 h.getVerboseHandler();\n        if (vh) {\n          tag \x3d vh.tag(obj);\n          rep \x3d vh.stringRep(obj, vh);\n        } else {\n          rep \x3d h.stringRep(obj, h);\n        }\n        if (rep !\x3d\x3d null) {\n          return em.emitString(d.ESC, tag, rep, asMapKey, cache);\n        } else {\n          var err \x3d new Error(\x27Tag \x22\x27 + tag + \x27\x22 cannot be encoded as string\x27);\n          err.data \x3d {tag:tag, rep:rep, obj:obj};\n          throw err;\n        }\n      } else {\n        return writer.emitTaggedMap(em, tag, rep, asMapKey, cache);\n      }\n    } else {\n      return writer.emitTaggedMap(em, tag, rep, asMapKey, cache);\n    }\n  };\n  writer.marshal \x3d function(em, obj, asMapKey, cache) {\n    if (em.transform !\x3d\x3d null) {\n      obj \x3d em.transform(obj);\n    }\n    var h \x3d em.handler(obj) || (em.handlerForForeign ? em.handlerForForeign(obj, em.handlers) : null);\n    var tag \x3d h ? h.tag(obj) : null;\n    var rep \x3d h ? h.rep(obj) : null;\n    if (h !\x3d null \x26\x26 tag !\x3d null) {\n      switch(tag) {\n        case \x22_\x22:\n          return em.emitNil(asMapKey, cache);\n          break;\n        case \x22s\x22:\n          return em.emitString(\x22\x22, \x22\x22, writer.escape(rep), asMapKey, cache);\n          break;\n        case \x22?\x22:\n          return em.emitBoolean(rep, asMapKey, cache);\n          break;\n        case \x22i\x22:\n          return em.emitInteger(rep, asMapKey, cache);\n          break;\n        case \x22d\x22:\n          return em.emitDouble(rep, asMapKey, cache);\n          break;\n        case \x22b\x22:\n          return em.emitBinary(rep, asMapKey, cache);\n          break;\n        case \x22\x27\x22:\n          return em.emitQuoted(em, rep, cache);\n          break;\n        case \x22array\x22:\n          return writer.emitArray(em, rep, asMapKey, cache);\n          break;\n        case \x22map\x22:\n          return writer.emitMap(em, rep, asMapKey, cache);\n          break;\n        default:\n          return writer.emitEncoded(em, h, tag, rep, obj, asMapKey, cache);\n          break;\n      }\n    } else {\n      var name \x3d handlers.constructor(obj).name;\n      var err \x3d new Error(\x22Cannot write \x22 + name);\n      err.data \x3d {obj:obj, type:name};\n      throw err;\n    }\n  };\n  writer.maybeQuoted \x3d function(em, obj) {\n    var h \x3d em.handler(obj) || (em.handlerForForeign ? em.handlerForForeign(obj, em.handlers) : null);\n    if (h !\x3d null) {\n      if (h.tag(obj).length \x3d\x3d\x3d 1) {\n        return types.quoted(obj);\n      } else {\n        return obj;\n      }\n    } else {\n      var name \x3d handlers.constructor(obj).name;\n      var err \x3d new Error(\x22Cannot write \x22 + name);\n      err.data \x3d {obj:obj, type:name};\n      throw err;\n    }\n  };\n  writer.marshalTop \x3d function(em, obj, asMapKey, cache) {\n    return JSON.stringify(writer.marshal(em, writer.maybeQuoted(em, obj), asMapKey, cache));\n  };\n  writer.Writer \x3d function Transit$Writer(marshaller, options) {\n    this._marshaller \x3d marshaller;\n    this.options \x3d options || {};\n    if (this.options[\x22cache\x22] \x3d\x3d\x3d false) {\n      this.cache \x3d null;\n    } else {\n      this.cache \x3d this.options[\x22cache\x22] ? this.options[\x22cache\x22] : new caching.WriteCache();\n    }\n  };\n  writer.Writer.prototype.marshaller \x3d function() {\n    return this._marshaller;\n  };\n  writer.Writer.prototype[\x22marshaller\x22] \x3d writer.Writer.prototype.marshaller;\n  writer.Writer.prototype.write \x3d function(obj, opts) {\n    var ret \x3d null;\n    var ropts \x3d opts || {};\n    var asMapKey \x3d ropts[\x22asMapKey\x22] || false;\n    var cache \x3d this._marshaller.verbose ? false : this.cache;\n    if (ropts[\x22marshalTop\x22] \x3d\x3d\x3d false) {\n      ret \x3d writer.marshal(this._marshaller, obj, asMapKey, cache);\n    } else {\n      ret \x3d writer.marshalTop(this._marshaller, obj, asMapKey, cache);\n    }\n    if (this.cache !\x3d null) {\n      this.cache.clear();\n    }\n    return ret;\n  };\n  writer.Writer.prototype[\x22write\x22] \x3d writer.Writer.prototype.write;\n  writer.Writer.prototype.register \x3d function(type, handler) {\n    this._marshaller.registerHandler(type, handler);\n  };\n  writer.Writer.prototype[\x22register\x22] \x3d writer.Writer.prototype.register;\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.js", true, "goog.provide(\x22com.cognitect.transit\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.impl.reader\x22);\ngoog.require(\x22com.cognitect.transit.impl.writer\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\nvar TRANSIT_DEV \x3d true;\nvar TRANSIT_NODE_TARGET \x3d false;\nvar TRANSIT_BROWSER_TARGET \x3d false;\nvar TRANSIT_BROWSER_AMD_TARGET \x3d false;\ngoog.scope(function() {\n  var transit \x3d com.cognitect.transit;\n  var util \x3d com.cognitect.transit.util;\n  var reader \x3d com.cognitect.transit.impl.reader;\n  var writer \x3d com.cognitect.transit.impl.writer;\n  var decoder \x3d com.cognitect.transit.impl.decoder;\n  var types \x3d com.cognitect.transit.types;\n  var eq \x3d com.cognitect.transit.eq;\n  var caching \x3d com.cognitect.transit.caching;\n  transit.MapLike;\n  transit.SetLike;\n  transit.reader \x3d function(type, opts) {\n    if (type \x3d\x3d\x3d \x22json\x22 || type \x3d\x3d\x3d \x22json-verbose\x22 || type \x3d\x3d null) {\n      type \x3d \x22json\x22;\n      var unmarshaller \x3d new reader.JSONUnmarshaller(opts);\n      return new reader.Reader(unmarshaller, opts);\n    } else {\n      throw new Error(\x22Cannot create reader of type \x22 + type);\n    }\n  };\n  transit.writer \x3d function(type, opts) {\n    if (type \x3d\x3d\x3d \x22json\x22 || type \x3d\x3d\x3d \x22json-verbose\x22 || type \x3d\x3d null) {\n      if (type \x3d\x3d\x3d \x22json-verbose\x22) {\n        if (opts \x3d\x3d null) {\n          opts \x3d {};\n        }\n        opts[\x22verbose\x22] \x3d true;\n      }\n      var marshaller \x3d new writer.JSONMarshaller(opts);\n      return new writer.Writer(marshaller, opts);\n    } else {\n      var err \x3d new Error(\x27Type must be \x22json\x22\x27);\n      err.data \x3d {type:type};\n      throw err;\n    }\n  };\n  transit.makeWriteHandler \x3d function(obj) {\n    var Handler \x3d function() {\n    };\n    Handler.prototype.tag \x3d obj[\x22tag\x22];\n    Handler.prototype.rep \x3d obj[\x22rep\x22];\n    Handler.prototype.stringRep \x3d obj[\x22stringRep\x22];\n    Handler.prototype.getVerboseHandler \x3d obj[\x22getVerboseHandler\x22];\n    return new Handler();\n  };\n  transit.makeBuilder \x3d function(obj) {\n    var Builder \x3d function() {\n    };\n    Builder.prototype.init \x3d obj[\x22init\x22];\n    Builder.prototype.add \x3d obj[\x22add\x22];\n    Builder.prototype.finalize \x3d obj[\x22finalize\x22];\n    Builder.prototype.fromArray \x3d obj[\x22fromArray\x22];\n    return new Builder();\n  };\n  transit.date \x3d types.date;\n  transit.integer \x3d types.intValue;\n  transit.isInteger \x3d types.isInteger;\n  transit.uuid \x3d types.uuid;\n  transit.isUUID \x3d types.isUUID;\n  transit.bigInt \x3d types.bigInteger;\n  transit.isBigInt \x3d types.isBigInteger;\n  transit.bigDec \x3d types.bigDecimalValue;\n  transit.isBigDec \x3d types.isBigDecimal;\n  transit.keyword \x3d types.keyword;\n  transit.isKeyword \x3d types.isKeyword;\n  transit.symbol \x3d types.symbol;\n  transit.isSymbol \x3d types.isSymbol;\n  transit.binary \x3d types.binary;\n  transit.isBinary \x3d types.isBinary;\n  transit.uri \x3d types.uri;\n  transit.isURI \x3d types.isURI;\n  transit.map \x3d types.map;\n  transit.isMap \x3d types.isMap;\n  transit.set \x3d types.set;\n  transit.isSet \x3d types.isSet;\n  transit.list \x3d types.list;\n  transit.isList \x3d types.isList;\n  transit.quoted \x3d types.quoted;\n  transit.isQuoted \x3d types.isQuoted;\n  transit.tagged \x3d types.taggedValue;\n  transit.isTaggedValue \x3d types.isTaggedValue;\n  transit.link \x3d types.link;\n  transit.isLink \x3d types.isLink;\n  transit.hash \x3d eq.hashCode;\n  transit.hashMapLike \x3d eq.hashMapLike;\n  transit.hashArrayLike \x3d eq.hashArrayLike;\n  transit.equals \x3d eq.equals;\n  transit.extendToEQ \x3d eq.extendToEQ;\n  transit.mapToObject \x3d function(m) {\n    var ret \x3d {};\n    m.forEach(function(v, k) {\n      if (typeof k !\x3d\x3d \x22string\x22) {\n        throw Error(\x22Cannot convert map with non-string keys\x22);\n      } else {\n        ret[k] \x3d v;\n      }\n    });\n    return ret;\n  };\n  transit.objectToMap \x3d function(obj) {\n    var ret \x3d transit.map();\n    var p;\n    for (p in obj) {\n      if (obj.hasOwnProperty(p)) {\n        ret.set(p, obj[p]);\n      }\n    }\n    return ret;\n  };\n  transit.decoder \x3d decoder.decoder;\n  transit.readCache \x3d caching.readCache;\n  transit.writeCache \x3d caching.writeCache;\n  transit.UUIDfromString \x3d types.UUIDfromString;\n  transit.randomUUID \x3d util.randomUUID;\n  transit.stringableKeys \x3d writer.stringableKeys;\n  if (TRANSIT_BROWSER_TARGET) {\n    goog.exportSymbol(\x22transit.reader\x22, transit.reader);\n    goog.exportSymbol(\x22transit.writer\x22, transit.writer);\n    goog.exportSymbol(\x22transit.makeBuilder\x22, transit.makeBuilder);\n    goog.exportSymbol(\x22transit.makeWriteHandler\x22, transit.makeWriteHandler);\n    goog.exportSymbol(\x22transit.date\x22, types.date);\n    goog.exportSymbol(\x22transit.integer\x22, types.intValue);\n    goog.exportSymbol(\x22transit.isInteger\x22, types.isInteger);\n    goog.exportSymbol(\x22transit.uuid\x22, types.uuid);\n    goog.exportSymbol(\x22transit.isUUID\x22, types.isUUID);\n    goog.exportSymbol(\x22transit.bigInt\x22, types.bigInteger);\n    goog.exportSymbol(\x22transit.isBigInt\x22, types.isBigInteger);\n    goog.exportSymbol(\x22transit.bigDec\x22, types.bigDecimalValue);\n    goog.exportSymbol(\x22transit.isBigDec\x22, types.isBigDecimal);\n    goog.exportSymbol(\x22transit.keyword\x22, types.keyword);\n    goog.exportSymbol(\x22transit.isKeyword\x22, types.isKeyword);\n    goog.exportSymbol(\x22transit.symbol\x22, types.symbol);\n    goog.exportSymbol(\x22transit.isSymbol\x22, types.isSymbol);\n    goog.exportSymbol(\x22transit.binary\x22, types.binary);\n    goog.exportSymbol(\x22transit.isBinary\x22, types.isBinary);\n    goog.exportSymbol(\x22transit.uri\x22, types.uri);\n    goog.exportSymbol(\x22transit.isURI\x22, types.isURI);\n    goog.exportSymbol(\x22transit.map\x22, types.map);\n    goog.exportSymbol(\x22transit.isMap\x22, types.isMap);\n    goog.exportSymbol(\x22transit.set\x22, types.set);\n    goog.exportSymbol(\x22transit.isSet\x22, types.isSet);\n    goog.exportSymbol(\x22transit.list\x22, types.list);\n    goog.exportSymbol(\x22transit.isList\x22, types.isList);\n    goog.exportSymbol(\x22transit.quoted\x22, types.quoted);\n    goog.exportSymbol(\x22transit.isQuoted\x22, types.isQuoted);\n    goog.exportSymbol(\x22transit.tagged\x22, types.taggedValue);\n    goog.exportSymbol(\x22transit.isTaggedValue\x22, types.isTaggedValue);\n    goog.exportSymbol(\x22transit.link\x22, types.link);\n    goog.exportSymbol(\x22transit.isLink\x22, types.isLink);\n    goog.exportSymbol(\x22transit.hash\x22, eq.hashCode);\n    goog.exportSymbol(\x22transit.hashMapLike\x22, eq.hashMapLike);\n    goog.exportSymbol(\x22transit.hashArrayLike\x22, eq.hashArrayLike);\n    goog.exportSymbol(\x22transit.equals\x22, eq.equals);\n    goog.exportSymbol(\x22transit.extendToEQ\x22, eq.extendToEQ);\n    goog.exportSymbol(\x22transit.mapToObject\x22, transit.mapToObject);\n    goog.exportSymbol(\x22transit.objectToMap\x22, transit.objectToMap);\n    goog.exportSymbol(\x22transit.decoder\x22, decoder.decoder);\n    goog.exportSymbol(\x22transit.UUIDfromString\x22, types.UUIDfromString);\n    goog.exportSymbol(\x22transit.randomUUID\x22, util.randomUUID);\n    goog.exportSymbol(\x22transit.stringableKeys\x22, writer.stringableKeys);\n    goog.exportSymbol(\x22transit.readCache\x22, caching.readCache);\n    goog.exportSymbol(\x22transit.writeCache\x22, caching.writeCache);\n  }\n  if (TRANSIT_NODE_TARGET) {\n    module.exports \x3d {reader:transit.reader, writer:transit.writer, makeBuilder:transit.makeBuilder, makeWriteHandler:transit.makeWriteHandler, date:types.date, integer:types.intValue, isInteger:types.isInteger, uuid:types.uuid, isUUID:types.isUUID, bigInt:types.bigInteger, isBigInt:types.isBigInteger, bigDec:types.bigDecimalValue, isBigDec:types.isBigDecimal, keyword:types.keyword, isKeyword:types.isKeyword, symbol:types.symbol, isSymbol:types.isSymbol, binary:types.binary, isBinary:types.isBinary, \n    uri:types.uri, isURI:types.isURI, map:types.map, isMap:types.isMap, set:types.set, isSet:types.isSet, list:types.list, isList:types.isList, quoted:types.quoted, isQuoted:types.isQuoted, tagged:types.taggedValue, isTaggedValue:types.isTaggedValue, link:types.link, isLink:types.isLink, hash:eq.hashCode, hashArrayLike:eq.hashArrayLike, hashMapLike:eq.hashMapLike, equals:eq.equals, extendToEQ:eq.extendToEQ, mapToObject:transit.mapToObject, objectToMap:transit.objectToMap, decoder:decoder.decoder, \n    UUIDfromString:types.UUIDfromString, randomUUID:util.randomUUID, stringableKeys:writer.stringableKeys, readCache:caching.readCache, writeCache:caching.writeCache};\n  }\n});\n");
SHADOW_ENV.evalLoad("cognitect.transit.js", true, "goog.provide(\x27cognitect.transit\x27);\ngoog.scope(function(){\n  cognitect.transit.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n  cognitect.transit.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n});\n(cljs.core.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.uuid);\n} else {\nif((other instanceof com.cognitect.transit.types.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.toString());\n} else {\nreturn false;\n\n}\n}\n}));\n(cljs.core.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn other.cljs$core$IEquiv$_equiv$arity$2(null,this$__$1);\n} else {\nreturn this$__$1.equiv(other);\n}\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.hash(this$__$1.toString());\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (uuid,writer,_){\nvar uuid__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(uuid__$1.toString()),\x22\\\x22\x22].join(\x27\x27));\n}));\ncognitect.transit.opts_merge \x3d (function cognitect$transit$opts_merge(a,b){\nvar seq__34938_35295 \x3d cljs.core.seq(cljs.core.js_keys(b));\nvar chunk__34940_35296 \x3d null;\nvar count__34941_35297 \x3d (0);\nvar i__34942_35298 \x3d (0);\nwhile(true){\nif((i__34942_35298 \x3c count__34941_35297)){\nvar k_35300 \x3d chunk__34940_35296.cljs$core$IIndexed$_nth$arity$2(null,i__34942_35298);\nvar v_35301 \x3d cognitect.transit.goog$module$goog$object.get(b,k_35300);\ncognitect.transit.goog$module$goog$object.set(a,k_35300,v_35301);\n\n\nvar G__35302 \x3d seq__34938_35295;\nvar G__35303 \x3d chunk__34940_35296;\nvar G__35304 \x3d count__34941_35297;\nvar G__35305 \x3d (i__34942_35298 + (1));\nseq__34938_35295 \x3d G__35302;\nchunk__34940_35296 \x3d G__35303;\ncount__34941_35297 \x3d G__35304;\ni__34942_35298 \x3d G__35305;\ncontinue;\n} else {\nvar temp__5804__auto___35307 \x3d cljs.core.seq(seq__34938_35295);\nif(temp__5804__auto___35307){\nvar seq__34938_35308__$1 \x3d temp__5804__auto___35307;\nif(cljs.core.chunked_seq_QMARK_(seq__34938_35308__$1)){\nvar c__5548__auto___35309 \x3d cljs.core.chunk_first(seq__34938_35308__$1);\nvar G__35311 \x3d cljs.core.chunk_rest(seq__34938_35308__$1);\nvar G__35312 \x3d c__5548__auto___35309;\nvar G__35313 \x3d cljs.core.count(c__5548__auto___35309);\nvar G__35314 \x3d (0);\nseq__34938_35295 \x3d G__35311;\nchunk__34940_35296 \x3d G__35312;\ncount__34941_35297 \x3d G__35313;\ni__34942_35298 \x3d G__35314;\ncontinue;\n} else {\nvar k_35315 \x3d cljs.core.first(seq__34938_35308__$1);\nvar v_35316 \x3d cognitect.transit.goog$module$goog$object.get(b,k_35315);\ncognitect.transit.goog$module$goog$object.set(a,k_35315,v_35316);\n\n\nvar G__35318 \x3d cljs.core.next(seq__34938_35308__$1);\nvar G__35319 \x3d null;\nvar G__35320 \x3d (0);\nvar G__35321 \x3d (0);\nseq__34938_35295 \x3d G__35318;\nchunk__34940_35296 \x3d G__35319;\ncount__34941_35297 \x3d G__35320;\ni__34942_35298 \x3d G__35321;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn a;\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.MapBuilder \x3d (function (){\n});\n(cognitect.transit.MapBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cognitect.transit.MapBuilder.prototype.add \x3d (function (m,k,v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}));\n\n(cognitect.transit.MapBuilder.prototype.finalize \x3d (function (m,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(m);\n}));\n\n(cognitect.transit.MapBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3 ? cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3(arr,true,true) : cljs.core.PersistentArrayMap.fromArray.call(null,arr,true,true));\n}));\n\n(cognitect.transit.MapBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapBuilder\x22);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/MapBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapBuilder.\n */\ncognitect.transit.__GT_MapBuilder \x3d (function cognitect$transit$__GT_MapBuilder(){\nreturn (new cognitect.transit.MapBuilder());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorBuilder \x3d (function (){\n});\n(cognitect.transit.VectorBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.add \x3d (function (v,x,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,x);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.finalize \x3d (function (v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(v);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2 ? cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2(arr,true) : cljs.core.PersistentVector.fromArray.call(null,arr,true));\n}));\n\n(cognitect.transit.VectorBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorBuilder\x22);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/VectorBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorBuilder.\n */\ncognitect.transit.__GT_VectorBuilder \x3d (function cognitect$transit$__GT_VectorBuilder(){\nreturn (new cognitect.transit.VectorBuilder());\n});\n\n/**\n * Return a transit reader. type may be either :json or :json-verbose.\n * opts may be a map optionally containing a :handlers entry. The value\n * of :handlers should be map from string tag to a decoder function of one\n * argument which returns the in-memory representation of the semantic transit\n * value. If a :default handler is provided, it will be used when no matching\n * read handler can be found.\n */\ncognitect.transit.reader \x3d (function cognitect$transit$reader(var_args){\nvar G__34986 \x3d arguments.length;\nswitch (G__34986) {\ncase 1:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nreturn com.cognitect.transit.reader(cljs.core.name(type),cognitect.transit.opts_merge(({\x22handlers\x22: cljs.core.clj__GT_js(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 6, [\x22$\x22,(function (v){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22:\x22,(function (v){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22set\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,v);\n}),\x22list\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.List.EMPTY,v.reverse());\n}),\x22cmap\x22,(function (v){\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c v.length)){\nvar G__35339 \x3d (i + (2));\nvar G__35340 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,(v[i]),(v[(i + (1))]));\ni \x3d G__35339;\nret \x3d G__35340;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(ret);\n}\nbreak;\n}\n}),\x22with-meta\x22,(function (v){\nreturn cljs.core.with_meta((v[(0)]),(v[(1)]));\n})], null),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))], 0))), \x22defaultHandler\x22: new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)), \x22mapBuilder\x22: (new cognitect.transit.MapBuilder()), \x22arrayBuilder\x22: (new cognitect.transit.VectorBuilder()), \x22preferStrings\x22: false, \x22preferBuffers\x22: false}),cljs.core.clj__GT_js(clojure.set.rename_keys(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22array-builder\x22,\x22array-builder\x22,1275998041),new cljs.core.Keyword(null,\x22arrayBuilder\x22,\x22arrayBuilder\x22,1446317421),new cljs.core.Keyword(null,\x22map-builder\x22,\x22map-builder\x22,-1843343288),new cljs.core.Keyword(null,\x22mapBuilder\x22,\x22mapBuilder\x22,-278083754),new cljs.core.Keyword(null,\x22prefer-strings\x22,\x22prefer-strings\x22,1254507185),new cljs.core.Keyword(null,\x22preferStrings\x22,\x22preferStrings\x22,-1532249482),new cljs.core.Keyword(null,\x22prefer-buffers\x22,\x22prefer-buffers\x22,377042081),new cljs.core.Keyword(null,\x22preferBuffers\x22,\x22preferBuffers\x22,1843176451)], null)))));\n}));\n\n(cognitect.transit.reader.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Read a transit encoded string into ClojureScript values given a\n * transit reader.\n */\ncognitect.transit.read \x3d (function cognitect$transit$read(r,str){\nreturn r.read(str);\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.KeywordHandler \x3d (function (){\n});\n(cognitect.transit.KeywordHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22:\x22;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.KeywordHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/KeywordHandler\x22);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/KeywordHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/KeywordHandler.\n */\ncognitect.transit.__GT_KeywordHandler \x3d (function cognitect$transit$__GT_KeywordHandler(){\nreturn (new cognitect.transit.KeywordHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SymbolHandler \x3d (function (){\n});\n(cognitect.transit.SymbolHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22$\x22;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SymbolHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SymbolHandler\x22);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/SymbolHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SymbolHandler.\n */\ncognitect.transit.__GT_SymbolHandler \x3d (function cognitect$transit$__GT_SymbolHandler(){\nreturn (new cognitect.transit.SymbolHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.ListHandler \x3d (function (){\n});\n(cognitect.transit.ListHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22list\x22;\n}));\n\n(cognitect.transit.ListHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__35010_35343 \x3d cljs.core.seq(v);\nvar chunk__35011_35344 \x3d null;\nvar count__35012_35345 \x3d (0);\nvar i__35013_35346 \x3d (0);\nwhile(true){\nif((i__35013_35346 \x3c count__35012_35345)){\nvar x_35347 \x3d chunk__35011_35344.cljs$core$IIndexed$_nth$arity$2(null,i__35013_35346);\nret.push(x_35347);\n\n\nvar G__35348 \x3d seq__35010_35343;\nvar G__35349 \x3d chunk__35011_35344;\nvar G__35350 \x3d count__35012_35345;\nvar G__35351 \x3d (i__35013_35346 + (1));\nseq__35010_35343 \x3d G__35348;\nchunk__35011_35344 \x3d G__35349;\ncount__35012_35345 \x3d G__35350;\ni__35013_35346 \x3d G__35351;\ncontinue;\n} else {\nvar temp__5804__auto___35352 \x3d cljs.core.seq(seq__35010_35343);\nif(temp__5804__auto___35352){\nvar seq__35010_35353__$1 \x3d temp__5804__auto___35352;\nif(cljs.core.chunked_seq_QMARK_(seq__35010_35353__$1)){\nvar c__5548__auto___35354 \x3d cljs.core.chunk_first(seq__35010_35353__$1);\nvar G__35355 \x3d cljs.core.chunk_rest(seq__35010_35353__$1);\nvar G__35356 \x3d c__5548__auto___35354;\nvar G__35357 \x3d cljs.core.count(c__5548__auto___35354);\nvar G__35358 \x3d (0);\nseq__35010_35343 \x3d G__35355;\nchunk__35011_35344 \x3d G__35356;\ncount__35012_35345 \x3d G__35357;\ni__35013_35346 \x3d G__35358;\ncontinue;\n} else {\nvar x_35359 \x3d cljs.core.first(seq__35010_35353__$1);\nret.push(x_35359);\n\n\nvar G__35360 \x3d cljs.core.next(seq__35010_35353__$1);\nvar G__35361 \x3d null;\nvar G__35362 \x3d (0);\nvar G__35363 \x3d (0);\nseq__35010_35343 \x3d G__35360;\nchunk__35011_35344 \x3d G__35361;\ncount__35012_35345 \x3d G__35362;\ni__35013_35346 \x3d G__35363;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.ListHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.ListHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.ListHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/ListHandler\x22);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/ListHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/ListHandler.\n */\ncognitect.transit.__GT_ListHandler \x3d (function cognitect$transit$__GT_ListHandler(){\nreturn (new cognitect.transit.ListHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.MapHandler \x3d (function (){\n});\n(cognitect.transit.MapHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22map\x22;\n}));\n\n(cognitect.transit.MapHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v;\n}));\n\n(cognitect.transit.MapHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.MapHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapHandler\x22);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/MapHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapHandler.\n */\ncognitect.transit.__GT_MapHandler \x3d (function cognitect$transit$__GT_MapHandler(){\nreturn (new cognitect.transit.MapHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SetHandler \x3d (function (){\n});\n(cognitect.transit.SetHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22set\x22;\n}));\n\n(cognitect.transit.SetHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__35027_35367 \x3d cljs.core.seq(v);\nvar chunk__35028_35368 \x3d null;\nvar count__35029_35369 \x3d (0);\nvar i__35030_35370 \x3d (0);\nwhile(true){\nif((i__35030_35370 \x3c count__35029_35369)){\nvar x_35371 \x3d chunk__35028_35368.cljs$core$IIndexed$_nth$arity$2(null,i__35030_35370);\nret.push(x_35371);\n\n\nvar G__35372 \x3d seq__35027_35367;\nvar G__35373 \x3d chunk__35028_35368;\nvar G__35374 \x3d count__35029_35369;\nvar G__35375 \x3d (i__35030_35370 + (1));\nseq__35027_35367 \x3d G__35372;\nchunk__35028_35368 \x3d G__35373;\ncount__35029_35369 \x3d G__35374;\ni__35030_35370 \x3d G__35375;\ncontinue;\n} else {\nvar temp__5804__auto___35376 \x3d cljs.core.seq(seq__35027_35367);\nif(temp__5804__auto___35376){\nvar seq__35027_35377__$1 \x3d temp__5804__auto___35376;\nif(cljs.core.chunked_seq_QMARK_(seq__35027_35377__$1)){\nvar c__5548__auto___35378 \x3d cljs.core.chunk_first(seq__35027_35377__$1);\nvar G__35379 \x3d cljs.core.chunk_rest(seq__35027_35377__$1);\nvar G__35380 \x3d c__5548__auto___35378;\nvar G__35381 \x3d cljs.core.count(c__5548__auto___35378);\nvar G__35382 \x3d (0);\nseq__35027_35367 \x3d G__35379;\nchunk__35028_35368 \x3d G__35380;\ncount__35029_35369 \x3d G__35381;\ni__35030_35370 \x3d G__35382;\ncontinue;\n} else {\nvar x_35383 \x3d cljs.core.first(seq__35027_35377__$1);\nret.push(x_35383);\n\n\nvar G__35384 \x3d cljs.core.next(seq__35027_35377__$1);\nvar G__35385 \x3d null;\nvar G__35386 \x3d (0);\nvar G__35387 \x3d (0);\nseq__35027_35367 \x3d G__35384;\nchunk__35028_35368 \x3d G__35385;\ncount__35029_35369 \x3d G__35386;\ni__35030_35370 \x3d G__35387;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.SetHandler.prototype.stringRep \x3d (function (){\nvar self__ \x3d this;\nvar v \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.SetHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SetHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SetHandler\x22);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/SetHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SetHandler.\n */\ncognitect.transit.__GT_SetHandler \x3d (function cognitect$transit$__GT_SetHandler(){\nreturn (new cognitect.transit.SetHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorHandler \x3d (function (){\n});\n(cognitect.transit.VectorHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22array\x22;\n}));\n\n(cognitect.transit.VectorHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__35091_35391 \x3d cljs.core.seq(v);\nvar chunk__35092_35392 \x3d null;\nvar count__35093_35393 \x3d (0);\nvar i__35094_35394 \x3d (0);\nwhile(true){\nif((i__35094_35394 \x3c count__35093_35393)){\nvar x_35395 \x3d chunk__35092_35392.cljs$core$IIndexed$_nth$arity$2(null,i__35094_35394);\nret.push(x_35395);\n\n\nvar G__35396 \x3d seq__35091_35391;\nvar G__35397 \x3d chunk__35092_35392;\nvar G__35398 \x3d count__35093_35393;\nvar G__35399 \x3d (i__35094_35394 + (1));\nseq__35091_35391 \x3d G__35396;\nchunk__35092_35392 \x3d G__35397;\ncount__35093_35393 \x3d G__35398;\ni__35094_35394 \x3d G__35399;\ncontinue;\n} else {\nvar temp__5804__auto___35400 \x3d cljs.core.seq(seq__35091_35391);\nif(temp__5804__auto___35400){\nvar seq__35091_35401__$1 \x3d temp__5804__auto___35400;\nif(cljs.core.chunked_seq_QMARK_(seq__35091_35401__$1)){\nvar c__5548__auto___35402 \x3d cljs.core.chunk_first(seq__35091_35401__$1);\nvar G__35403 \x3d cljs.core.chunk_rest(seq__35091_35401__$1);\nvar G__35404 \x3d c__5548__auto___35402;\nvar G__35405 \x3d cljs.core.count(c__5548__auto___35402);\nvar G__35406 \x3d (0);\nseq__35091_35391 \x3d G__35403;\nchunk__35092_35392 \x3d G__35404;\ncount__35093_35393 \x3d G__35405;\ni__35094_35394 \x3d G__35406;\ncontinue;\n} else {\nvar x_35407 \x3d cljs.core.first(seq__35091_35401__$1);\nret.push(x_35407);\n\n\nvar G__35408 \x3d cljs.core.next(seq__35091_35401__$1);\nvar G__35409 \x3d null;\nvar G__35410 \x3d (0);\nvar G__35411 \x3d (0);\nseq__35091_35391 \x3d G__35408;\nchunk__35092_35392 \x3d G__35409;\ncount__35093_35393 \x3d G__35410;\ni__35094_35394 \x3d G__35411;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn ret;\n}));\n\n(cognitect.transit.VectorHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.VectorHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorHandler\x22);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/VectorHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorHandler.\n */\ncognitect.transit.__GT_VectorHandler \x3d (function cognitect$transit$__GT_VectorHandler(){\nreturn (new cognitect.transit.VectorHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.UUIDHandler \x3d (function (){\n});\n(cognitect.transit.UUIDHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22u\x22;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.uuid;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.rep(v);\n}));\n\n(cognitect.transit.UUIDHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.UUIDHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/UUIDHandler\x22);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/UUIDHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/UUIDHandler.\n */\ncognitect.transit.__GT_UUIDHandler \x3d (function cognitect$transit$__GT_UUIDHandler(){\nreturn (new cognitect.transit.UUIDHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMeta \x3d (function (value,meta){\nthis.value \x3d value;\nthis.meta \x3d meta;\n});\n\n(cognitect.transit.WithMeta.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cognitect.transit.WithMeta.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMeta\x22);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/WithMeta\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMeta.\n */\ncognitect.transit.__GT_WithMeta \x3d (function cognitect$transit$__GT_WithMeta(value,meta){\nreturn (new cognitect.transit.WithMeta(value,meta));\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMetaHandler \x3d (function (){\n});\n(cognitect.transit.WithMetaHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22with-meta\x22;\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn com.cognitect.transit.tagged(\x22array\x22,[v.value,v.meta]);\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.WithMetaHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.WithMetaHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMetaHandler\x22);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/WithMetaHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMetaHandler.\n */\ncognitect.transit.__GT_WithMetaHandler \x3d (function cognitect$transit$__GT_WithMetaHandler(){\nreturn (new cognitect.transit.WithMetaHandler());\n});\n\n/**\n * Return a transit writer. type maybe either :json or :json-verbose.\n *   opts is a map with the following optional keys:\n * \n *  :handlers  - a map of type constructors to handler instances. Can optionally\n *               provide a :default write handler which will be used if no\n *               matching handler can be found.\n *  :transform - a function of one argument returning a transformed value. Will\n *               be invoked on a value before it is written.\n */\ncognitect.transit.writer \x3d (function cognitect$transit$writer(var_args){\nvar G__35202 \x3d arguments.length;\nswitch (G__35202) {\ncase 1:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nvar keyword_handler \x3d (new cognitect.transit.KeywordHandler());\nvar symbol_handler \x3d (new cognitect.transit.SymbolHandler());\nvar list_handler \x3d (new cognitect.transit.ListHandler());\nvar map_handler \x3d (new cognitect.transit.MapHandler());\nvar set_handler \x3d (new cognitect.transit.SetHandler());\nvar vector_handler \x3d (new cognitect.transit.VectorHandler());\nvar uuid_handler \x3d (new cognitect.transit.UUIDHandler());\nvar meta_handler \x3d (new cognitect.transit.WithMetaHandler());\nvar handlers \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentHashMap.fromArrays([cljs.core.PersistentHashMap,cljs.core.Cons,cljs.core.PersistentArrayMap,cljs.core.NodeSeq,cljs.core.PersistentQueue,cljs.core.IndexedSeq,cljs.core.Keyword,cljs.core.BlackNode,cljs.core.EmptyList,cljs.core.LazySeq,cljs.core.Subvec,cljs.core.PersistentQueueSeq,cljs.core.ArrayNodeSeq,cljs.core.ValSeq,cognitect.transit.WithMeta,cljs.core.PersistentArrayMapSeq,cljs.core.PersistentVector,cljs.core.List,cljs.core.RSeq,cljs.core.PersistentHashSet,cljs.core.PersistentTreeMap,cljs.core.KeySeq,cljs.core.ChunkedSeq,cljs.core.PersistentTreeSet,cljs.core.ChunkedCons,cljs.core.Symbol,cljs.core.UUID,cljs.core.Range,cljs.core.PersistentTreeMapSeq,cljs.core.RedNode],[map_handler,list_handler,map_handler,list_handler,list_handler,list_handler,keyword_handler,vector_handler,list_handler,list_handler,vector_handler,list_handler,list_handler,list_handler,meta_handler,list_handler,vector_handler,list_handler,list_handler,set_handler,map_handler,list_handler,list_handler,set_handler,list_handler,symbol_handler,uuid_handler,list_handler,list_handler,vector_handler]),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Eduction !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Eduction,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Repeat !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Repeat,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.MapEntry !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.MapEntry,vector_handler]):null),new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)], 0));\nreturn com.cognitect.transit.writer(cljs.core.name(type),cognitect.transit.opts_merge(({\x22objectBuilder\x22: (function (m,kfn,vfn){\nreturn cljs.core.reduce_kv((function (obj,k,v){\nvar G__35210 \x3d obj;\nG__35210.push((kfn.cljs$core$IFn$_invoke$arity$1 ? kfn.cljs$core$IFn$_invoke$arity$1(k) : kfn.call(null,k)),(vfn.cljs$core$IFn$_invoke$arity$1 ? vfn.cljs$core$IFn$_invoke$arity$1(v) : vfn.call(null,v)));\n\nreturn G__35210;\n}),[\x22^ \x22],m);\n}), \x22handlers\x22: (function (){var x35211 \x3d cljs.core.clone(handlers);\n(x35211.forEach \x3d (function (f){\nvar coll \x3d this;\nvar seq__35226 \x3d cljs.core.seq(coll);\nvar chunk__35227 \x3d null;\nvar count__35228 \x3d (0);\nvar i__35229 \x3d (0);\nwhile(true){\nif((i__35229 \x3c count__35228)){\nvar vec__35247 \x3d chunk__35227.cljs$core$IIndexed$_nth$arity$2(null,i__35229);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35247,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35247,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__35425 \x3d seq__35226;\nvar G__35426 \x3d chunk__35227;\nvar G__35427 \x3d count__35228;\nvar G__35428 \x3d (i__35229 + (1));\nseq__35226 \x3d G__35425;\nchunk__35227 \x3d G__35426;\ncount__35228 \x3d G__35427;\ni__35229 \x3d G__35428;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__35226);\nif(temp__5804__auto__){\nvar seq__35226__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__35226__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__35226__$1);\nvar G__35430 \x3d cljs.core.chunk_rest(seq__35226__$1);\nvar G__35431 \x3d c__5548__auto__;\nvar G__35432 \x3d cljs.core.count(c__5548__auto__);\nvar G__35433 \x3d (0);\nseq__35226 \x3d G__35430;\nchunk__35227 \x3d G__35431;\ncount__35228 \x3d G__35432;\ni__35229 \x3d G__35433;\ncontinue;\n} else {\nvar vec__35251 \x3d cljs.core.first(seq__35226__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35251,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35251,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__35434 \x3d cljs.core.next(seq__35226__$1);\nvar G__35435 \x3d null;\nvar G__35436 \x3d (0);\nvar G__35437 \x3d (0);\nseq__35226 \x3d G__35434;\nchunk__35227 \x3d G__35435;\ncount__35228 \x3d G__35436;\ni__35229 \x3d G__35437;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\nreturn x35211;\n})(), \x22unpack\x22: (function (x){\nif((x instanceof cljs.core.PersistentArrayMap)){\nreturn x.arr;\n} else {\nreturn false;\n}\n})}),cljs.core.clj__GT_js(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)))));\n}));\n\n(cognitect.transit.writer.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Encode an object into a transit string given a transit writer.\n */\ncognitect.transit.write \x3d (function cognitect$transit$write(w,o){\nreturn w.write(o);\n});\n/**\n * Construct a read handler. Implemented as identity, exists primarily\n * for API compatiblity with transit-clj\n */\ncognitect.transit.read_handler \x3d (function cognitect$transit$read_handler(from_rep){\nreturn from_rep;\n});\ncognitect.transit.fn_or_val \x3d (function cognitect$transit$fn_or_val(f){\nif(cljs.core.fn_QMARK_(f)){\nreturn f;\n} else {\nreturn cljs.core.constantly(f);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncognitect.transit.t_cognitect$transit35264 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta35265){\nthis.tag_fn \x3d tag_fn;\nthis.rep_fn \x3d rep_fn;\nthis.str_rep_fn \x3d str_rep_fn;\nthis.verbose_handler_fn \x3d verbose_handler_fn;\nthis.meta35265 \x3d meta35265;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cognitect.transit.t_cognitect$transit35264.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35266,meta35265__$1){\nvar self__ \x3d this;\nvar _35266__$1 \x3d this;\nreturn (new cognitect.transit.t_cognitect$transit35264(self__.tag_fn,self__.rep_fn,self__.str_rep_fn,self__.verbose_handler_fn,meta35265__$1));\n}));\n\n(cognitect.transit.t_cognitect$transit35264.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35266){\nvar self__ \x3d this;\nvar _35266__$1 \x3d this;\nreturn self__.meta35265;\n}));\n\n(cognitect.transit.t_cognitect$transit35264.prototype.tag \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.tag_fn.cljs$core$IFn$_invoke$arity$1 ? self__.tag_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.tag_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit35264.prototype.rep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.rep_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit35264.prototype.stringRep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.str_rep_fn)){\nreturn (self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.str_rep_fn.call(null,o));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit35264.prototype.getVerboseHandler \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.verbose_handler_fn)){\nreturn (self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0 ? self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0() : self__.verbose_handler_fn.call(null));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit35264.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag-fn\x22,\x22tag-fn\x22,242055482,null),new cljs.core.Symbol(null,\x22rep-fn\x22,\x22rep-fn\x22,-1724891035,null),new cljs.core.Symbol(null,\x22str-rep-fn\x22,\x22str-rep-fn\x22,-1179615016,null),new cljs.core.Symbol(null,\x22verbose-handler-fn\x22,\x22verbose-handler-fn\x22,547340594,null),new cljs.core.Symbol(null,\x22meta35265\x22,\x22meta35265\x22,-476452868,null)], null);\n}));\n\n(cognitect.transit.t_cognitect$transit35264.cljs$lang$type \x3d true);\n\n(cognitect.transit.t_cognitect$transit35264.cljs$lang$ctorStr \x3d \x22cognitect.transit/t_cognitect$transit35264\x22);\n\n(cognitect.transit.t_cognitect$transit35264.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/t_cognitect$transit35264\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/t_cognitect$transit35264.\n */\ncognitect.transit.__GT_t_cognitect$transit35264 \x3d (function cognitect$transit$__GT_t_cognitect$transit35264(tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta35265){\nreturn (new cognitect.transit.t_cognitect$transit35264(tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta35265));\n});\n\n\n/**\n * Creates a transit write handler whose tag, rep,\n * stringRep, and verboseWriteHandler methods\n * invoke the provided fns.\n */\ncognitect.transit.write_handler \x3d (function cognitect$transit$write_handler(var_args){\nvar G__35259 \x3d arguments.length;\nswitch (G__35259) {\ncase 2:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag_fn,rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,null,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3 \x3d (function (tag_fn,rep_fn,str_rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,str_rep_fn,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn){\nvar tag_fn__$1 \x3d cognitect.transit.fn_or_val(tag_fn);\nvar rep_fn__$1 \x3d cognitect.transit.fn_or_val(rep_fn);\nvar str_rep_fn__$1 \x3d cognitect.transit.fn_or_val(str_rep_fn);\nvar verbose_handler_fn__$1 \x3d cognitect.transit.fn_or_val(verbose_handler_fn);\nreturn (new cognitect.transit.t_cognitect$transit35264(tag_fn__$1,rep_fn__$1,str_rep_fn__$1,verbose_handler_fn__$1,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cognitect.transit.write_handler.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Construct a tagged value. tag must be a string and rep can\n * be any transit encodeable value.\n */\ncognitect.transit.tagged_value \x3d (function cognitect$transit$tagged_value(tag,rep){\nreturn com.cognitect.transit.types.taggedValue(tag,rep);\n});\n/**\n * Returns true if x is a transit tagged value, false otherwise.\n */\ncognitect.transit.tagged_value_QMARK_ \x3d (function cognitect$transit$tagged_value_QMARK_(x){\nreturn com.cognitect.transit.types.isTaggedValue(x);\n});\n/**\n * Construct a transit integer value. Returns JavaScript number if\n *   in the 53bit integer range, a goog.math.Long instance if above. s\n *   may be a string or a JavaScript number.\n */\ncognitect.transit.integer \x3d (function cognitect$transit$integer(s){\nreturn com.cognitect.transit.types.intValue(s);\n});\n/**\n * Returns true if x is an integer value between the 53bit and 64bit\n *   range, false otherwise.\n */\ncognitect.transit.integer_QMARK_ \x3d (function cognitect$transit$integer_QMARK_(x){\nreturn com.cognitect.transit.types.isInteger(x);\n});\n/**\n * Construct a big integer from a string.\n */\ncognitect.transit.bigint \x3d (function cognitect$transit$bigint(s){\nreturn com.cognitect.transit.types.bigInteger(s);\n});\n/**\n * Returns true if x is a transit big integer value, false otherwise.\n */\ncognitect.transit.bigint_QMARK_ \x3d (function cognitect$transit$bigint_QMARK_(x){\nreturn com.cognitect.transit.types.isBigInteger(x);\n});\n/**\n * Construct a big decimal from a string.\n */\ncognitect.transit.bigdec \x3d (function cognitect$transit$bigdec(s){\nreturn com.cognitect.transit.types.bigDecimalValue(s);\n});\n/**\n * Returns true if x is a transit big decimal value, false otherwise.\n */\ncognitect.transit.bigdec_QMARK_ \x3d (function cognitect$transit$bigdec_QMARK_(x){\nreturn com.cognitect.transit.types.isBigDecimal(x);\n});\n/**\n * Construct a URI from a string.\n */\ncognitect.transit.uri \x3d (function cognitect$transit$uri(s){\nreturn com.cognitect.transit.types.uri(s);\n});\n/**\n * Returns true if x is a transit URI value, false otherwise.\n */\ncognitect.transit.uri_QMARK_ \x3d (function cognitect$transit$uri_QMARK_(x){\nreturn com.cognitect.transit.types.isURI(x);\n});\n/**\n * Construct a UUID from a string.\n */\ncognitect.transit.uuid \x3d (function cognitect$transit$uuid(s){\nreturn com.cognitect.transit.types.uuid(s);\n});\n/**\n * Returns true if x is a transit UUID value, false otherwise.\n */\ncognitect.transit.uuid_QMARK_ \x3d (function cognitect$transit$uuid_QMARK_(x){\nvar or__5025__auto__ \x3d com.cognitect.transit.types.isUUID(x);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (x instanceof cljs.core.UUID);\n}\n});\n/**\n * Construct a transit binary value. s should be base64 encoded\n * string.\n */\ncognitect.transit.binary \x3d (function cognitect$transit$binary(s){\nreturn com.cognitect.transit.types.binary(s);\n});\n/**\n * Returns true if x is a transit binary value, false otherwise.\n */\ncognitect.transit.binary_QMARK_ \x3d (function cognitect$transit$binary_QMARK_(x){\nreturn com.cognitect.transit.types.isBinary(x);\n});\n/**\n * Construct a quoted transit value. x should be a transit\n * encodeable value.\n */\ncognitect.transit.quoted \x3d (function cognitect$transit$quoted(x){\nreturn com.cognitect.transit.types.quoted(x);\n});\n/**\n * Returns true if x is a transit quoted value, false otherwise.\n */\ncognitect.transit.quoted_QMARK_ \x3d (function cognitect$transit$quoted_QMARK_(x){\nreturn com.cognitect.transit.types.isQuoted(x);\n});\n/**\n * Construct a transit link value. x should be an IMap instance\n * containing at a minimum the following keys: :href, :rel. It\n * may optionall include :name, :render, and :prompt. :href must\n * be a transit URI, all other values are strings, and :render must\n * be either :image or :link.\n */\ncognitect.transit.link \x3d (function cognitect$transit$link(x){\nreturn com.cognitect.transit.types.link(x);\n});\n/**\n * Returns true if x a transit link value, false if otherwise.\n */\ncognitect.transit.link_QMARK_ \x3d (function cognitect$transit$link_QMARK_(x){\nreturn com.cognitect.transit.types.isLink(x);\n});\n/**\n * For :transform. Will write any metadata present on the value.\n */\ncognitect.transit.write_meta \x3d (function cognitect$transit$write_meta(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMeta$))))?true:false):false)){\nvar m \x3d x.cljs$core$IMeta$_meta$arity$1(null);\nif((!((m \x3d\x3d null)))){\nreturn (new cognitect.transit.WithMeta(x.cljs$core$IWithMeta$_with_meta$arity$2(null,null),m));\n} else {\nreturn x;\n}\n} else {\nreturn x;\n}\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.api.js", true, "goog.provide(\x27shadow.remote.runtime.api\x27);\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IRuntime \x3d function(){};\n\nvar shadow$remote$runtime$api$IRuntime$relay_msg$dyn_34969 \x3d (function (runtime,msg){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api.relay_msg[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5374__auto__.call(null,runtime,msg));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api.relay_msg[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5372__auto__.call(null,runtime,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.relay-msg\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.relay_msg \x3d (function shadow$remote$runtime$api$relay_msg(runtime,msg){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2(runtime,msg);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$relay_msg$dyn_34969(runtime,msg);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$add_extension$dyn_34971 \x3d (function (runtime,key,spec){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api.add_extension[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5374__auto__.call(null,runtime,key,spec));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api.add_extension[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5372__auto__.call(null,runtime,key,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.add-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.add_extension \x3d (function shadow$remote$runtime$api$add_extension(runtime,key,spec){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(runtime,key,spec);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$add_extension$dyn_34971(runtime,key,spec);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$del_extension$dyn_34973 \x3d (function (runtime,key){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api.del_extension[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5374__auto__.call(null,runtime,key));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api.del_extension[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5372__auto__.call(null,runtime,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.del-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.del_extension \x3d (function shadow$remote$runtime$api$del_extension(runtime,key){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2(runtime,key);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$del_extension$dyn_34973(runtime,key);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.Inspectable \x3d function(){};\n\nvar shadow$remote$runtime$api$Inspectable$describe$dyn_34976 \x3d (function (thing,opts){\nvar x__5373__auto__ \x3d (((thing \x3d\x3d null))?null:thing);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api.describe[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5374__auto__.call(null,thing,opts));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api.describe[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5372__auto__.call(null,thing,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22Inspectable.describe\x22,thing);\n}\n}\n});\n/**\n * returns a map descriptor that tells system how to handle things further\n */\nshadow.remote.runtime.api.describe \x3d (function shadow$remote$runtime$api$describe(thing,opts){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(thing),cljs.core.with_meta(new cljs.core.Symbol(\x22shadow.remote.runtime.api\x22,\x22describe\x22,\x22shadow.remote.runtime.api/describe\x22,1388020131,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5375__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$2 ? meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : meta_impl__5375__auto__.call(null,thing,opts));\n} else {\nif((((!((thing \x3d\x3d null)))) \x26\x26 ((!((thing.shadow$remote$runtime$api$Inspectable$describe$arity$2 \x3d\x3d null)))))){\nreturn thing.shadow$remote$runtime$api$Inspectable$describe$arity$2(thing,opts);\n} else {\nreturn shadow$remote$runtime$api$Inspectable$describe$dyn_34976(thing,opts);\n}\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalCLJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_34978 \x3d (function (runtime,input,callback){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5374__auto__.call(null,runtime,input,callback));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5372__auto__.call(null,runtime,input,callback));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalCLJS.-cljs-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._cljs_eval \x3d (function shadow$remote$runtime$api$_cljs_eval(runtime,input,callback){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3(runtime,input,callback);\n} else {\nreturn shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_34978(runtime,input,callback);\n}\n});\n\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_34983 \x3d (function (runtime,code,success,fail){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api._js_eval[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(runtime,code,success,fail) : m__5374__auto__.call(null,runtime,code,success,fail));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api._js_eval[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(runtime,code,success,fail) : m__5372__auto__.call(null,runtime,code,success,fail));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalJS.-js-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._js_eval \x3d (function shadow$remote$runtime$api$_js_eval(runtime,code,success,fail){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$4 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$4(runtime,code,success,fail);\n} else {\nreturn shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_34983(runtime,code,success,fail);\n}\n});\n\n\nshadow.remote.runtime.api.cljs_eval \x3d (function shadow$remote$runtime$api$cljs_eval(runtime,p__34957,callback){\nvar map__34958 \x3d p__34957;\nvar map__34958__$1 \x3d cljs.core.__destructure_map(map__34958);\nvar input \x3d map__34958__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34958__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34958__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(((typeof code \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.simple_symbol_QMARK_(ns)))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid cljs-eval input\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input], null));\n}\n\nreturn shadow.remote.runtime.api._cljs_eval(runtime,input,callback);\n});\n\nshadow.remote.runtime.api.js_eval \x3d (function shadow$remote$runtime$api$js_eval(runtime,code,success,fail){\nif(typeof code \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? code)\x22));\n}\n\nreturn shadow.remote.runtime.api._js_eval(runtime,code,success,fail);\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.shared.js", true, "goog.provide(\x27shadow.remote.runtime.shared\x27);\nshadow.remote.runtime.shared.init_state \x3d (function shadow$remote$runtime$shared$init_state(client_info){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),(0),new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.PersistentArrayMap.EMPTY], null);\n});\nshadow.remote.runtime.shared.now \x3d (function shadow$remote$runtime$shared$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.shared.get_client_id \x3d (function shadow$remote$runtime$shared$get_client_id(p__34985){\nvar map__34987 \x3d p__34985;\nvar map__34987__$1 \x3d cljs.core.__destructure_map(map__34987);\nvar runtime \x3d map__34987__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34987__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22runtime has no assigned runtime-id\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null));\n}\n});\nshadow.remote.runtime.shared.relay_msg \x3d (function shadow$remote$runtime$shared$relay_msg(runtime,msg){\nvar self_id_35169 \x3d shadow.remote.runtime.shared.get_client_id(runtime);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007).cljs$core$IFn$_invoke$arity$1(msg),self_id_35169)){\nshadow.remote.runtime.api.relay_msg(runtime,msg);\n} else {\nPromise.resolve((1)).then((function (){\nvar G__34988 \x3d runtime;\nvar G__34989 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self_id_35169);\nreturn (shadow.remote.runtime.shared.process.cljs$core$IFn$_invoke$arity$2 ? shadow.remote.runtime.shared.process.cljs$core$IFn$_invoke$arity$2(G__34988,G__34989) : shadow.remote.runtime.shared.process.call(null,G__34988,G__34989));\n}));\n}\n\nreturn msg;\n});\nshadow.remote.runtime.shared.reply \x3d (function shadow$remote$runtime$shared$reply(runtime,p__34990,res){\nvar map__34991 \x3d p__34990;\nvar map__34991__$1 \x3d cljs.core.__destructure_map(map__34991);\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34991__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34991__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar res__$1 \x3d (function (){var G__34992 \x3d res;\nvar G__34992__$1 \x3d (cljs.core.truth_(call_id)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__34992,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id):G__34992);\nif(cljs.core.truth_(from)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__34992__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),from);\n} else {\nreturn G__34992__$1;\n}\n})();\nreturn shadow.remote.runtime.api.relay_msg(runtime,res__$1);\n});\nshadow.remote.runtime.shared.call \x3d (function shadow$remote$runtime$shared$call(var_args){\nvar G__34994 \x3d arguments.length;\nswitch (G__34994) {\ncase 3:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3 \x3d (function (runtime,msg,handlers){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4(runtime,msg,handlers,(0));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__34995,msg,handlers,timeout_after_ms){\nvar map__34996 \x3d p__34995;\nvar map__34996__$1 \x3d cljs.core.__destructure_map(map__34996);\nvar runtime \x3d map__34996__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34996__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.map_QMARK_(msg)){\n} else {\nthrow (new Error(\x22Assert failed: (map? msg)\x22));\n}\n\nif(cljs.core.map_QMARK_(handlers)){\n} else {\nthrow (new Error(\x22Assert failed: (map? handlers)\x22));\n}\n\nif(cljs.core.nat_int_QMARK_(timeout_after_ms)){\n} else {\nthrow (new Error(\x22Assert failed: (nat-int? timeout-after-ms)\x22));\n}\n\nvar call_id \x3d new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),cljs.core.inc);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),handlers,new cljs.core.Keyword(null,\x22called-at\x22,\x22called-at\x22,607081160),shadow.remote.runtime.shared.now(),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22timeout\x22,\x22timeout\x22,-318625318),timeout_after_ms], null));\n\nreturn shadow.remote.runtime.api.relay_msg(runtime,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.remote.runtime.shared.trigger_BANG_ \x3d (function shadow$remote$runtime$shared$trigger_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35174 \x3d arguments.length;\nvar i__5750__auto___35175 \x3d (0);\nwhile(true){\nif((i__5750__auto___35175 \x3c len__5749__auto___35174)){\nargs__5755__auto__.push((arguments[i__5750__auto___35175]));\n\nvar G__35179 \x3d (i__5750__auto___35175 + (1));\ni__5750__auto___35175 \x3d G__35179;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__35000,ev,args){\nvar map__35001 \x3d p__35000;\nvar map__35001__$1 \x3d cljs.core.__destructure_map(map__35001);\nvar runtime \x3d map__35001__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35001__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar seq__35002 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__35005 \x3d null;\nvar count__35006 \x3d (0);\nvar i__35007 \x3d (0);\nwhile(true){\nif((i__35007 \x3c count__35006)){\nvar ext \x3d chunk__35005.cljs$core$IIndexed$_nth$arity$2(null,i__35007);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__35180 \x3d seq__35002;\nvar G__35181 \x3d chunk__35005;\nvar G__35182 \x3d count__35006;\nvar G__35183 \x3d (i__35007 + (1));\nseq__35002 \x3d G__35180;\nchunk__35005 \x3d G__35181;\ncount__35006 \x3d G__35182;\ni__35007 \x3d G__35183;\ncontinue;\n} else {\nvar G__35184 \x3d seq__35002;\nvar G__35185 \x3d chunk__35005;\nvar G__35186 \x3d count__35006;\nvar G__35187 \x3d (i__35007 + (1));\nseq__35002 \x3d G__35184;\nchunk__35005 \x3d G__35185;\ncount__35006 \x3d G__35186;\ni__35007 \x3d G__35187;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__35002);\nif(temp__5804__auto__){\nvar seq__35002__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__35002__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__35002__$1);\nvar G__35188 \x3d cljs.core.chunk_rest(seq__35002__$1);\nvar G__35189 \x3d c__5548__auto__;\nvar G__35190 \x3d cljs.core.count(c__5548__auto__);\nvar G__35191 \x3d (0);\nseq__35002 \x3d G__35188;\nchunk__35005 \x3d G__35189;\ncount__35006 \x3d G__35190;\ni__35007 \x3d G__35191;\ncontinue;\n} else {\nvar ext \x3d cljs.core.first(seq__35002__$1);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__35192 \x3d cljs.core.next(seq__35002__$1);\nvar G__35193 \x3d null;\nvar G__35194 \x3d (0);\nvar G__35195 \x3d (0);\nseq__35002 \x3d G__35192;\nchunk__35005 \x3d G__35193;\ncount__35006 \x3d G__35194;\ni__35007 \x3d G__35195;\ncontinue;\n} else {\nvar G__35196 \x3d cljs.core.next(seq__35002__$1);\nvar G__35197 \x3d null;\nvar G__35198 \x3d (0);\nvar G__35199 \x3d (0);\nseq__35002 \x3d G__35196;\nchunk__35005 \x3d G__35197;\ncount__35006 \x3d G__35198;\ni__35007 \x3d G__35199;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$applyTo \x3d (function (seq34997){\nvar G__34998 \x3d cljs.core.first(seq34997);\nvar seq34997__$1 \x3d cljs.core.next(seq34997);\nvar G__34999 \x3d cljs.core.first(seq34997__$1);\nvar seq34997__$2 \x3d cljs.core.next(seq34997__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__34998,G__34999,seq34997__$2);\n}));\n\nshadow.remote.runtime.shared.welcome \x3d (function shadow$remote$runtime$shared$welcome(p__35016,p__35017){\nvar map__35018 \x3d p__35016;\nvar map__35018__$1 \x3d cljs.core.__destructure_map(map__35018);\nvar runtime \x3d map__35018__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35018__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__35019 \x3d p__35017;\nvar map__35019__$1 \x3d cljs.core.__destructure_map(map__35019);\nvar msg \x3d map__35019__$1;\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35019__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),client_id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),true], 0));\n\nvar map__35020 \x3d cljs.core.deref(state_ref);\nvar map__35020__$1 \x3d cljs.core.__destructure_map(map__35020);\nvar client_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35020__$1,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504));\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35020__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nshadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22hello\x22,\x22hello\x22,-245025397),new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info], null));\n\nreturn shadow.remote.runtime.shared.trigger_BANG_(runtime,new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125));\n});\nshadow.remote.runtime.shared.ping \x3d (function shadow$remote$runtime$shared$ping(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22pong\x22,\x22pong\x22,-172484958)], null));\n});\nshadow.remote.runtime.shared.request_supported_ops \x3d (function shadow$remote$runtime$shared$request_supported_ops(p__35022,msg){\nvar map__35023 \x3d p__35022;\nvar map__35023__$1 \x3d cljs.core.__destructure_map(map__35023);\nvar runtime \x3d map__35023__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35023__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22supported-ops\x22,\x22supported-ops\x22,337914702),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic(cljs.core.set(cljs.core.keys(new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))),new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),new cljs.core.Keyword(null,\x22tool-disconnect\x22,\x22tool-disconnect\x22,189103996)], 0))], null));\n});\nshadow.remote.runtime.shared.unknown_relay_op \x3d (function shadow$remote$runtime$shared$unknown_relay_op(msg){\nreturn console.warn(\x22unknown-relay-op\x22,msg);\n});\nshadow.remote.runtime.shared.unknown_op \x3d (function shadow$remote$runtime$shared$unknown_op(msg){\nreturn console.warn(\x22unknown-op\x22,msg);\n});\nshadow.remote.runtime.shared.add_extension_STAR_ \x3d (function shadow$remote$runtime$shared$add_extension_STAR_(p__35032,key,p__35033){\nvar map__35034 \x3d p__35032;\nvar map__35034__$1 \x3d cljs.core.__destructure_map(map__35034);\nvar state \x3d map__35034__$1;\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35034__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nvar map__35035 \x3d p__35033;\nvar map__35035__$1 \x3d cljs.core.__destructure_map(map__35035);\nvar spec \x3d map__35035__$1;\nvar ops \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35035__$1,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063));\nvar transit_write_handlers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35035__$1,new cljs.core.Keyword(null,\x22transit-write-handlers\x22,\x22transit-write-handlers\x22,1886308716));\nif(cljs.core.contains_QMARK_(extensions,key)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22extension already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401),spec], null));\n} else {\n}\n\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nif(cljs.core.truth_(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null)))){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22op already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),op_kw], null));\n} else {\n}\n\nreturn cljs.core.assoc_in(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null),op_handler);\n}),cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null),spec),ops);\n});\nshadow.remote.runtime.shared.add_extension \x3d (function shadow$remote$runtime$shared$add_extension(p__35049,key,spec){\nvar map__35051 \x3d p__35049;\nvar map__35051__$1 \x3d cljs.core.__destructure_map(map__35051);\nvar runtime \x3d map__35051__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35051__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,shadow.remote.runtime.shared.add_extension_STAR_,key,spec);\n\nvar temp__5808__auto___35205 \x3d new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125).cljs$core$IFn$_invoke$arity$1(spec);\nif((temp__5808__auto___35205 \x3d\x3d null)){\n} else {\nvar on_welcome_35206 \x3d temp__5808__auto___35205;\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))){\n(on_welcome_35206.cljs$core$IFn$_invoke$arity$0 ? on_welcome_35206.cljs$core$IFn$_invoke$arity$0() : on_welcome_35206.call(null));\n} else {\n}\n}\n\nreturn runtime;\n});\nshadow.remote.runtime.shared.add_defaults \x3d (function shadow$remote$runtime$shared$add_defaults(runtime){\nreturn shadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.shared\x22,\x22defaults\x22,\x22shadow.remote.runtime.shared/defaults\x22,-1821257543),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),(function (p1__35057_SHARP_){\nreturn shadow.remote.runtime.shared.welcome(runtime,p1__35057_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),(function (p1__35058_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_relay_op(p1__35058_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),(function (p1__35059_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_op(p1__35059_SHARP_);\n}),new cljs.core.Keyword(null,\x22ping\x22,\x22ping\x22,-1670114784),(function (p1__35060_SHARP_){\nreturn shadow.remote.runtime.shared.ping(runtime,p1__35060_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),(function (p1__35061_SHARP_){\nreturn shadow.remote.runtime.shared.request_supported_ops(runtime,p1__35061_SHARP_);\n})], null)], null));\n});\nshadow.remote.runtime.shared.del_extension_STAR_ \x3d (function shadow$remote$runtime$shared$del_extension_STAR_(state,key){\nvar ext \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null));\nif(cljs.core.not(ext)){\nreturn state;\n} else {\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063)], null),cljs.core.dissoc,op_kw);\n}),cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.dissoc,key),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(ext));\n}\n});\nshadow.remote.runtime.shared.del_extension \x3d (function shadow$remote$runtime$shared$del_extension(p__35088,key){\nvar map__35090 \x3d p__35088;\nvar map__35090__$1 \x3d cljs.core.__destructure_map(map__35090);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35090__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,shadow.remote.runtime.shared.del_extension_STAR_,key);\n});\nshadow.remote.runtime.shared.unhandled_call_result \x3d (function shadow$remote$runtime$shared$unhandled_call_result(call_config,msg){\nreturn console.warn(\x22unhandled call result\x22,msg,call_config);\n});\nshadow.remote.runtime.shared.unhandled_client_not_found \x3d (function shadow$remote$runtime$shared$unhandled_client_not_found(p__35099,msg){\nvar map__35101 \x3d p__35099;\nvar map__35101__$1 \x3d cljs.core.__destructure_map(map__35101);\nvar runtime \x3d map__35101__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35101__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic(runtime,new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg], 0));\n});\nshadow.remote.runtime.shared.reply_unknown_op \x3d (function shadow$remote$runtime$shared$reply_unknown_op(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n});\nshadow.remote.runtime.shared.process \x3d (function shadow$remote$runtime$shared$process(p__35112,p__35113){\nvar map__35120 \x3d p__35112;\nvar map__35120__$1 \x3d cljs.core.__destructure_map(map__35120);\nvar runtime \x3d map__35120__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35120__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__35121 \x3d p__35113;\nvar map__35121__$1 \x3d cljs.core.__destructure_map(map__35121);\nvar msg \x3d map__35121__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35121__$1,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955));\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35121__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar state \x3d cljs.core.deref(state_ref);\nvar op_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op], null));\nif(cljs.core.truth_(call_id)){\nvar cfg \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null));\nvar call_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cfg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),op], null));\nif(cljs.core.truth_(call_handler)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([call_id], 0));\n\nreturn (call_handler.cljs$core$IFn$_invoke$arity$1 ? call_handler.cljs$core$IFn$_invoke$arity$1(msg) : call_handler.call(null,msg));\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nreturn shadow.remote.runtime.shared.unhandled_call_result(cfg,msg);\n\n}\n}\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),op)){\nreturn shadow.remote.runtime.shared.unhandled_client_not_found(runtime,msg);\n} else {\nreturn shadow.remote.runtime.shared.reply_unknown_op(runtime,msg);\n\n}\n}\n}\n});\nshadow.remote.runtime.shared.run_on_idle \x3d (function shadow$remote$runtime$shared$run_on_idle(state_ref){\nvar seq__35141 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__35143 \x3d null;\nvar count__35144 \x3d (0);\nvar i__35145 \x3d (0);\nwhile(true){\nif((i__35145 \x3c count__35144)){\nvar map__35156 \x3d chunk__35143.cljs$core$IIndexed$_nth$arity$2(null,i__35145);\nvar map__35156__$1 \x3d cljs.core.__destructure_map(map__35156);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35156__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__35212 \x3d seq__35141;\nvar G__35213 \x3d chunk__35143;\nvar G__35214 \x3d count__35144;\nvar G__35215 \x3d (i__35145 + (1));\nseq__35141 \x3d G__35212;\nchunk__35143 \x3d G__35213;\ncount__35144 \x3d G__35214;\ni__35145 \x3d G__35215;\ncontinue;\n} else {\nvar G__35216 \x3d seq__35141;\nvar G__35217 \x3d chunk__35143;\nvar G__35218 \x3d count__35144;\nvar G__35219 \x3d (i__35145 + (1));\nseq__35141 \x3d G__35216;\nchunk__35143 \x3d G__35217;\ncount__35144 \x3d G__35218;\ni__35145 \x3d G__35219;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__35141);\nif(temp__5804__auto__){\nvar seq__35141__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__35141__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__35141__$1);\nvar G__35220 \x3d cljs.core.chunk_rest(seq__35141__$1);\nvar G__35221 \x3d c__5548__auto__;\nvar G__35222 \x3d cljs.core.count(c__5548__auto__);\nvar G__35223 \x3d (0);\nseq__35141 \x3d G__35220;\nchunk__35143 \x3d G__35221;\ncount__35144 \x3d G__35222;\ni__35145 \x3d G__35223;\ncontinue;\n} else {\nvar map__35160 \x3d cljs.core.first(seq__35141__$1);\nvar map__35160__$1 \x3d cljs.core.__destructure_map(map__35160);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35160__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__35230 \x3d cljs.core.next(seq__35141__$1);\nvar G__35231 \x3d null;\nvar G__35232 \x3d (0);\nvar G__35233 \x3d (0);\nseq__35141 \x3d G__35230;\nchunk__35143 \x3d G__35231;\ncount__35144 \x3d G__35232;\ni__35145 \x3d G__35233;\ncontinue;\n} else {\nvar G__35235 \x3d cljs.core.next(seq__35141__$1);\nvar G__35236 \x3d null;\nvar G__35237 \x3d (0);\nvar G__35238 \x3d (0);\nseq__35141 \x3d G__35235;\nchunk__35143 \x3d G__35236;\ncount__35144 \x3d G__35237;\ni__35145 \x3d G__35238;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n");
SHADOW_ENV.evalLoad("clojure.core.protocols.js", true, "goog.provide(\x27clojure.core.protocols\x27);\n\n/**\n * @interface\n */\nclojure.core.protocols.Datafiable \x3d function(){};\n\nvar clojure$core$protocols$Datafiable$datafy$dyn_35014 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (clojure.core.protocols.datafy[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (clojure.core.protocols.datafy[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22Datafiable.datafy\x22,o);\n}\n}\n});\n/**\n * return a representation of o as data (default identity)\n */\nclojure.core.protocols.datafy \x3d (function clojure$core$protocols$datafy(o){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(o),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22datafy\x22,\x22clojure.core.protocols/datafy\x22,707534751,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5375__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$1 ? meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$1(o) : meta_impl__5375__auto__.call(null,o));\n} else {\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d\x3d null)))))){\nreturn o.clojure$core$protocols$Datafiable$datafy$arity$1(o);\n} else {\nreturn clojure$core$protocols$Datafiable$datafy$dyn_35014(o);\n}\n}\n});\n\n(clojure.core.protocols.Datafiable[\x22null\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\n\n(clojure.core.protocols.Datafiable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22_\x22] \x3d (function (o){\nreturn o;\n}));\n\n/**\n * @interface\n */\nclojure.core.protocols.Navigable \x3d function(){};\n\nvar clojure$core$protocols$Navigable$nav$dyn_35015 \x3d (function (coll,k,v){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (clojure.core.protocols.nav[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5374__auto__.call(null,coll,k,v));\n} else {\nvar m__5372__auto__ \x3d (clojure.core.protocols.nav[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5372__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Navigable.nav\x22,coll);\n}\n}\n});\n/**\n * return (possibly transformed) v in the context of coll and k (a key/index or nil),\n * defaults to returning v.\n */\nclojure.core.protocols.nav \x3d (function clojure$core$protocols$nav(coll,k,v){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(coll),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5375__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$3 ? meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : meta_impl__5375__auto__.call(null,coll,k,v));\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.clojure$core$protocols$Navigable$nav$arity$3 \x3d\x3d null)))))){\nreturn coll.clojure$core$protocols$Navigable$nav$arity$3(coll,k,v);\n} else {\nreturn clojure$core$protocols$Navigable$nav$dyn_35015(coll,k,v);\n}\n}\n});\n\n(clojure.core.protocols.Navigable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.nav[\x22_\x22] \x3d (function (_,___$1,x){\nreturn x;\n}));\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.cljs.js_builtins.js", true, "goog.provide(\x27shadow.remote.runtime.cljs.js_builtins\x27);\ngoog.scope(function(){\n  shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n(clojure.core.protocols.Datafiable[\x22object\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22object\x22] \x3d (function (o){\nif((!((o.__proto__ \x3d\x3d\x3d Object.prototype)))){\nreturn o;\n} else {\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,key){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,key,shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,key));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.getKeys(o))),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),(function (coll,k,v){\nreturn shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,k);\n})], null));\n}\n}));\n\n(clojure.core.protocols.Datafiable[\x22array\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22array\x22] \x3d (function (o){\nreturn cljs.core.vec(o);\n}));\n\n(Error.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Error.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (e){\nvar e__$1 \x3d this;\nvar data \x3d cljs.core.ex_data(e__$1);\nvar file \x3d e__$1.fileName;\nvar line \x3d e__$1.lineNumber;\nvar column \x3d e__$1.columnNumber;\nvar G__35042 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),e__$1.message,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),e__$1.name,new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),e__$1.stack], null);\nvar G__35042__$1 \x3d (((!((data \x3d\x3d null))))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__35042,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data):G__35042);\nvar G__35042__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__35042__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file):G__35042__$1);\nvar G__35042__$3 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__35042__$2,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line):G__35042__$2);\nif(cljs.core.truth_(column)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__35042__$3,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column);\n} else {\nreturn G__35042__$3;\n}\n}));\n");
SHADOW_ENV.evalLoad("clojure.datafy.js", true, "goog.provide(\x27clojure.datafy\x27);\n/**\n * Attempts to return x as data.\n *   datafy will return the value of clojure.protocols/datafy. If\n *   the value has been transformed and the result supports\n *   metadata, :clojure.datafy/obj will be set on the metadata to the\n *   original value of x.\n */\nclojure.datafy.datafy \x3d (function clojure$datafy$datafy(x){\nvar v \x3d clojure.core.protocols.datafy(x);\nif((v \x3d\x3d\x3d x)){\nreturn v;\n} else {\nif((((!((v \x3d\x3d null))))?(((((v.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d v.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(v,cljs.core.assoc,new cljs.core.Keyword(\x22clojure.datafy\x22,\x22obj\x22,\x22clojure.datafy/obj\x22,-330079421),x);\n} else {\nreturn v;\n}\n}\n});\n/**\n * Returns (possibly transformed) v in the context of coll and k (a\n *   key/index or nil). Callers should attempt to provide the key/index\n *   context k for Indexed/Associative/ILookup colls if possible, but not\n *   to fabricate one e.g. for sequences (pass nil). nav will return the\n *   value of clojure.core.protocols/nav.\n */\nclojure.datafy.nav \x3d (function clojure$datafy$nav(coll,k,v){\nreturn clojure.core.protocols.nav(coll,k,v);\n});\nclojure.datafy.datify_ref \x3d (function clojure$datafy$datify_ref(r){\nreturn cljs.core.with_meta(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(r)], null),cljs.core.meta(r));\n});\n(Error.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Error.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (x){\nvar x__$1 \x3d this;\nreturn cljs.core.Throwable__GT_map(x__$1);\n}));\n\n(cljs.core.ExceptionInfo.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ExceptionInfo.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (x){\nvar x__$1 \x3d this;\nreturn cljs.core.Throwable__GT_map(x__$1);\n}));\n\n(cljs.core.Var.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Reduced.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Reduced.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Atom.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Atom.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Volatile.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Delay.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Delay.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n");
SHADOW_ENV.evalLoad("cljs.spec.gen.alpha.js", true, "goog.provide(\x27cljs.spec.gen.alpha\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.spec.gen.alpha.LazyVar \x3d (function (f,cached){\nthis.f \x3d f;\nthis.cached \x3d cached;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.gen.alpha.LazyVar.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((self__.cached \x3d\x3d null)))){\nreturn self__.cached;\n} else {\nvar x \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null));\nif((x \x3d\x3d null)){\n} else {\n(self__.cached \x3d x);\n}\n\nreturn x;\n}\n}));\n\n(cljs.spec.gen.alpha.LazyVar.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cached\x22,\x22cached\x22,-1216707864,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$type \x3d true);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorStr \x3d \x22cljs.spec.gen.alpha/LazyVar\x22);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.gen.alpha/LazyVar\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.gen.alpha/LazyVar.\n */\ncljs.spec.gen.alpha.__GT_LazyVar \x3d (function cljs$spec$gen$alpha$__GT_LazyVar(f,cached){\nreturn (new cljs.spec.gen.alpha.LazyVar(f,cached));\n});\n\ncljs.spec.gen.alpha.quick_check_ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.quick_check !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.quick_check;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.quick_check \x3d (function cljs$spec$gen$alpha$quick_check(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35642 \x3d arguments.length;\nvar i__5750__auto___35643 \x3d (0);\nwhile(true){\nif((i__5750__auto___35643 \x3c len__5749__auto___35642)){\nargs__5755__auto__.push((arguments[i__5750__auto___35643]));\n\nvar G__35644 \x3d (i__5750__auto___35643 + (1));\ni__5750__auto___35643 \x3d G__35644;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.quick_check_ref),args);\n}));\n\n(cljs.spec.gen.alpha.quick_check.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.quick_check.cljs$lang$applyTo \x3d (function (seq35021){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35021));\n}));\n\ncljs.spec.gen.alpha.for_all_STAR__ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties.for_all_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.properties.for_all_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Dynamically loaded clojure.test.check.properties/for-all*.\n */\ncljs.spec.gen.alpha.for_all_STAR_ \x3d (function cljs$spec$gen$alpha$for_all_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35645 \x3d arguments.length;\nvar i__5750__auto___35646 \x3d (0);\nwhile(true){\nif((i__5750__auto___35646 \x3c len__5749__auto___35645)){\nargs__5755__auto__.push((arguments[i__5750__auto___35646]));\n\nvar G__35647 \x3d (i__5750__auto___35646 + (1));\ni__5750__auto___35646 \x3d G__35647;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.for_all_STAR__ref),args);\n}));\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$applyTo \x3d (function (seq35026){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35026));\n}));\n\nvar g_QMARK__35648 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generator_QMARK_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generator_QMARK_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar g_35649 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generate !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generate;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar mkg_35650 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.__GT_Generator !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.__GT_Generator;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.generator_QMARK_ \x3d (function cljs$spec$gen$alpha$generator_QMARK_(x){\nvar fexpr__35063 \x3d cljs.core.deref(g_QMARK__35648);\nreturn (fexpr__35063.cljs$core$IFn$_invoke$arity$1 ? fexpr__35063.cljs$core$IFn$_invoke$arity$1(x) : fexpr__35063.call(null,x));\n});\n\ncljs.spec.gen.alpha.generator \x3d (function cljs$spec$gen$alpha$generator(gfn){\nvar fexpr__35071 \x3d cljs.core.deref(mkg_35650);\nreturn (fexpr__35071.cljs$core$IFn$_invoke$arity$1 ? fexpr__35071.cljs$core$IFn$_invoke$arity$1(gfn) : fexpr__35071.call(null,gfn));\n});\n\n/**\n * Generate a single value using generator.\n */\ncljs.spec.gen.alpha.generate \x3d (function cljs$spec$gen$alpha$generate(generator){\nvar fexpr__35074 \x3d cljs.core.deref(g_35649);\nreturn (fexpr__35074.cljs$core$IFn$_invoke$arity$1 ? fexpr__35074.cljs$core$IFn$_invoke$arity$1(generator) : fexpr__35074.call(null,generator));\n});\ncljs.spec.gen.alpha.delay_impl \x3d (function cljs$spec$gen$alpha$delay_impl(gfnd){\nreturn cljs.spec.gen.alpha.generator((function (rnd,size){\nvar fexpr__35083 \x3d new cljs.core.Keyword(null,\x22gen\x22,\x22gen\x22,142575302).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(gfnd));\nreturn (fexpr__35083.cljs$core$IFn$_invoke$arity$2 ? fexpr__35083.cljs$core$IFn$_invoke$arity$2(rnd,size) : fexpr__35083.call(null,rnd,size));\n}));\n});\nvar g__13308__auto___35653 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.hash_map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.hash_map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/hash-map\n */\ncljs.spec.gen.alpha.hash_map \x3d (function cljs$spec$gen$alpha$hash_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35654 \x3d arguments.length;\nvar i__5750__auto___35655 \x3d (0);\nwhile(true){\nif((i__5750__auto___35655 \x3c len__5749__auto___35654)){\nargs__5755__auto__.push((arguments[i__5750__auto___35655]));\n\nvar G__35656 \x3d (i__5750__auto___35655 + (1));\ni__5750__auto___35655 \x3d G__35656;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35653),args);\n}));\n\n(cljs.spec.gen.alpha.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.hash_map.cljs$lang$applyTo \x3d (function (seq35100){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35100));\n}));\n\n\nvar g__13308__auto___35657 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.list !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.list;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/list\n */\ncljs.spec.gen.alpha.list \x3d (function cljs$spec$gen$alpha$list(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35658 \x3d arguments.length;\nvar i__5750__auto___35659 \x3d (0);\nwhile(true){\nif((i__5750__auto___35659 \x3c len__5749__auto___35658)){\nargs__5755__auto__.push((arguments[i__5750__auto___35659]));\n\nvar G__35660 \x3d (i__5750__auto___35659 + (1));\ni__5750__auto___35659 \x3d G__35660;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35657),args);\n}));\n\n(cljs.spec.gen.alpha.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.list.cljs$lang$applyTo \x3d (function (seq35125){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35125));\n}));\n\n\nvar g__13308__auto___35661 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/map\n */\ncljs.spec.gen.alpha.map \x3d (function cljs$spec$gen$alpha$map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35663 \x3d arguments.length;\nvar i__5750__auto___35664 \x3d (0);\nwhile(true){\nif((i__5750__auto___35664 \x3c len__5749__auto___35663)){\nargs__5755__auto__.push((arguments[i__5750__auto___35664]));\n\nvar G__35665 \x3d (i__5750__auto___35664 + (1));\ni__5750__auto___35664 \x3d G__35665;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35661),args);\n}));\n\n(cljs.spec.gen.alpha.map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.map.cljs$lang$applyTo \x3d (function (seq35147){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35147));\n}));\n\n\nvar g__13308__auto___35667 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.not_empty !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.not_empty;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/not-empty\n */\ncljs.spec.gen.alpha.not_empty \x3d (function cljs$spec$gen$alpha$not_empty(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35668 \x3d arguments.length;\nvar i__5750__auto___35669 \x3d (0);\nwhile(true){\nif((i__5750__auto___35669 \x3c len__5749__auto___35668)){\nargs__5755__auto__.push((arguments[i__5750__auto___35669]));\n\nvar G__35670 \x3d (i__5750__auto___35669 + (1));\ni__5750__auto___35669 \x3d G__35670;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35667),args);\n}));\n\n(cljs.spec.gen.alpha.not_empty.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.not_empty.cljs$lang$applyTo \x3d (function (seq35155){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35155));\n}));\n\n\nvar g__13308__auto___35671 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.set !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.set;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/set\n */\ncljs.spec.gen.alpha.set \x3d (function cljs$spec$gen$alpha$set(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35672 \x3d arguments.length;\nvar i__5750__auto___35673 \x3d (0);\nwhile(true){\nif((i__5750__auto___35673 \x3c len__5749__auto___35672)){\nargs__5755__auto__.push((arguments[i__5750__auto___35673]));\n\nvar G__35674 \x3d (i__5750__auto___35673 + (1));\ni__5750__auto___35673 \x3d G__35674;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35671),args);\n}));\n\n(cljs.spec.gen.alpha.set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.set.cljs$lang$applyTo \x3d (function (seq35164){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35164));\n}));\n\n\nvar g__13308__auto___35678 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector\n */\ncljs.spec.gen.alpha.vector \x3d (function cljs$spec$gen$alpha$vector(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35684 \x3d arguments.length;\nvar i__5750__auto___35685 \x3d (0);\nwhile(true){\nif((i__5750__auto___35685 \x3c len__5749__auto___35684)){\nargs__5755__auto__.push((arguments[i__5750__auto___35685]));\n\nvar G__35691 \x3d (i__5750__auto___35685 + (1));\ni__5750__auto___35685 \x3d G__35691;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35678),args);\n}));\n\n(cljs.spec.gen.alpha.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector.cljs$lang$applyTo \x3d (function (seq35173){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35173));\n}));\n\n\nvar g__13308__auto___35704 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector_distinct !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector_distinct;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector-distinct\n */\ncljs.spec.gen.alpha.vector_distinct \x3d (function cljs$spec$gen$alpha$vector_distinct(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35707 \x3d arguments.length;\nvar i__5750__auto___35708 \x3d (0);\nwhile(true){\nif((i__5750__auto___35708 \x3c len__5749__auto___35707)){\nargs__5755__auto__.push((arguments[i__5750__auto___35708]));\n\nvar G__35709 \x3d (i__5750__auto___35708 + (1));\ni__5750__auto___35708 \x3d G__35709;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35704),args);\n}));\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$applyTo \x3d (function (seq35200){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35200));\n}));\n\n\nvar g__13308__auto___35710 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.fmap !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.fmap;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/fmap\n */\ncljs.spec.gen.alpha.fmap \x3d (function cljs$spec$gen$alpha$fmap(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35712 \x3d arguments.length;\nvar i__5750__auto___35713 \x3d (0);\nwhile(true){\nif((i__5750__auto___35713 \x3c len__5749__auto___35712)){\nargs__5755__auto__.push((arguments[i__5750__auto___35713]));\n\nvar G__35715 \x3d (i__5750__auto___35713 + (1));\ni__5750__auto___35713 \x3d G__35715;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35710),args);\n}));\n\n(cljs.spec.gen.alpha.fmap.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.fmap.cljs$lang$applyTo \x3d (function (seq35207){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35207));\n}));\n\n\nvar g__13308__auto___35717 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.elements !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.elements;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/elements\n */\ncljs.spec.gen.alpha.elements \x3d (function cljs$spec$gen$alpha$elements(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35720 \x3d arguments.length;\nvar i__5750__auto___35721 \x3d (0);\nwhile(true){\nif((i__5750__auto___35721 \x3c len__5749__auto___35720)){\nargs__5755__auto__.push((arguments[i__5750__auto___35721]));\n\nvar G__35722 \x3d (i__5750__auto___35721 + (1));\ni__5750__auto___35721 \x3d G__35722;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35717),args);\n}));\n\n(cljs.spec.gen.alpha.elements.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.elements.cljs$lang$applyTo \x3d (function (seq35234){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35234));\n}));\n\n\nvar g__13308__auto___35724 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.bind !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.bind;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/bind\n */\ncljs.spec.gen.alpha.bind \x3d (function cljs$spec$gen$alpha$bind(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35727 \x3d arguments.length;\nvar i__5750__auto___35728 \x3d (0);\nwhile(true){\nif((i__5750__auto___35728 \x3c len__5749__auto___35727)){\nargs__5755__auto__.push((arguments[i__5750__auto___35728]));\n\nvar G__35729 \x3d (i__5750__auto___35728 + (1));\ni__5750__auto___35728 \x3d G__35729;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35724),args);\n}));\n\n(cljs.spec.gen.alpha.bind.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.bind.cljs$lang$applyTo \x3d (function (seq35250){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35250));\n}));\n\n\nvar g__13308__auto___35730 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.choose !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.choose;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/choose\n */\ncljs.spec.gen.alpha.choose \x3d (function cljs$spec$gen$alpha$choose(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35732 \x3d arguments.length;\nvar i__5750__auto___35733 \x3d (0);\nwhile(true){\nif((i__5750__auto___35733 \x3c len__5749__auto___35732)){\nargs__5755__auto__.push((arguments[i__5750__auto___35733]));\n\nvar G__35734 \x3d (i__5750__auto___35733 + (1));\ni__5750__auto___35733 \x3d G__35734;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35730),args);\n}));\n\n(cljs.spec.gen.alpha.choose.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.choose.cljs$lang$applyTo \x3d (function (seq35256){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35256));\n}));\n\n\nvar g__13308__auto___35735 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.one_of !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.one_of;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/one-of\n */\ncljs.spec.gen.alpha.one_of \x3d (function cljs$spec$gen$alpha$one_of(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35737 \x3d arguments.length;\nvar i__5750__auto___35738 \x3d (0);\nwhile(true){\nif((i__5750__auto___35738 \x3c len__5749__auto___35737)){\nargs__5755__auto__.push((arguments[i__5750__auto___35738]));\n\nvar G__35739 \x3d (i__5750__auto___35738 + (1));\ni__5750__auto___35738 \x3d G__35739;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35735),args);\n}));\n\n(cljs.spec.gen.alpha.one_of.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.one_of.cljs$lang$applyTo \x3d (function (seq35257){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35257));\n}));\n\n\nvar g__13308__auto___35742 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.such_that !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.such_that;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/such-that\n */\ncljs.spec.gen.alpha.such_that \x3d (function cljs$spec$gen$alpha$such_that(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35744 \x3d arguments.length;\nvar i__5750__auto___35745 \x3d (0);\nwhile(true){\nif((i__5750__auto___35745 \x3c len__5749__auto___35744)){\nargs__5755__auto__.push((arguments[i__5750__auto___35745]));\n\nvar G__35746 \x3d (i__5750__auto___35745 + (1));\ni__5750__auto___35745 \x3d G__35746;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35742),args);\n}));\n\n(cljs.spec.gen.alpha.such_that.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.such_that.cljs$lang$applyTo \x3d (function (seq35263){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35263));\n}));\n\n\nvar g__13308__auto___35748 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.tuple !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.tuple;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/tuple\n */\ncljs.spec.gen.alpha.tuple \x3d (function cljs$spec$gen$alpha$tuple(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35751 \x3d arguments.length;\nvar i__5750__auto___35752 \x3d (0);\nwhile(true){\nif((i__5750__auto___35752 \x3c len__5749__auto___35751)){\nargs__5755__auto__.push((arguments[i__5750__auto___35752]));\n\nvar G__35753 \x3d (i__5750__auto___35752 + (1));\ni__5750__auto___35752 \x3d G__35753;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35748),args);\n}));\n\n(cljs.spec.gen.alpha.tuple.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.tuple.cljs$lang$applyTo \x3d (function (seq35270){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35270));\n}));\n\n\nvar g__13308__auto___35754 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.sample !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.sample;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/sample\n */\ncljs.spec.gen.alpha.sample \x3d (function cljs$spec$gen$alpha$sample(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35756 \x3d arguments.length;\nvar i__5750__auto___35757 \x3d (0);\nwhile(true){\nif((i__5750__auto___35757 \x3c len__5749__auto___35756)){\nargs__5755__auto__.push((arguments[i__5750__auto___35757]));\n\nvar G__35759 \x3d (i__5750__auto___35757 + (1));\ni__5750__auto___35757 \x3d G__35759;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35754),args);\n}));\n\n(cljs.spec.gen.alpha.sample.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.sample.cljs$lang$applyTo \x3d (function (seq35271){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35271));\n}));\n\n\nvar g__13308__auto___35762 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.return$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.return$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/return\n */\ncljs.spec.gen.alpha.return$ \x3d (function cljs$spec$gen$alpha$return(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35763 \x3d arguments.length;\nvar i__5750__auto___35764 \x3d (0);\nwhile(true){\nif((i__5750__auto___35764 \x3c len__5749__auto___35763)){\nargs__5755__auto__.push((arguments[i__5750__auto___35764]));\n\nvar G__35765 \x3d (i__5750__auto___35764 + (1));\ni__5750__auto___35764 \x3d G__35765;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35762),args);\n}));\n\n(cljs.spec.gen.alpha.return$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.return$.cljs$lang$applyTo \x3d (function (seq35274){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35274));\n}));\n\n\nvar g__13308__auto___35767 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/large-integer*\n */\ncljs.spec.gen.alpha.large_integer_STAR_ \x3d (function cljs$spec$gen$alpha$large_integer_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35768 \x3d arguments.length;\nvar i__5750__auto___35769 \x3d (0);\nwhile(true){\nif((i__5750__auto___35769 \x3c len__5749__auto___35768)){\nargs__5755__auto__.push((arguments[i__5750__auto___35769]));\n\nvar G__35770 \x3d (i__5750__auto___35769 + (1));\ni__5750__auto___35769 \x3d G__35770;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35767),args);\n}));\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$applyTo \x3d (function (seq35277){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35277));\n}));\n\n\nvar g__13308__auto___35771 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/double*\n */\ncljs.spec.gen.alpha.double_STAR_ \x3d (function cljs$spec$gen$alpha$double_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35777 \x3d arguments.length;\nvar i__5750__auto___35778 \x3d (0);\nwhile(true){\nif((i__5750__auto___35778 \x3c len__5749__auto___35777)){\nargs__5755__auto__.push((arguments[i__5750__auto___35778]));\n\nvar G__35782 \x3d (i__5750__auto___35778 + (1));\ni__5750__auto___35778 \x3d G__35782;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35771),args);\n}));\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$applyTo \x3d (function (seq35282){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35282));\n}));\n\n\nvar g__13308__auto___35796 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.frequency !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.frequency;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/frequency\n */\ncljs.spec.gen.alpha.frequency \x3d (function cljs$spec$gen$alpha$frequency(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35799 \x3d arguments.length;\nvar i__5750__auto___35800 \x3d (0);\nwhile(true){\nif((i__5750__auto___35800 \x3c len__5749__auto___35799)){\nargs__5755__auto__.push((arguments[i__5750__auto___35800]));\n\nvar G__35801 \x3d (i__5750__auto___35800 + (1));\ni__5750__auto___35800 \x3d G__35801;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35796),args);\n}));\n\n(cljs.spec.gen.alpha.frequency.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.frequency.cljs$lang$applyTo \x3d (function (seq35284){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35284));\n}));\n\n\nvar g__13308__auto___35802 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.shuffle !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.shuffle;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/shuffle\n */\ncljs.spec.gen.alpha.shuffle \x3d (function cljs$spec$gen$alpha$shuffle(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35804 \x3d arguments.length;\nvar i__5750__auto___35805 \x3d (0);\nwhile(true){\nif((i__5750__auto___35805 \x3c len__5749__auto___35804)){\nargs__5755__auto__.push((arguments[i__5750__auto___35805]));\n\nvar G__35806 \x3d (i__5750__auto___35805 + (1));\ni__5750__auto___35805 \x3d G__35806;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13308__auto___35802),args);\n}));\n\n(cljs.spec.gen.alpha.shuffle.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.shuffle.cljs$lang$applyTo \x3d (function (seq35286){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35286));\n}));\n\nvar g__13321__auto___35809 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any\n */\ncljs.spec.gen.alpha.any \x3d (function cljs$spec$gen$alpha$any(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35811 \x3d arguments.length;\nvar i__5750__auto___35812 \x3d (0);\nwhile(true){\nif((i__5750__auto___35812 \x3c len__5749__auto___35811)){\nargs__5755__auto__.push((arguments[i__5750__auto___35812]));\n\nvar G__35814 \x3d (i__5750__auto___35812 + (1));\ni__5750__auto___35812 \x3d G__35814;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35809);\n}));\n\n(cljs.spec.gen.alpha.any.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any.cljs$lang$applyTo \x3d (function (seq35289){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35289));\n}));\n\n\nvar g__13321__auto___35816 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any-printable\n */\ncljs.spec.gen.alpha.any_printable \x3d (function cljs$spec$gen$alpha$any_printable(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35818 \x3d arguments.length;\nvar i__5750__auto___35819 \x3d (0);\nwhile(true){\nif((i__5750__auto___35819 \x3c len__5749__auto___35818)){\nargs__5755__auto__.push((arguments[i__5750__auto___35819]));\n\nvar G__35821 \x3d (i__5750__auto___35819 + (1));\ni__5750__auto___35819 \x3d G__35821;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35816);\n}));\n\n(cljs.spec.gen.alpha.any_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any_printable.cljs$lang$applyTo \x3d (function (seq35292){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35292));\n}));\n\n\nvar g__13321__auto___35823 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.boolean$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.boolean$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/boolean\n */\ncljs.spec.gen.alpha.boolean$ \x3d (function cljs$spec$gen$alpha$boolean(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35824 \x3d arguments.length;\nvar i__5750__auto___35825 \x3d (0);\nwhile(true){\nif((i__5750__auto___35825 \x3c len__5749__auto___35824)){\nargs__5755__auto__.push((arguments[i__5750__auto___35825]));\n\nvar G__35826 \x3d (i__5750__auto___35825 + (1));\ni__5750__auto___35825 \x3d G__35826;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35823);\n}));\n\n(cljs.spec.gen.alpha.boolean$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.boolean$.cljs$lang$applyTo \x3d (function (seq35336){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35336));\n}));\n\n\nvar g__13321__auto___35829 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char\n */\ncljs.spec.gen.alpha.char$ \x3d (function cljs$spec$gen$alpha$char(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35831 \x3d arguments.length;\nvar i__5750__auto___35832 \x3d (0);\nwhile(true){\nif((i__5750__auto___35832 \x3c len__5749__auto___35831)){\nargs__5755__auto__.push((arguments[i__5750__auto___35832]));\n\nvar G__35833 \x3d (i__5750__auto___35832 + (1));\ni__5750__auto___35832 \x3d G__35833;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35829);\n}));\n\n(cljs.spec.gen.alpha.char$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char$.cljs$lang$applyTo \x3d (function (seq35342){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35342));\n}));\n\n\nvar g__13321__auto___35836 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alpha !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alpha;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alpha\n */\ncljs.spec.gen.alpha.char_alpha \x3d (function cljs$spec$gen$alpha$char_alpha(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35838 \x3d arguments.length;\nvar i__5750__auto___35839 \x3d (0);\nwhile(true){\nif((i__5750__auto___35839 \x3c len__5749__auto___35838)){\nargs__5755__auto__.push((arguments[i__5750__auto___35839]));\n\nvar G__35840 \x3d (i__5750__auto___35839 + (1));\ni__5750__auto___35839 \x3d G__35840;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35836);\n}));\n\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$applyTo \x3d (function (seq35365){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35365));\n}));\n\n\nvar g__13321__auto___35843 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alphanumeric\n */\ncljs.spec.gen.alpha.char_alphanumeric \x3d (function cljs$spec$gen$alpha$char_alphanumeric(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35845 \x3d arguments.length;\nvar i__5750__auto___35846 \x3d (0);\nwhile(true){\nif((i__5750__auto___35846 \x3c len__5749__auto___35845)){\nargs__5755__auto__.push((arguments[i__5750__auto___35846]));\n\nvar G__35847 \x3d (i__5750__auto___35846 + (1));\ni__5750__auto___35846 \x3d G__35847;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35843);\n}));\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$applyTo \x3d (function (seq35413){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35413));\n}));\n\n\nvar g__13321__auto___35849 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-ascii\n */\ncljs.spec.gen.alpha.char_ascii \x3d (function cljs$spec$gen$alpha$char_ascii(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35851 \x3d arguments.length;\nvar i__5750__auto___35852 \x3d (0);\nwhile(true){\nif((i__5750__auto___35852 \x3c len__5749__auto___35851)){\nargs__5755__auto__.push((arguments[i__5750__auto___35852]));\n\nvar G__35853 \x3d (i__5750__auto___35852 + (1));\ni__5750__auto___35852 \x3d G__35853;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35849);\n}));\n\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$applyTo \x3d (function (seq35416){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35416));\n}));\n\n\nvar g__13321__auto___35854 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/double\n */\ncljs.spec.gen.alpha.double$ \x3d (function cljs$spec$gen$alpha$double(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35856 \x3d arguments.length;\nvar i__5750__auto___35859 \x3d (0);\nwhile(true){\nif((i__5750__auto___35859 \x3c len__5749__auto___35856)){\nargs__5755__auto__.push((arguments[i__5750__auto___35859]));\n\nvar G__35862 \x3d (i__5750__auto___35859 + (1));\ni__5750__auto___35859 \x3d G__35862;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35854);\n}));\n\n(cljs.spec.gen.alpha.double$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double$.cljs$lang$applyTo \x3d (function (seq35424){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35424));\n}));\n\n\nvar g__13321__auto___35865 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.int$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.int$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/int\n */\ncljs.spec.gen.alpha.int$ \x3d (function cljs$spec$gen$alpha$int(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35866 \x3d arguments.length;\nvar i__5750__auto___35867 \x3d (0);\nwhile(true){\nif((i__5750__auto___35867 \x3c len__5749__auto___35866)){\nargs__5755__auto__.push((arguments[i__5750__auto___35867]));\n\nvar G__35868 \x3d (i__5750__auto___35867 + (1));\ni__5750__auto___35867 \x3d G__35868;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35865);\n}));\n\n(cljs.spec.gen.alpha.int$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.int$.cljs$lang$applyTo \x3d (function (seq35442){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35442));\n}));\n\n\nvar g__13321__auto___35869 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword\n */\ncljs.spec.gen.alpha.keyword \x3d (function cljs$spec$gen$alpha$keyword(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35871 \x3d arguments.length;\nvar i__5750__auto___35872 \x3d (0);\nwhile(true){\nif((i__5750__auto___35872 \x3c len__5749__auto___35871)){\nargs__5755__auto__.push((arguments[i__5750__auto___35872]));\n\nvar G__35873 \x3d (i__5750__auto___35872 + (1));\ni__5750__auto___35872 \x3d G__35873;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35869);\n}));\n\n(cljs.spec.gen.alpha.keyword.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword.cljs$lang$applyTo \x3d (function (seq35445){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35445));\n}));\n\n\nvar g__13321__auto___35875 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword-ns\n */\ncljs.spec.gen.alpha.keyword_ns \x3d (function cljs$spec$gen$alpha$keyword_ns(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35877 \x3d arguments.length;\nvar i__5750__auto___35879 \x3d (0);\nwhile(true){\nif((i__5750__auto___35879 \x3c len__5749__auto___35877)){\nargs__5755__auto__.push((arguments[i__5750__auto___35879]));\n\nvar G__35880 \x3d (i__5750__auto___35879 + (1));\ni__5750__auto___35879 \x3d G__35880;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35875);\n}));\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$applyTo \x3d (function (seq35456){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35456));\n}));\n\n\nvar g__13321__auto___35882 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/large-integer\n */\ncljs.spec.gen.alpha.large_integer \x3d (function cljs$spec$gen$alpha$large_integer(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35884 \x3d arguments.length;\nvar i__5750__auto___35885 \x3d (0);\nwhile(true){\nif((i__5750__auto___35885 \x3c len__5749__auto___35884)){\nargs__5755__auto__.push((arguments[i__5750__auto___35885]));\n\nvar G__35886 \x3d (i__5750__auto___35885 + (1));\ni__5750__auto___35885 \x3d G__35886;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35882);\n}));\n\n(cljs.spec.gen.alpha.large_integer.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer.cljs$lang$applyTo \x3d (function (seq35462){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35462));\n}));\n\n\nvar g__13321__auto___35888 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.ratio !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.ratio;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/ratio\n */\ncljs.spec.gen.alpha.ratio \x3d (function cljs$spec$gen$alpha$ratio(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35889 \x3d arguments.length;\nvar i__5750__auto___35890 \x3d (0);\nwhile(true){\nif((i__5750__auto___35890 \x3c len__5749__auto___35889)){\nargs__5755__auto__.push((arguments[i__5750__auto___35890]));\n\nvar G__35892 \x3d (i__5750__auto___35890 + (1));\ni__5750__auto___35890 \x3d G__35892;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35888);\n}));\n\n(cljs.spec.gen.alpha.ratio.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.ratio.cljs$lang$applyTo \x3d (function (seq35469){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35469));\n}));\n\n\nvar g__13321__auto___35894 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type\n */\ncljs.spec.gen.alpha.simple_type \x3d (function cljs$spec$gen$alpha$simple_type(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35895 \x3d arguments.length;\nvar i__5750__auto___35896 \x3d (0);\nwhile(true){\nif((i__5750__auto___35896 \x3c len__5749__auto___35895)){\nargs__5755__auto__.push((arguments[i__5750__auto___35896]));\n\nvar G__35897 \x3d (i__5750__auto___35896 + (1));\ni__5750__auto___35896 \x3d G__35897;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35894);\n}));\n\n(cljs.spec.gen.alpha.simple_type.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type.cljs$lang$applyTo \x3d (function (seq35485){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35485));\n}));\n\n\nvar g__13321__auto___35898 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type-printable\n */\ncljs.spec.gen.alpha.simple_type_printable \x3d (function cljs$spec$gen$alpha$simple_type_printable(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35901 \x3d arguments.length;\nvar i__5750__auto___35903 \x3d (0);\nwhile(true){\nif((i__5750__auto___35903 \x3c len__5749__auto___35901)){\nargs__5755__auto__.push((arguments[i__5750__auto___35903]));\n\nvar G__35904 \x3d (i__5750__auto___35903 + (1));\ni__5750__auto___35903 \x3d G__35904;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35898);\n}));\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$applyTo \x3d (function (seq35494){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35494));\n}));\n\n\nvar g__13321__auto___35915 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string\n */\ncljs.spec.gen.alpha.string \x3d (function cljs$spec$gen$alpha$string(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35927 \x3d arguments.length;\nvar i__5750__auto___35928 \x3d (0);\nwhile(true){\nif((i__5750__auto___35928 \x3c len__5749__auto___35927)){\nargs__5755__auto__.push((arguments[i__5750__auto___35928]));\n\nvar G__35929 \x3d (i__5750__auto___35928 + (1));\ni__5750__auto___35928 \x3d G__35929;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35915);\n}));\n\n(cljs.spec.gen.alpha.string.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string.cljs$lang$applyTo \x3d (function (seq35512){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35512));\n}));\n\n\nvar g__13321__auto___35933 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-ascii\n */\ncljs.spec.gen.alpha.string_ascii \x3d (function cljs$spec$gen$alpha$string_ascii(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35934 \x3d arguments.length;\nvar i__5750__auto___35935 \x3d (0);\nwhile(true){\nif((i__5750__auto___35935 \x3c len__5749__auto___35934)){\nargs__5755__auto__.push((arguments[i__5750__auto___35935]));\n\nvar G__35936 \x3d (i__5750__auto___35935 + (1));\ni__5750__auto___35935 \x3d G__35936;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35933);\n}));\n\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$applyTo \x3d (function (seq35519){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35519));\n}));\n\n\nvar g__13321__auto___35938 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-alphanumeric\n */\ncljs.spec.gen.alpha.string_alphanumeric \x3d (function cljs$spec$gen$alpha$string_alphanumeric(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35939 \x3d arguments.length;\nvar i__5750__auto___35940 \x3d (0);\nwhile(true){\nif((i__5750__auto___35940 \x3c len__5749__auto___35939)){\nargs__5755__auto__.push((arguments[i__5750__auto___35940]));\n\nvar G__35941 \x3d (i__5750__auto___35940 + (1));\ni__5750__auto___35940 \x3d G__35941;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35938);\n}));\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$applyTo \x3d (function (seq35532){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35532));\n}));\n\n\nvar g__13321__auto___35947 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol\n */\ncljs.spec.gen.alpha.symbol \x3d (function cljs$spec$gen$alpha$symbol(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35948 \x3d arguments.length;\nvar i__5750__auto___35949 \x3d (0);\nwhile(true){\nif((i__5750__auto___35949 \x3c len__5749__auto___35948)){\nargs__5755__auto__.push((arguments[i__5750__auto___35949]));\n\nvar G__35950 \x3d (i__5750__auto___35949 + (1));\ni__5750__auto___35949 \x3d G__35950;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35947);\n}));\n\n(cljs.spec.gen.alpha.symbol.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol.cljs$lang$applyTo \x3d (function (seq35550){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35550));\n}));\n\n\nvar g__13321__auto___35952 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol-ns\n */\ncljs.spec.gen.alpha.symbol_ns \x3d (function cljs$spec$gen$alpha$symbol_ns(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35954 \x3d arguments.length;\nvar i__5750__auto___35956 \x3d (0);\nwhile(true){\nif((i__5750__auto___35956 \x3c len__5749__auto___35954)){\nargs__5755__auto__.push((arguments[i__5750__auto___35956]));\n\nvar G__35957 \x3d (i__5750__auto___35956 + (1));\ni__5750__auto___35956 \x3d G__35957;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35952);\n}));\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$applyTo \x3d (function (seq35557){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35557));\n}));\n\n\nvar g__13321__auto___35958 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.uuid !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.uuid;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/uuid\n */\ncljs.spec.gen.alpha.uuid \x3d (function cljs$spec$gen$alpha$uuid(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35960 \x3d arguments.length;\nvar i__5750__auto___35961 \x3d (0);\nwhile(true){\nif((i__5750__auto___35961 \x3c len__5749__auto___35960)){\nargs__5755__auto__.push((arguments[i__5750__auto___35961]));\n\nvar G__35962 \x3d (i__5750__auto___35961 + (1));\ni__5750__auto___35961 \x3d G__35962;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13321__auto___35958);\n}));\n\n(cljs.spec.gen.alpha.uuid.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.uuid.cljs$lang$applyTo \x3d (function (seq35565){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35565));\n}));\n\n/**\n * Returns a generator of a sequence catenated from results of\n * gens, each of which should generate something sequential.\n */\ncljs.spec.gen.alpha.cat \x3d (function cljs$spec$gen$alpha$cat(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35965 \x3d arguments.length;\nvar i__5750__auto___35966 \x3d (0);\nwhile(true){\nif((i__5750__auto___35966 \x3c len__5749__auto___35965)){\nargs__5755__auto__.push((arguments[i__5750__auto___35966]));\n\nvar G__35967 \x3d (i__5750__auto___35966 + (1));\ni__5750__auto___35966 \x3d G__35967;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (gens){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__35605_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__35605_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gens)], 0));\n}));\n\n(cljs.spec.gen.alpha.cat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.cat.cljs$lang$applyTo \x3d (function (seq35606){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35606));\n}));\n\ncljs.spec.gen.alpha.qualified_QMARK_ \x3d (function cljs$spec$gen$alpha$qualified_QMARK_(ident){\nreturn (!((cljs.core.namespace(ident) \x3d\x3d null)));\n});\ncljs.spec.gen.alpha.gen_builtins \x3d (new cljs.core.Delay((function (){\nvar simple \x3d cljs.spec.gen.alpha.simple_type_printable();\nreturn cljs.core.PersistentHashMap.fromArrays([cljs.core.qualified_keyword_QMARK_,cljs.core.seq_QMARK_,cljs.core.vector_QMARK_,cljs.core.any_QMARK_,cljs.core.boolean_QMARK_,cljs.core.char_QMARK_,cljs.core.some_QMARK_,cljs.core.inst_QMARK_,cljs.core.simple_symbol_QMARK_,cljs.core.sequential_QMARK_,cljs.core.float_QMARK_,cljs.core.set_QMARK_,cljs.core.map_QMARK_,cljs.core.empty_QMARK_,cljs.core.string_QMARK_,cljs.core.uri_QMARK_,cljs.core.double_QMARK_,cljs.core.int_QMARK_,cljs.core.associative_QMARK_,cljs.core.keyword_QMARK_,cljs.core.indexed_QMARK_,cljs.core.zero_QMARK_,cljs.core.simple_keyword_QMARK_,cljs.core.neg_int_QMARK_,cljs.core.nil_QMARK_,cljs.core.ident_QMARK_,cljs.core.qualified_ident_QMARK_,cljs.core.true_QMARK_,cljs.core.integer_QMARK_,cljs.core.nat_int_QMARK_,cljs.core.pos_int_QMARK_,cljs.core.uuid_QMARK_,cljs.core.false_QMARK_,cljs.core.list_QMARK_,cljs.core.simple_ident_QMARK_,cljs.core.number_QMARK_,cljs.core.qualified_symbol_QMARK_,cljs.core.seqable_QMARK_,cljs.core.symbol_QMARK_,cljs.core.coll_QMARK_],[cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.keyword_ns()], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.any_printable()], null)], 0)),cljs.spec.gen.alpha.boolean$(),cljs.spec.gen.alpha.char$(),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.some_QMARK_,cljs.spec.gen.alpha.any_printable()], 0)),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__35617_SHARP_){\nreturn (new Date(p1__35617_SHARP_));\n}),cljs.spec.gen.alpha.large_integer()], 0)),cljs.spec.gen.alpha.symbol(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.List.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentArrayMap.EMPTY,cljs.core.PersistentHashSet.EMPTY], null)], 0)),cljs.spec.gen.alpha.string_alphanumeric(),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__35616_SHARP_){\nreturn (new goog.Uri([\x22http://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__35616_SHARP_),\x22.com\x22].join(\x27\x27)));\n}),cljs.spec.gen.alpha.uuid()], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(0)], 0)),cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),(-1)], null)], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0))], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([true], 0)),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(0)], null)], 0)),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(1)], null)], 0)),cljs.spec.gen.alpha.uuid(),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([false], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.symbol()], null)], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.double$()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.symbol_ns()], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.string_alphanumeric()], null)], 0)),cljs.spec.gen.alpha.symbol_ns(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0))]);\n}),null));\n/**\n * Given a predicate, returns a built-in generator if one exists.\n */\ncljs.spec.gen.alpha.gen_for_pred \x3d (function cljs$spec$gen$alpha$gen_for_pred(pred){\nif(cljs.core.set_QMARK_(pred)){\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pred], 0));\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.gen_builtins),pred);\n}\n});\n");
SHADOW_ENV.evalLoad("cljs.spec.alpha.js", true, "goog.provide(\x27cljs.spec.alpha\x27);\ngoog.scope(function(){\n  cljs.spec.alpha.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ncljs.spec.alpha.MAX_INT \x3d (9007199254740991);\n/**\n * A soft limit on how many times a branching spec (or/alt/* /opt-keys/multi-spec)\n *   can be recursed through during generation. After this a\n *   non-recursive branch will be chosen.\n */\ncljs.spec.alpha._STAR_recursion_limit_STAR_ \x3d (4);\n/**\n * The number of times an anonymous fn specified by fspec will be (generatively) tested during conform\n */\ncljs.spec.alpha._STAR_fspec_iterations_STAR_ \x3d (21);\n/**\n * The number of items validated in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_check_limit_STAR_ \x3d (101);\n/**\n * The number of errors reported by explain in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_error_limit_STAR_ \x3d (20);\n\n/**\n * @interface\n */\ncljs.spec.alpha.Spec \x3d function(){};\n\nvar cljs$spec$alpha$Spec$conform_STAR_$dyn_37803 \x3d (function (spec,x){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.conform_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5374__auto__.call(null,spec,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.conform_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5372__auto__.call(null,spec,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.conform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.conform_STAR_ \x3d (function cljs$spec$alpha$conform_STAR_(spec,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2(spec,x);\n} else {\nreturn cljs$spec$alpha$Spec$conform_STAR_$dyn_37803(spec,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$unform_STAR_$dyn_37806 \x3d (function (spec,y){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.unform_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5374__auto__.call(null,spec,y));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.unform_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5372__auto__.call(null,spec,y));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.unform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.unform_STAR_ \x3d (function cljs$spec$alpha$unform_STAR_(spec,y){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2(spec,y);\n} else {\nreturn cljs$spec$alpha$Spec$unform_STAR_$dyn_37806(spec,y);\n}\n});\n\nvar cljs$spec$alpha$Spec$explain_STAR_$dyn_37813 \x3d (function (spec,path,via,in$,x){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.explain_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5374__auto__.call(null,spec,path,via,in$,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.explain_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5372__auto__.call(null,spec,path,via,in$,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.explain*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.explain_STAR_ \x3d (function cljs$spec$alpha$explain_STAR_(spec,path,via,in$,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5(spec,path,via,in$,x);\n} else {\nreturn cljs$spec$alpha$Spec$explain_STAR_$dyn_37813(spec,path,via,in$,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$gen_STAR_$dyn_37816 \x3d (function (spec,overrides,path,rmap){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.gen_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5374__auto__.call(null,spec,overrides,path,rmap));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.gen_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5372__auto__.call(null,spec,overrides,path,rmap));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.gen_STAR_ \x3d (function cljs$spec$alpha$gen_STAR_(spec,overrides,path,rmap){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4(spec,overrides,path,rmap);\n} else {\nreturn cljs$spec$alpha$Spec$gen_STAR_$dyn_37816(spec,overrides,path,rmap);\n}\n});\n\nvar cljs$spec$alpha$Spec$with_gen_STAR_$dyn_37820 \x3d (function (spec,gfn){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5374__auto__.call(null,spec,gfn));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5372__auto__.call(null,spec,gfn));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.with-gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.with_gen_STAR_ \x3d (function cljs$spec$alpha$with_gen_STAR_(spec,gfn){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2(spec,gfn);\n} else {\nreturn cljs$spec$alpha$Spec$with_gen_STAR_$dyn_37820(spec,gfn);\n}\n});\n\nvar cljs$spec$alpha$Spec$describe_STAR_$dyn_37823 \x3d (function (spec){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.describe_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5374__auto__.call(null,spec));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.describe_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5372__auto__.call(null,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.describe*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.describe_STAR_ \x3d (function cljs$spec$alpha$describe_STAR_(spec){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1(spec);\n} else {\nreturn cljs$spec$alpha$Spec$describe_STAR_$dyn_37823(spec);\n}\n});\n\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.registry_ref !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha.registry_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\ncljs.spec.alpha.deep_resolve \x3d (function cljs$spec$alpha$deep_resolve(reg,k){\nvar spec \x3d k;\nwhile(true){\nif(cljs.core.ident_QMARK_(spec)){\nvar G__37828 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,spec);\nspec \x3d G__37828;\ncontinue;\n} else {\nreturn spec;\n}\nbreak;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, nil if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve \x3d (function cljs$spec$alpha$reg_resolve(k){\nif(cljs.core.ident_QMARK_(k)){\nvar reg \x3d cljs.core.deref(cljs.spec.alpha.registry_ref);\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,k);\nif((!(cljs.core.ident_QMARK_(spec)))){\nreturn spec;\n} else {\nreturn cljs.spec.alpha.deep_resolve(reg,spec);\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, throws if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve_BANG_ \x3d (function cljs$spec$alpha$reg_resolve_BANG_(k){\nif(cljs.core.ident_QMARK_(k)){\nvar or__5025__auto__ \x3d cljs.spec.alpha.reg_resolve(k);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(\x27\x27)));\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns x if x is a spec object, else logical false\n */\ncljs.spec.alpha.spec_QMARK_ \x3d (function cljs$spec$alpha$spec_QMARK_(x){\nif((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$spec$alpha$Spec$))))?true:false):false)){\nreturn x;\n} else {\nreturn null;\n}\n});\n/**\n * returns x if x is a (cljs.spec.alpha) regex op, else logical false\n */\ncljs.spec.alpha.regex_QMARK_ \x3d (function cljs$spec$alpha$regex_QMARK_(x){\nvar and__5023__auto__ \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(x);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn x;\n} else {\nreturn and__5023__auto__;\n}\n});\ncljs.spec.alpha.with_name \x3d (function cljs$spec$alpha$with_name(spec,name){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(spec,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(spec),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name));\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.spec_name \x3d (function cljs$spec$alpha$spec_name(spec){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(spec);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(spec));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * spec-or-k must be a spec, regex or resolvable kw/sym, else returns nil.\n */\ncljs.spec.alpha.maybe_spec \x3d (function cljs$spec$alpha$maybe_spec(spec_or_k){\nvar s \x3d (function (){var or__5025__auto__ \x3d (function (){var and__5023__auto__ \x3d cljs.core.ident_QMARK_(spec_or_k);\nif(and__5023__auto__){\nreturn cljs.spec.alpha.reg_resolve(spec_or_k);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.spec.alpha.spec_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d cljs.spec.alpha.regex_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn null;\n}\n}\n}\n})();\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(s))){\nreturn cljs.spec.alpha.with_name(cljs.spec.alpha.regex_spec_impl(s,null),cljs.spec.alpha.spec_name(s));\n} else {\nreturn s;\n}\n});\n/**\n * spec-or-k must be a spec, regex or kw/sym, else returns nil. Throws if unresolvable kw/sym\n */\ncljs.spec.alpha.the_spec \x3d (function cljs$spec$alpha$the_spec(spec_or_k){\nvar or__5025__auto__ \x3d cljs.spec.alpha.maybe_spec(spec_or_k);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.ident_QMARK_(spec_or_k)){\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec_or_k)].join(\x27\x27)));\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.fn_sym \x3d (function cljs$spec$alpha$fn_sym(f_n){\nif(clojure.string.blank_QMARK_(f_n)){\nreturn null;\n} else {\nvar xs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.demunge,clojure.string.split.cljs$core$IFn$_invoke$arity$2(f_n,\x22$\x22));\nif(((((2) \x3c\x3d cljs.core.count(xs))) \x26\x26 (cljs.core.every_QMARK_((function (p1__35932_SHARP_){\nreturn (!(clojure.string.blank_QMARK_(p1__35932_SHARP_)));\n}),xs)))){\nvar vec__35944 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.butlast,cljs.core.last)(xs);\nvar xs__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35944,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35944,(1),null);\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,xs__$1),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27));\n} else {\nreturn null;\n}\n}\n});\n\n/**\n * @interface\n */\ncljs.spec.alpha.Specize \x3d function(){};\n\nvar cljs$spec$alpha$Specize$specize_STAR_$dyn_37850 \x3d (function() {\nvar G__37851 \x3d null;\nvar G__37851__1 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nvar G__37851__2 \x3d (function (_,form){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5374__auto__.call(null,_,form));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5372__auto__.call(null,_,form));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nG__37851 \x3d function(_,form){\nswitch(arguments.length){\ncase 1:\nreturn G__37851__1.call(this,_);\ncase 2:\nreturn G__37851__2.call(this,_,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__37851.cljs$core$IFn$_invoke$arity$1 \x3d G__37851__1;\nG__37851.cljs$core$IFn$_invoke$arity$2 \x3d G__37851__2;\nreturn G__37851;\n})()\n;\ncljs.spec.alpha.specize_STAR_ \x3d (function cljs$spec$alpha$specize_STAR_(var_args){\nvar G__35972 \x3d arguments.length;\nswitch (G__35972) {\ncase 1:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$1(_);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_37850(_);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (_,form){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$2(_,form);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_37850(_,form);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (k){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (k,_){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.spec.alpha.Specize[\x22_\x22] \x3d true);\n\n(cljs.spec.alpha.specize_STAR_[\x22_\x22] \x3d (function() {\nvar G__37861 \x3d null;\nvar G__37861__1 \x3d (function (o){\nvar temp__5802__auto__ \x3d (function (){var and__5023__auto__ \x3d cljs.core.fn_QMARK_(o);\nif(and__5023__auto__){\nreturn cljs.spec.alpha.fn_sym(o.name);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f_n \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(f_n,o,null,null);\n} else {\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818),o,null,null);\n}\n});\nvar G__37861__2 \x3d (function (o,form){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,o,null,null);\n});\nG__37861 \x3d function(o,form){\nswitch(arguments.length){\ncase 1:\nreturn G__37861__1.call(this,o);\ncase 2:\nreturn G__37861__2.call(this,o,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__37861.cljs$core$IFn$_invoke$arity$1 \x3d G__37861__1;\nG__37861.cljs$core$IFn$_invoke$arity$2 \x3d G__37861__2;\nreturn G__37861;\n})()\n);\ncljs.spec.alpha.specize \x3d (function cljs$spec$alpha$specize(var_args){\nvar G__35985 \x3d arguments.length;\nswitch (G__35985) {\ncase 1:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nvar or__5025__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,form){\nvar or__5025__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s,form);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * tests the validity of a conform return value\n */\ncljs.spec.alpha.invalid_QMARK_ \x3d (function cljs$spec$alpha$invalid_QMARK_(ret){\nreturn cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119),ret);\n});\n/**\n * Given a spec and a value, returns :cljs.spec.alpha/invalid if value does\n *   not match spec, else the (possibly destructured) value.\n */\ncljs.spec.alpha.conform \x3d (function cljs$spec$alpha$conform(spec,x){\nreturn cljs.spec.alpha.conform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * Given a spec and a value created by or compliant with a call to\n *   \x27conform\x27 with the same spec, returns a value with all conform\n * destructuring undone.\n */\ncljs.spec.alpha.unform \x3d (function cljs$spec$alpha$unform(spec,x){\nreturn cljs.spec.alpha.unform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * returns the spec as data\n */\ncljs.spec.alpha.form \x3d (function cljs$spec$alpha$form(spec){\nreturn cljs.spec.alpha.describe_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec));\n});\ncljs.spec.alpha.abbrev \x3d (function cljs$spec$alpha$abbrev(form){\nif(cljs.core.seq_QMARK_(form)){\nreturn clojure.walk.postwalk((function (form__$1){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (form__$1 instanceof cljs.core.Symbol);\nif(and__5023__auto__){\nreturn cljs.core.namespace(form__$1);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form__$1));\n} else {\nif(((cljs.core.seq_QMARK_(form__$1)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),cljs.core.first(form__$1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.second(form__$1))))))){\nreturn cljs.core.last(form__$1);\n} else {\nreturn form__$1;\n\n}\n}\n}),form);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (form instanceof cljs.core.Symbol);\nif(and__5023__auto__){\nreturn cljs.core.namespace(form);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form));\n} else {\nreturn form;\n\n}\n}\n});\n/**\n * returns an abbreviated description of the spec as data\n */\ncljs.spec.alpha.describe \x3d (function cljs$spec$alpha$describe(spec){\nreturn cljs.spec.alpha.abbrev(cljs.spec.alpha.form(spec));\n});\n/**\n * Takes a spec and a no-arg, generator-returning fn and returns a version of that spec that uses that generator\n */\ncljs.spec.alpha.with_gen \x3d (function cljs$spec$alpha$with_gen(spec,gen_fn){\nvar spec__$1 \x3d cljs.spec.alpha.reg_resolve(spec);\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec__$1))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375),gen_fn);\n} else {\nreturn cljs.spec.alpha.with_gen_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec__$1),gen_fn);\n}\n});\ncljs.spec.alpha.explain_data_STAR_ \x3d (function cljs$spec$alpha$explain_data_STAR_(spec,path,via,in$,x){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.explain_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),path,via,in$,x);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar probs \x3d temp__5804__auto__;\nif(cljs.core.empty_QMARK_(probs)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),probs,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22spec\x22,\x22cljs.spec.alpha/spec\x22,1947137578),spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22value\x22,\x22cljs.spec.alpha/value\x22,1974786274),x], null);\n}\n} else {\nreturn null;\n}\n});\n/**\n * Given a spec and a value x which ought to conform, returns nil if x\n *   conforms, else a map with at least the key ::problems whose value is\n *   a collection of problem-maps, where problem-map has at least :path :pred and :val\n *   keys describing the predicate and the value that failed at that\n *   path.\n */\ncljs.spec.alpha.explain_data \x3d (function cljs$spec$alpha$explain_data(spec,x){\nreturn cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(spec);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,x);\n});\n/**\n * Default printer for explain-data. nil indicates a successful validation.\n */\ncljs.spec.alpha.explain_printer \x3d (function cljs$spec$alpha$explain_printer(ed){\nif(cljs.core.truth_(ed)){\nvar problems \x3d cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__35990_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168).cljs$core$IFn$_invoke$arity$1(p1__35990_SHARP_)));\n}),cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__35989_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865).cljs$core$IFn$_invoke$arity$1(p1__35989_SHARP_)));\n}),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814).cljs$core$IFn$_invoke$arity$1(ed)));\nreturn cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__35991_37887 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__35992_37888 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__35993_37889 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__35994_37890 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__35993_37889);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__35994_37890);\n\ntry{var seq__35995_37892 \x3d cljs.core.seq(problems);\nvar chunk__35996_37893 \x3d null;\nvar count__35997_37894 \x3d (0);\nvar i__35998_37895 \x3d (0);\nwhile(true){\nif((i__35998_37895 \x3c count__35997_37894)){\nvar map__36191_37898 \x3d chunk__35996_37893.cljs$core$IIndexed$_nth$arity$2(null,i__35998_37895);\nvar map__36191_37901__$1 \x3d cljs.core.__destructure_map(map__36191_37898);\nvar prob_37903 \x3d map__36191_37901__$1;\nvar path_37904 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36191_37901__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_37905 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36191_37901__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_37906 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36191_37901__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_37907 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36191_37901__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_37908 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36191_37901__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_37909 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36191_37901__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_37906], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_37907)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_37907], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_37905)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_37909)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_37909], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_37904)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_37904], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_37908)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_37908)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__36199_37913 \x3d cljs.core.seq(prob_37903);\nvar chunk__36200_37914 \x3d null;\nvar count__36201_37915 \x3d (0);\nvar i__36202_37916 \x3d (0);\nwhile(true){\nif((i__36202_37916 \x3c count__36201_37915)){\nvar vec__36215_37918 \x3d chunk__36200_37914.cljs$core$IIndexed$_nth$arity$2(null,i__36202_37916);\nvar k_37919 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36215_37918,(0),null);\nvar v_37920 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36215_37918,(1),null);\nif(cljs.core.truth_((function (){var fexpr__36220 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__36220.cljs$core$IFn$_invoke$arity$1 ? fexpr__36220.cljs$core$IFn$_invoke$arity$1(k_37919) : fexpr__36220.call(null,k_37919));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_37919], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_37920], 0));\n}\n\n\nvar G__37928 \x3d seq__36199_37913;\nvar G__37929 \x3d chunk__36200_37914;\nvar G__37930 \x3d count__36201_37915;\nvar G__37931 \x3d (i__36202_37916 + (1));\nseq__36199_37913 \x3d G__37928;\nchunk__36200_37914 \x3d G__37929;\ncount__36201_37915 \x3d G__37930;\ni__36202_37916 \x3d G__37931;\ncontinue;\n} else {\nvar temp__5804__auto___37933 \x3d cljs.core.seq(seq__36199_37913);\nif(temp__5804__auto___37933){\nvar seq__36199_37934__$1 \x3d temp__5804__auto___37933;\nif(cljs.core.chunked_seq_QMARK_(seq__36199_37934__$1)){\nvar c__5548__auto___37935 \x3d cljs.core.chunk_first(seq__36199_37934__$1);\nvar G__37936 \x3d cljs.core.chunk_rest(seq__36199_37934__$1);\nvar G__37937 \x3d c__5548__auto___37935;\nvar G__37938 \x3d cljs.core.count(c__5548__auto___37935);\nvar G__37939 \x3d (0);\nseq__36199_37913 \x3d G__37936;\nchunk__36200_37914 \x3d G__37937;\ncount__36201_37915 \x3d G__37938;\ni__36202_37916 \x3d G__37939;\ncontinue;\n} else {\nvar vec__36223_37940 \x3d cljs.core.first(seq__36199_37934__$1);\nvar k_37941 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36223_37940,(0),null);\nvar v_37942 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36223_37940,(1),null);\nif(cljs.core.truth_((function (){var fexpr__36226 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__36226.cljs$core$IFn$_invoke$arity$1 ? fexpr__36226.cljs$core$IFn$_invoke$arity$1(k_37941) : fexpr__36226.call(null,k_37941));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_37941], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_37942], 0));\n}\n\n\nvar G__37946 \x3d cljs.core.next(seq__36199_37934__$1);\nvar G__37947 \x3d null;\nvar G__37948 \x3d (0);\nvar G__37949 \x3d (0);\nseq__36199_37913 \x3d G__37946;\nchunk__36200_37914 \x3d G__37947;\ncount__36201_37915 \x3d G__37948;\ni__36202_37916 \x3d G__37949;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__37950 \x3d seq__35995_37892;\nvar G__37951 \x3d chunk__35996_37893;\nvar G__37952 \x3d count__35997_37894;\nvar G__37953 \x3d (i__35998_37895 + (1));\nseq__35995_37892 \x3d G__37950;\nchunk__35996_37893 \x3d G__37951;\ncount__35997_37894 \x3d G__37952;\ni__35998_37895 \x3d G__37953;\ncontinue;\n} else {\nvar temp__5804__auto___37954 \x3d cljs.core.seq(seq__35995_37892);\nif(temp__5804__auto___37954){\nvar seq__35995_37955__$1 \x3d temp__5804__auto___37954;\nif(cljs.core.chunked_seq_QMARK_(seq__35995_37955__$1)){\nvar c__5548__auto___37957 \x3d cljs.core.chunk_first(seq__35995_37955__$1);\nvar G__37958 \x3d cljs.core.chunk_rest(seq__35995_37955__$1);\nvar G__37959 \x3d c__5548__auto___37957;\nvar G__37960 \x3d cljs.core.count(c__5548__auto___37957);\nvar G__37961 \x3d (0);\nseq__35995_37892 \x3d G__37958;\nchunk__35996_37893 \x3d G__37959;\ncount__35997_37894 \x3d G__37960;\ni__35998_37895 \x3d G__37961;\ncontinue;\n} else {\nvar map__36230_37962 \x3d cljs.core.first(seq__35995_37955__$1);\nvar map__36230_37963__$1 \x3d cljs.core.__destructure_map(map__36230_37962);\nvar prob_37964 \x3d map__36230_37963__$1;\nvar path_37965 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36230_37963__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_37966 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36230_37963__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_37967 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36230_37963__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_37968 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36230_37963__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_37969 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36230_37963__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_37970 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36230_37963__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_37967], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_37968)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_37968], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_37966)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_37970)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_37970], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_37965)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_37965], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_37969)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_37969)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__36234_37973 \x3d cljs.core.seq(prob_37964);\nvar chunk__36235_37974 \x3d null;\nvar count__36236_37975 \x3d (0);\nvar i__36237_37976 \x3d (0);\nwhile(true){\nif((i__36237_37976 \x3c count__36236_37975)){\nvar vec__36255_37977 \x3d chunk__36235_37974.cljs$core$IIndexed$_nth$arity$2(null,i__36237_37976);\nvar k_37978 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36255_37977,(0),null);\nvar v_37979 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36255_37977,(1),null);\nif(cljs.core.truth_((function (){var fexpr__36259 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__36259.cljs$core$IFn$_invoke$arity$1 ? fexpr__36259.cljs$core$IFn$_invoke$arity$1(k_37978) : fexpr__36259.call(null,k_37978));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_37978], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_37979], 0));\n}\n\n\nvar G__37983 \x3d seq__36234_37973;\nvar G__37984 \x3d chunk__36235_37974;\nvar G__37985 \x3d count__36236_37975;\nvar G__37986 \x3d (i__36237_37976 + (1));\nseq__36234_37973 \x3d G__37983;\nchunk__36235_37974 \x3d G__37984;\ncount__36236_37975 \x3d G__37985;\ni__36237_37976 \x3d G__37986;\ncontinue;\n} else {\nvar temp__5804__auto___37987__$1 \x3d cljs.core.seq(seq__36234_37973);\nif(temp__5804__auto___37987__$1){\nvar seq__36234_37989__$1 \x3d temp__5804__auto___37987__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__36234_37989__$1)){\nvar c__5548__auto___37991 \x3d cljs.core.chunk_first(seq__36234_37989__$1);\nvar G__37992 \x3d cljs.core.chunk_rest(seq__36234_37989__$1);\nvar G__37993 \x3d c__5548__auto___37991;\nvar G__37994 \x3d cljs.core.count(c__5548__auto___37991);\nvar G__37995 \x3d (0);\nseq__36234_37973 \x3d G__37992;\nchunk__36235_37974 \x3d G__37993;\ncount__36236_37975 \x3d G__37994;\ni__36237_37976 \x3d G__37995;\ncontinue;\n} else {\nvar vec__36262_37996 \x3d cljs.core.first(seq__36234_37989__$1);\nvar k_37997 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36262_37996,(0),null);\nvar v_37998 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36262_37996,(1),null);\nif(cljs.core.truth_((function (){var fexpr__36265 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__36265.cljs$core$IFn$_invoke$arity$1 ? fexpr__36265.cljs$core$IFn$_invoke$arity$1(k_37997) : fexpr__36265.call(null,k_37997));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_37997], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_37998], 0));\n}\n\n\nvar G__38001 \x3d cljs.core.next(seq__36234_37989__$1);\nvar G__38002 \x3d null;\nvar G__38003 \x3d (0);\nvar G__38004 \x3d (0);\nseq__36234_37973 \x3d G__38001;\nchunk__36235_37974 \x3d G__38002;\ncount__36236_37975 \x3d G__38003;\ni__36237_37976 \x3d G__38004;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__38005 \x3d cljs.core.next(seq__35995_37955__$1);\nvar G__38006 \x3d null;\nvar G__38007 \x3d (0);\nvar G__38008 \x3d (0);\nseq__35995_37892 \x3d G__38005;\nchunk__35996_37893 \x3d G__38006;\ncount__35997_37894 \x3d G__38007;\ni__35998_37895 \x3d G__38008;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__35992_37888);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__35991_37887);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})()], 0));\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Success!\x22], 0));\n}\n});\ncljs.spec.alpha._STAR_explain_out_STAR_ \x3d cljs.spec.alpha.explain_printer;\n/**\n * Prints explanation data (per \x27explain-data\x27) to *out* using the printer in *explain-out*,\n *  by default explain-printer.\n */\ncljs.spec.alpha.explain_out \x3d (function cljs$spec$alpha$explain_out(ed){\nreturn cljs.spec.alpha._STAR_explain_out_STAR_.call(null,ed);\n});\n/**\n * Given a spec and a value that fails to conform, prints an explanation to *out*.\n */\ncljs.spec.alpha.explain \x3d (function cljs$spec$alpha$explain(spec,x){\nreturn cljs.spec.alpha.explain_out(cljs.spec.alpha.explain_data(spec,x));\n});\n/**\n * Given a spec and a value that fails to conform, returns an explanation as a string.\n */\ncljs.spec.alpha.explain_str \x3d (function cljs$spec$alpha$explain_str(spec,x){\nvar sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__36274_38013 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__36275_38014 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__36276_38015 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__36277_38016 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__36276_38015);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__36277_38016);\n\ntry{cljs.spec.alpha.explain(spec,x);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__36275_38014);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__36274_38013);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n});\ncljs.spec.alpha.gensub \x3d (function cljs$spec$alpha$gensub(spec,overrides,path,rmap,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nvar temp__5802__auto__ \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,(function (){var or__5025__auto__ \x3d cljs.spec.alpha.spec_name(spec__$1);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn spec__$1;\n}\n})());\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar gfn \x3d temp__5804__auto__;\nreturn (gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.gen_STAR_(spec__$1,overrides,path,rmap);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar g \x3d temp__5802__auto__;\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36281_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,p1__36281_SHARP_);\n}),g,(100)], 0));\n} else {\nthrow (new Error([\x22Unable to construct gen at: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22 for: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.abbrev(form))].join(\x27\x27)));\n}\n});\n/**\n * Given a spec, returns the generator for it, or throws if none can\n *   be constructed. Optionally an overrides map can be provided which\n *   should map spec names or paths (vectors of keywords) to no-arg\n *   generator-creating fns. These will be used instead of the generators at those\n *   names/paths. Note that parent generator (in the spec or overrides\n *   map) will supersede those of any subtrees. A generator for a regex\n *   op must always return a sequential collection (i.e. a generator for\n *   s/? should return either an empty sequence/vector or a\n *   sequence/vector with one item in it)\n */\ncljs.spec.alpha.gen \x3d (function cljs$spec$alpha$gen(var_args){\nvar G__36291 \x3d arguments.length;\nswitch (G__36291) {\ncase 1:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,null);\n}));\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,overrides){\nreturn cljs.spec.alpha.gensub(spec,overrides,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994),cljs.spec.alpha._STAR_recursion_limit_STAR_], null),spec);\n}));\n\n(cljs.spec.alpha.gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Do not call this directly, use \x27def\x27\n */\ncljs.spec.alpha.def_impl \x3d (function cljs$spec$alpha$def_impl(k,form,spec){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.ident_QMARK_(k);\nif(and__5023__auto__){\nreturn cljs.core.namespace(k);\n} else {\nreturn and__5023__auto__;\n}\n})())){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22k must be namespaced keyword or resolveable symbol\x22,\x22\\n\x22,\x22(c/and (ident? k) (namespace k))\x22].join(\x27\x27)));\n}\n\nif((spec \x3d\x3d null)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.registry_ref,cljs.core.dissoc,k);\n} else {\nvar spec_38031__$1 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.spec.alpha.spec_QMARK_(spec);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.spec.alpha.regex_QMARK_(spec);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.alpha.registry_ref),spec);\n}\n}\n})())?spec:cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,spec,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.spec.alpha.registry_ref,cljs.core.assoc,k,cljs.spec.alpha.with_name(spec_38031__$1,k));\n}\n\nreturn k;\n});\n/**\n * returns the registry map, prefer \x27get-spec\x27 to lookup a spec by name\n */\ncljs.spec.alpha.registry \x3d (function cljs$spec$alpha$registry(){\nreturn cljs.core.deref(cljs.spec.alpha.registry_ref);\n});\n/**\n * Returns a symbol from a symbol or var\n */\ncljs.spec.alpha.__GT_sym \x3d (function cljs$spec$alpha$__GT_sym(x){\nif(cljs.core.var_QMARK_(x)){\nreturn x.sym;\n} else {\nreturn x;\n}\n});\n/**\n * Returns spec registered for keyword/symbol/var k, or nil.\n */\ncljs.spec.alpha.get_spec \x3d (function cljs$spec$alpha$get_spec(k){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.registry(),(((k instanceof cljs.core.Keyword))?k:cljs.spec.alpha.__GT_sym(k)));\n});\ncljs.spec.alpha.macroexpand_check \x3d (function cljs$spec$alpha$macroexpand_check(v,args){\nvar specs \x3d cljs.spec.alpha.get_spec(v);\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar arg_spec \x3d temp__5804__auto__;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform(arg_spec,args))){\nvar ed \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(arg_spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(arg_spec);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,args),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22args\x22,\x22cljs.spec.alpha/args\x22,1870769783),args);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Call to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.__GT_sym(v)),\x22 did not conform to spec.\x22].join(\x27\x27),ed);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.recur_limit_QMARK_ \x3d (function cljs$spec$alpha$recur_limit_QMARK_(rmap,id,path,k){\nreturn (((cljs.core.get.cljs$core$IFn$_invoke$arity$2(rmap,id) \x3e new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994).cljs$core$IFn$_invoke$arity$1(rmap))) \x26\x26 (cljs.core.contains_QMARK_(cljs.core.set(path),k)));\n});\ncljs.spec.alpha.inck \x3d (function cljs$spec$alpha$inck(m,k){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,((function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})() + (1)));\n});\ncljs.spec.alpha.dt \x3d (function cljs$spec$alpha$dt(var_args){\nvar G__36309 \x3d arguments.length;\nswitch (G__36309) {\ncase 3:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(pred,x,form,null);\n}));\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4 \x3d (function (pred,x,form,cpred_QMARK_){\nif(cljs.core.truth_(pred)){\nvar temp__5802__auto__ \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar spec \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.conform(spec,x);\n} else {\nif(cljs.core.ifn_QMARK_(pred)){\nif(cljs.core.truth_(cpred_QMARK_)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x));\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n} else {\nthrow (new Error([cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([form], 0)),\x22 is not a fn, expected predicate fn\x22].join(\x27\x27)));\n}\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.dt.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.valid_QMARK_ \x3d (function cljs$spec$alpha$valid_QMARK_(var_args){\nvar G__36311 \x3d arguments.length;\nswitch (G__36311) {\ncase 2:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,x){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,x,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(spec,form);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * internal helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.pvalid_QMARK_ \x3d (function cljs$spec$alpha$pvalid_QMARK_(var_args){\nvar G__36313 \x3d arguments.length;\nswitch (G__36313) {\ncase 2:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,x){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818)))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,form))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.explain_1 \x3d (function cljs$spec$alpha$explain_1(form,pred,path,via,in$,v){\nvar pred__$1 \x3d cljs.spec.alpha.maybe_spec(pred);\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred__$1))){\nreturn cljs.spec.alpha.explain_STAR_(pred__$1,path,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(pred__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})(),in$,v);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),v,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n});\n\n/**\n * returns a generator for form f, which can be a keyword or a list\n *   starting with \x27or or \x27and.\n */\ncljs.spec.alpha.k_gen \x3d (function cljs$spec$alpha$k_gen(f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((1),cljs.core.rest(f));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.and_k_gen(cljs.core.rest(f));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * returns a tuple generator made up of generators for a random subset\n *   of min-count (default 0) to all elements in s.\n */\ncljs.spec.alpha.or_k_gen \x3d (function cljs$spec$alpha$or_k_gen(var_args){\nvar G__36324 \x3d arguments.length;\nswitch (G__36324) {\ncase 1:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((0),s);\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (min_count,s){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([min_count,cljs.core.count(s)], 0)),cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s)], 0))], 0)),(function (p__36325){\nvar vec__36326 \x3d p__36325;\nvar n \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36326,(0),null);\nvar gens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36326,(1),null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,gens));\n})], 0));\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * returns a tuple generator made up of generators for every element\n *   in s.\n */\ncljs.spec.alpha.and_k_gen \x3d (function cljs$spec$alpha$and_k_gen(s){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36337 \x3d (function (map__36336,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,p__36335,req_specs,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta36338){\nthis.map__36336 \x3d map__36336;\nthis.keys__GT_specnames \x3d keys__GT_specnames;\nthis.opt \x3d opt;\nthis.req_un \x3d req_un;\nthis.opt_un \x3d opt_un;\nthis.gfn \x3d gfn;\nthis.pred_exprs \x3d pred_exprs;\nthis.keys_pred \x3d keys_pred;\nthis.argm \x3d argm;\nthis.opt_keys \x3d opt_keys;\nthis.p__36335 \x3d p__36335;\nthis.req_specs \x3d req_specs;\nthis.req \x3d req;\nthis.id \x3d id;\nthis.req_keys \x3d req_keys;\nthis.opt_specs \x3d opt_specs;\nthis.k__GT_s \x3d k__GT_s;\nthis.pred_forms \x3d pred_forms;\nthis.meta36338 \x3d meta36338;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36339,meta36338__$1){\nvar self__ \x3d this;\nvar _36339__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36337(self__.map__36336,self__.keys__GT_specnames,self__.opt,self__.req_un,self__.opt_un,self__.gfn,self__.pred_exprs,self__.keys_pred,self__.argm,self__.opt_keys,self__.p__36335,self__.req_specs,self__.req,self__.id,self__.req_keys,self__.opt_specs,self__.k__GT_s,self__.pred_forms,meta36338__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36339){\nvar self__ \x3d this;\nvar _36339__$1 \x3d this;\nreturn self__.meta36338;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.keys_pred.cljs$core$IFn$_invoke$arity$1 ? self__.keys_pred.cljs$core$IFn$_invoke$arity$1(m) : self__.keys_pred.call(null,m)))){\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__36351 \x3d m;\nvar vec__36355 \x3d G__36351;\nvar seq__36356 \x3d cljs.core.seq(vec__36355);\nvar first__36357 \x3d cljs.core.first(seq__36356);\nvar seq__36356__$1 \x3d cljs.core.next(seq__36356);\nvar vec__36359 \x3d first__36357;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36359,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36359,(1),null);\nvar ks \x3d seq__36356__$1;\nvar keys \x3d vec__36355;\nvar ret__$1 \x3d ret;\nvar G__36351__$1 \x3d G__36351;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__36374 \x3d G__36351__$1;\nvar seq__36375 \x3d cljs.core.seq(vec__36374);\nvar first__36376 \x3d cljs.core.first(seq__36375);\nvar seq__36375__$1 \x3d cljs.core.next(seq__36375);\nvar vec__36377 \x3d first__36376;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36377,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36377,(1),null);\nvar ks__$1 \x3d seq__36375__$1;\nvar keys__$1 \x3d vec__36374;\nif(cljs.core.truth_(keys__$1)){\nvar sname \x3d (self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1));\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,sname);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar s \x3d temp__5802__auto__;\nvar cv \x3d cljs.spec.alpha.conform(s,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38078 \x3d (((cv \x3d\x3d\x3d v__$1))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,cv));\nvar G__38079 \x3d ks__$1;\nret__$1 \x3d G__38078;\nG__36351__$1 \x3d G__38079;\ncontinue;\n}\n} else {\nvar G__38082 \x3d ret__$2;\nvar G__38083 \x3d ks__$1;\nret__$1 \x3d G__38082;\nG__36351__$1 \x3d G__38083;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__36429 \x3d cljs.core.keys(m);\nvar vec__36430 \x3d G__36429;\nvar seq__36431 \x3d cljs.core.seq(vec__36430);\nvar first__36432 \x3d cljs.core.first(seq__36431);\nvar seq__36431__$1 \x3d cljs.core.next(seq__36431);\nvar k \x3d first__36432;\nvar ks \x3d seq__36431__$1;\nvar keys \x3d vec__36430;\nvar ret__$1 \x3d ret;\nvar G__36429__$1 \x3d G__36429;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__36440 \x3d G__36429__$1;\nvar seq__36441 \x3d cljs.core.seq(vec__36440);\nvar first__36442 \x3d cljs.core.first(seq__36441);\nvar seq__36441__$1 \x3d cljs.core.next(seq__36441);\nvar k__$1 \x3d first__36442;\nvar ks__$1 \x3d seq__36441__$1;\nvar keys__$1 \x3d vec__36440;\nif(cljs.core.truth_(keys__$1)){\nif(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)))){\nvar cv \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k__$1);\nvar v \x3d cljs.spec.alpha.unform((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)),cv);\nvar G__38086 \x3d (((cv \x3d\x3d\x3d v))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,v));\nvar G__38087 \x3d ks__$1;\nret__$1 \x3d G__38086;\nG__36429__$1 \x3d G__38087;\ncontinue;\n} else {\nvar G__38088 \x3d ret__$2;\nvar G__38089 \x3d ks__$1;\nret__$1 \x3d G__38088;\nG__36429__$1 \x3d G__38089;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.map_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar reg \x3d cljs.spec.alpha.registry();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.concat,(function (){var temp__5804__auto__ \x3d cljs.core.seq(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (pred,form){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn null;\n} else {\nreturn form;\n}\n}),self__.pred_exprs,self__.pred_forms)));\nif(temp__5804__auto__){\nvar probs \x3d temp__5804__auto__;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__36333_SHARP_){\nreturn cljs.core.identity(new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),p1__36333_SHARP_,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}),probs);\n} else {\nreturn null;\n}\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__36455){\nvar vec__36456 \x3d p__36455;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36456,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36456,(1),null);\nif((((!(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)))))) || (cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),v,k)))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\n}\n}),cljs.core.seq(x)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nvar rgen \x3d (function (k,s){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k)], null);\n});\nvar ogen \x3d (function (k,s){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k);\n}),null)))], null);\n}\n});\nvar reqs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3(rgen,self__.req_keys,self__.req_specs);\nvar opts \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$3(ogen,self__.opt_keys,self__.opt_specs));\nif(cljs.core.every_QMARK_(cljs.core.identity,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,reqs),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,opts)))){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.and_k_gen(self__.req),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt),cljs.spec.alpha.and_k_gen(self__.req_un),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt_un)], 0)),(function (p__36471){\nvar vec__36473 \x3d p__36471;\nvar req_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36473,(0),null);\nvar opt_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36473,(1),null);\nvar req_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36473,(2),null);\nvar opt_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36473,(3),null);\nvar qks \x3d cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_ks,opt_ks));\nvar unqks \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,cljs.core.name),cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_un_ks,opt_un_ks)));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.hash_map,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__36334_SHARP_){\nvar G__36483 \x3d cljs.core.first(p1__36334_SHARP_);\nvar fexpr__36482 \x3d cljs.core.set(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(qks,unqks));\nreturn (fexpr__36482.cljs$core$IFn$_invoke$arity$1 ? fexpr__36482.cljs$core$IFn$_invoke$arity$1(G__36483) : fexpr__36482.call(null,G__36483));\n}),cljs.core.into.cljs$core$IFn$_invoke$arity$2(reqs,opts))));\n})], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__36487 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.argm,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474),gfn__$1);\nreturn (cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1(G__36487) : cljs.spec.alpha.map_spec_impl.call(null,G__36487));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22keys\x22,\x22cljs.spec.alpha/keys\x22,1109346032,null),(function (){var G__36490 \x3d cljs.core.PersistentVector.EMPTY;\nvar G__36490__$1 \x3d (cljs.core.truth_(self__.req)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__36490,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req], 0)):G__36490);\nvar G__36490__$2 \x3d (cljs.core.truth_(self__.opt)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__36490__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt], 0)):G__36490__$1);\nvar G__36490__$3 \x3d (cljs.core.truth_(self__.req_un)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__36490__$2,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req_un], 0)):G__36490__$2);\nif(cljs.core.truth_(self__.opt_un)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__36490__$3,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt_un], 0));\n} else {\nreturn G__36490__$3;\n}\n})());\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 19, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22map__36336\x22,\x22map__36336\x22,393408577,null),new cljs.core.Symbol(null,\x22keys-\x3especnames\x22,\x22keys-\x3especnames\x22,1791294693,null),new cljs.core.Symbol(null,\x22opt\x22,\x22opt\x22,845825158,null),new cljs.core.Symbol(null,\x22req-un\x22,\x22req-un\x22,-1579864761,null),new cljs.core.Symbol(null,\x22opt-un\x22,\x22opt-un\x22,-1770993273,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22pred-exprs\x22,\x22pred-exprs\x22,-862164374,null),new cljs.core.Symbol(null,\x22keys-pred\x22,\x22keys-pred\x22,-1795451030,null),new cljs.core.Symbol(null,\x22argm\x22,\x22argm\x22,-181546357,null),new cljs.core.Symbol(null,\x22opt-keys\x22,\x22opt-keys\x22,-1391747508,null),new cljs.core.Symbol(null,\x22p__36335\x22,\x22p__36335\x22,-1358383985,null),new cljs.core.Symbol(null,\x22req-specs\x22,\x22req-specs\x22,-2100473456,null),new cljs.core.Symbol(null,\x22req\x22,\x22req\x22,1314083224,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22req-keys\x22,\x22req-keys\x22,-2140116548,null),new cljs.core.Symbol(null,\x22opt-specs\x22,\x22opt-specs\x22,1255626077,null),new cljs.core.Symbol(null,\x22k-\x3es\x22,\x22k-\x3es\x22,-1685112801,null),new cljs.core.Symbol(null,\x22pred-forms\x22,\x22pred-forms\x22,1813143359,null),new cljs.core.Symbol(null,\x22meta36338\x22,\x22meta36338\x22,-1451819658,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36337\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36337.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36337\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36337.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36337 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36337(map__36336,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,p__36335,req_specs,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta36338){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36337(map__36336,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,p__36335,req_specs,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta36338));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27 with a map argument\n */\ncljs.spec.alpha.map_spec_impl \x3d (function cljs$spec$alpha$map_spec_impl(p__36335){\nvar map__36336 \x3d p__36335;\nvar map__36336__$1 \x3d cljs.core.__destructure_map(map__36336);\nvar argm \x3d map__36336__$1;\nvar opt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369));\nvar req_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008));\nvar opt_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474));\nvar pred_exprs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22pred-exprs\x22,\x22pred-exprs\x22,1792271395));\nvar keys_pred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22keys-pred\x22,\x22keys-pred\x22,858984739));\nvar opt_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22opt-keys\x22,\x22opt-keys\x22,1262688261));\nvar req_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22req-specs\x22,\x22req-specs\x22,553962313));\nvar req \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303));\nvar req_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22req-keys\x22,\x22req-keys\x22,514319221));\nvar opt_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22opt-specs\x22,\x22opt-specs\x22,-384905450));\nvar pred_forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36336__$1,new cljs.core.Keyword(null,\x22pred-forms\x22,\x22pred-forms\x22,172611832));\nvar k__GT_s \x3d cljs.core.zipmap(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_keys,opt_keys),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_specs,opt_specs));\nvar keys__GT_specnames \x3d (function (p1__36329_SHARP_){\nvar or__5025__auto__ \x3d (k__GT_s.cljs$core$IFn$_invoke$arity$1 ? k__GT_s.cljs$core$IFn$_invoke$arity$1(p1__36329_SHARP_) : k__GT_s.call(null,p1__36329_SHARP_));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p1__36329_SHARP_;\n}\n});\nvar id \x3d cljs.core.random_uuid();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36337(map__36336__$1,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,p__36335,req_specs,req,id,req_keys,opt_specs,k__GT_s,pred_forms,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36500 \x3d (function (form,pred,gfn,cpred_QMARK_,unc,meta36501){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.cpred_QMARK_ \x3d cpred_QMARK_;\nthis.unc \x3d unc;\nthis.meta36501 \x3d meta36501;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36502,meta36501__$1){\nvar self__ \x3d this;\nvar _36502__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36500(self__.form,self__.pred,self__.gfn,self__.cpred_QMARK_,self__.unc,meta36501__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36502){\nvar self__ \x3d this;\nvar _36502__$1 \x3d this;\nreturn self__.meta36501;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d (self__.pred.cljs$core$IFn$_invoke$arity$1 ? self__.pred.cljs$core$IFn$_invoke$arity$1(x) : self__.pred.call(null,x));\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nreturn ret;\n} else {\nif(cljs.core.truth_(ret)){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nif(cljs.core.truth_(self__.unc)){\nreturn (self__.unc.cljs$core$IFn$_invoke$arity$1 ? self__.unc.cljs$core$IFn$_invoke$arity$1(x) : self__.unc.call(null,x));\n} else {\nthrow (new Error(\x22no unform fn for conformer\x22));\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(self__.pred,x,self__.form,self__.cpred_QMARK_))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,___$1,___$2,___$3){\nvar self__ \x3d this;\nvar ___$4 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.gen_for_pred(self__.pred);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(self__.form,self__.pred,gfn__$1,self__.cpred_QMARK_,self__.unc);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.form;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22cpred?\x22,\x22cpred?\x22,35589515,null),new cljs.core.Symbol(null,\x22unc\x22,\x22unc\x22,-465250751,null),new cljs.core.Symbol(null,\x22meta36501\x22,\x22meta36501\x22,493126760,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36500\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36500.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36500\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36500.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36500 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36500(form,pred,gfn,cpred_QMARK_,unc,meta36501){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36500(form,pred,gfn,cpred_QMARK_,unc,meta36501));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27\n */\ncljs.spec.alpha.spec_impl \x3d (function cljs$spec$alpha$spec_impl(var_args){\nvar G__36497 \x3d arguments.length;\nswitch (G__36497) {\ncase 4:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,gfn,cpred_QMARK_){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(form,pred,gfn,cpred_QMARK_,null);\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5 \x3d (function (form,pred,gfn,cpred_QMARK_,unc){\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred))){\nvar G__36498 \x3d pred;\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__36498,gfn);\n} else {\nreturn G__36498;\n}\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(pred))){\nreturn cljs.spec.alpha.regex_spec_impl(pred,gfn);\n} else {\nif(cljs.core.ident_QMARK_(pred)){\nvar G__36499 \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__36499,gfn);\n} else {\nreturn G__36499;\n}\n} else {\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36500(form,pred,gfn,cpred_QMARK_,unc,cljs.core.PersistentArrayMap.EMPTY));\n\n}\n}\n}\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36520 \x3d (function (form,mmvar,retag,gfn,id,predx,dval,tag,meta36521){\nthis.form \x3d form;\nthis.mmvar \x3d mmvar;\nthis.retag \x3d retag;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.predx \x3d predx;\nthis.dval \x3d dval;\nthis.tag \x3d tag;\nthis.meta36521 \x3d meta36521;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36522,meta36521__$1){\nvar self__ \x3d this;\nvar _36522__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36520(self__.form,self__.mmvar,self__.retag,self__.gfn,self__.id,self__.predx,self__.dval,self__.tag,meta36521__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36522){\nvar self__ \x3d this;\nvar _36522__$1 \x3d this;\nreturn self__.meta36521;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,self__.form);\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.unform(pred,x);\n} else {\nthrow (new Error([\x22No method of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.form),\x22 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x)))].join(\x27\x27)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar dv \x3d (self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x));\nvar path__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,dv);\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.explain_1(self__.form,pred,path__$1,via,in$,x);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22no method\x22,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (p__36598){\nvar vec__36600 \x3d p__36598;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36600,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36600,(1),null);\nvar p \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(null) : f.call(null,null));\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36512_SHARP_){\nreturn (self__.tag.cljs$core$IFn$_invoke$arity$2 ? self__.tag.cljs$core$IFn$_invoke$arity$2(p1__36512_SHARP_,k) : self__.tag.call(null,p1__36512_SHARP_,k));\n}),cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method\x22,\x22method\x22,1696235119,null),(new cljs.core.List(null,self__.form,(new cljs.core.List(null,k,null,(1),null)),(2),null)),(3),null)))], 0));\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(gen,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__36609){\nvar vec__36611 \x3d p__36609;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36611,(0),null);\nreturn cljs.spec.alpha.invalid_QMARK_(k);\n}),cljs.core.methods$(cljs.core.deref(self__.mmvar)))));\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.mmvar,self__.retag,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22multi-spec\x22,\x22cljs.spec.alpha/multi-spec\x22,175821274,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.retag,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22mmvar\x22,\x22mmvar\x22,-1714325675,null),new cljs.core.Symbol(null,\x22retag\x22,\x22retag\x22,528972725,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22predx\x22,\x22predx\x22,2063470948,null),new cljs.core.Symbol(null,\x22dval\x22,\x22dval\x22,835211877,null),new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22meta36521\x22,\x22meta36521\x22,-1702262294,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36520\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36520.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36520\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36520.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36520 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36520(form,mmvar,retag,gfn,id,predx,dval,tag,meta36521){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36520(form,mmvar,retag,gfn,id,predx,dval,tag,meta36521));\n});\n\n\n/**\n * Do not call this directly, use \x27multi-spec\x27\n */\ncljs.spec.alpha.multi_spec_impl \x3d (function cljs$spec$alpha$multi_spec_impl(var_args){\nvar G__36517 \x3d arguments.length;\nswitch (G__36517) {\ncase 3:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,mmvar,retag){\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(form,mmvar,retag,null);\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,mmvar,retag,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar predx \x3d (function (p1__36508_SHARP_){\nvar mm \x3d cljs.core.deref(mmvar);\nvar and__5023__auto__ \x3d cljs.core._get_method(mm,(function (){var fexpr__36518 \x3d cljs.core._dispatch_fn(mm);\nreturn (fexpr__36518.cljs$core$IFn$_invoke$arity$1 ? fexpr__36518.cljs$core$IFn$_invoke$arity$1(p1__36508_SHARP_) : fexpr__36518.call(null,p1__36508_SHARP_));\n})());\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (mm.cljs$core$IFn$_invoke$arity$1 ? mm.cljs$core$IFn$_invoke$arity$1(p1__36508_SHARP_) : mm.call(null,p1__36508_SHARP_));\n} else {\nreturn and__5023__auto__;\n}\n});\nvar dval \x3d (function (p1__36509_SHARP_){\nvar fexpr__36519 \x3d cljs.core._dispatch_fn(cljs.core.deref(mmvar));\nreturn (fexpr__36519.cljs$core$IFn$_invoke$arity$1 ? fexpr__36519.cljs$core$IFn$_invoke$arity$1(p1__36509_SHARP_) : fexpr__36519.call(null,p1__36509_SHARP_));\n});\nvar tag \x3d (((retag instanceof cljs.core.Keyword))?(function (p1__36510_SHARP_,p2__36511_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__36510_SHARP_,retag,p2__36511_SHARP_);\n}):retag);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36520(form,mmvar,retag,gfn,id,predx,dval,tag,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36640 \x3d (function (forms,preds,gfn,specs,cnt,meta36641){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cnt \x3d cnt;\nthis.meta36641 \x3d meta36641;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36642,meta36641__$1){\nvar self__ \x3d this;\nvar _36642__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36640(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cnt,meta36641__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36642){\nvar self__ \x3d this;\nvar _36642__$1 \x3d this;\nreturn self__.meta36641;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar specs__$1 \x3d cljs.core.deref(self__.specs);\nif((!(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),self__.cnt)))))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,self__.cnt)){\nreturn ret;\n} else {\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar cv \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),v);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38176 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv));\nvar G__38177 \x3d (i + (1));\nret \x3d G__38176;\ni \x3d G__38177;\ncontinue;\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))))){\n} else {\nthrow (new Error(\x22Assert failed: (c/and (vector? x) (\x3d (count x) (count preds)))\x22));\n}\n\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,cljs.core.count(x))){\nreturn ret;\n} else {\nvar cv \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar v \x3d cljs.spec.alpha.unform((self__.preds.cljs$core$IFn$_invoke$arity$1 ? self__.preds.cljs$core$IFn$_invoke$arity$1(i) : self__.preds.call(null,i)),cv);\nvar G__38188 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,v));\nvar G__38189 \x3d (i + (1));\nret \x3d G__38188;\ni \x3d G__38189;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.vector_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.count(self__.preds),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (i,form,pred){\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,v)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i),v);\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.forms,self__.preds));\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (i,p,f){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),rmap,f);\n});\nvar gs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.preds,self__.forms);\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gs);\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22tuple\x22,\x22cljs.spec.alpha/tuple\x22,-415901908,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta36641\x22,\x22meta36641\x22,-1851572684,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36640\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36640.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36640\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36640.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36640 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36640(forms,preds,gfn,specs,cnt,meta36641){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36640(forms,preds,gfn,specs,cnt,meta36641));\n});\n\n\n/**\n * Do not call this directly, use \x27tuple\x27\n */\ncljs.spec.alpha.tuple_impl \x3d (function cljs$spec$alpha$tuple_impl(var_args){\nvar G__36631 \x3d arguments.length;\nswitch (G__36631) {\ncase 2:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2 \x3d (function (forms,preds){\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(forms,preds,null);\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (forms,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms);\n}),null));\nvar cnt \x3d cljs.core.count(preds);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36640(forms,preds,gfn,specs,cnt,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.tagged_ret \x3d (function cljs$spec$alpha$tagged_ret(tag,ret){\nreturn (new cljs.core.MapEntry(tag,ret,null));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36715 \x3d (function (keys,forms,preds,gfn,id,kps,specs,cform,meta36716){\nthis.keys \x3d keys;\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.kps \x3d kps;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta36716 \x3d meta36716;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36717,meta36716__$1){\nvar self__ \x3d this;\nvar _36717__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36715(self__.keys,self__.forms,self__.preds,self__.gfn,self__.id,self__.kps,self__.specs,self__.cform,meta36716__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36717){\nvar self__ \x3d this;\nvar _36717__$1 \x3d this;\nreturn self__.meta36716;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,p__36723){\nvar self__ \x3d this;\nvar vec__36724 \x3d p__36723;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36724,(0),null);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36724,(1),null);\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform((self__.kps.cljs$core$IFn$_invoke$arity$1 ? self__.kps.cljs$core$IFn$_invoke$arity$1(k) : self__.kps.call(null,k)),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (this$,path,via,in$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(this$__$1,x)){\nreturn null;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form,pred){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,in$,x);\n}\n}),self__.keys,self__.forms,self__.preds));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (k,p,f){\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,f);\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,self__.keys,self__.preds,self__.forms));\nif(cljs.core.empty_QMARK_(gs)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4 ? cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.keys,self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.or_spec_impl.call(null,self__.keys,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22or\x22,\x22cljs.spec.alpha/or\x22,-831679639,null),null,(1),null)),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.keys,self__.forms], 0)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22kps\x22,\x22kps\x22,-1157342767,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta36716\x22,\x22meta36716\x22,-185601475,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36715\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36715.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36715\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36715.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36715 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36715(keys,forms,preds,gfn,id,kps,specs,cform,meta36716){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36715(keys,forms,preds,gfn,id,kps,specs,cform,meta36716));\n});\n\n\n/**\n * Do not call this directly, use \x27or\x27\n */\ncljs.spec.alpha.or_spec_impl \x3d (function cljs$spec$alpha$or_spec_impl(keys,forms,preds,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar kps \x3d cljs.core.zipmap(keys,preds);\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms);\n}),null));\nvar cform \x3d (function (){var G__36705 \x3d cljs.core.count(preds);\nswitch (G__36705) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nvar ret__$2 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$2)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((2)) : keys.call(null,(2))),ret__$2);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar spec \x3d (specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i));\nvar ret \x3d cljs.spec.alpha.conform_STAR_(spec,x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar G__38293 \x3d (i + (1));\ni \x3d G__38293;\ncontinue;\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1(i) : keys.call(null,i)),ret);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\nbreak;\n}\n});\n\n}\n})();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36715(keys,forms,preds,gfn,id,kps,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.and_preds \x3d (function cljs$spec$alpha$and_preds(x,preds,forms){\nvar ret \x3d x;\nvar G__36752 \x3d preds;\nvar vec__36754 \x3d G__36752;\nvar seq__36755 \x3d cljs.core.seq(vec__36754);\nvar first__36756 \x3d cljs.core.first(seq__36755);\nvar seq__36755__$1 \x3d cljs.core.next(seq__36755);\nvar pred \x3d first__36756;\nvar preds__$1 \x3d seq__36755__$1;\nvar G__36753 \x3d forms;\nvar vec__36757 \x3d G__36753;\nvar seq__36758 \x3d cljs.core.seq(vec__36757);\nvar first__36759 \x3d cljs.core.first(seq__36758);\nvar seq__36758__$1 \x3d cljs.core.next(seq__36758);\nvar form \x3d first__36759;\nvar forms__$1 \x3d seq__36758__$1;\nvar ret__$1 \x3d ret;\nvar G__36752__$1 \x3d G__36752;\nvar G__36753__$1 \x3d G__36753;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__36773 \x3d G__36752__$1;\nvar seq__36774 \x3d cljs.core.seq(vec__36773);\nvar first__36775 \x3d cljs.core.first(seq__36774);\nvar seq__36774__$1 \x3d cljs.core.next(seq__36774);\nvar pred__$1 \x3d first__36775;\nvar preds__$2 \x3d seq__36774__$1;\nvar vec__36776 \x3d G__36753__$1;\nvar seq__36777 \x3d cljs.core.seq(vec__36776);\nvar first__36778 \x3d cljs.core.first(seq__36777);\nvar seq__36777__$1 \x3d cljs.core.next(seq__36777);\nvar form__$1 \x3d first__36778;\nvar forms__$2 \x3d seq__36777__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38304 \x3d nret;\nvar G__38305 \x3d preds__$2;\nvar G__38306 \x3d forms__$2;\nret__$1 \x3d G__38304;\nG__36752__$1 \x3d G__38305;\nG__36753__$1 \x3d G__38306;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n});\ncljs.spec.alpha.explain_pred_list \x3d (function cljs$spec$alpha$explain_pred_list(forms,preds,path,via,in$,x){\nvar ret \x3d x;\nvar G__36808 \x3d forms;\nvar vec__36810 \x3d G__36808;\nvar seq__36811 \x3d cljs.core.seq(vec__36810);\nvar first__36812 \x3d cljs.core.first(seq__36811);\nvar seq__36811__$1 \x3d cljs.core.next(seq__36811);\nvar form \x3d first__36812;\nvar forms__$1 \x3d seq__36811__$1;\nvar G__36809 \x3d preds;\nvar vec__36813 \x3d G__36809;\nvar seq__36814 \x3d cljs.core.seq(vec__36813);\nvar first__36815 \x3d cljs.core.first(seq__36814);\nvar seq__36814__$1 \x3d cljs.core.next(seq__36814);\nvar pred \x3d first__36815;\nvar preds__$1 \x3d seq__36814__$1;\nvar ret__$1 \x3d ret;\nvar G__36808__$1 \x3d G__36808;\nvar G__36809__$1 \x3d G__36809;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__36818 \x3d G__36808__$1;\nvar seq__36819 \x3d cljs.core.seq(vec__36818);\nvar first__36820 \x3d cljs.core.first(seq__36819);\nvar seq__36819__$1 \x3d cljs.core.next(seq__36819);\nvar form__$1 \x3d first__36820;\nvar forms__$2 \x3d seq__36819__$1;\nvar vec__36821 \x3d G__36809__$1;\nvar seq__36822 \x3d cljs.core.seq(vec__36821);\nvar first__36823 \x3d cljs.core.first(seq__36822);\nvar seq__36822__$1 \x3d cljs.core.next(seq__36822);\nvar pred__$1 \x3d first__36823;\nvar preds__$2 \x3d seq__36822__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn cljs.spec.alpha.explain_1(form__$1,pred__$1,path,via,in$,ret__$2);\n} else {\nvar G__38311 \x3d nret;\nvar G__38313 \x3d forms__$2;\nvar G__38314 \x3d preds__$2;\nret__$1 \x3d G__38311;\nG__36808__$1 \x3d G__38313;\nG__36809__$1 \x3d G__38314;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36838 \x3d (function (forms,preds,gfn,specs,cform,meta36839){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta36839 \x3d meta36839;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36840,meta36839__$1){\nvar self__ \x3d this;\nvar _36840__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36838(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cform,meta36839__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36840){\nvar self__ \x3d this;\nvar _36840__$1 \x3d this;\nreturn self__.meta36839;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__36829_SHARP_,p2__36828_SHARP_){\nreturn cljs.spec.alpha.unform(p2__36828_SHARP_,p1__36829_SHARP_);\n}),x,cljs.core.reverse(self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_pred_list(self__.forms,self__.preds,path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.gensub(cljs.core.first(self__.preds),overrides,path,rmap,cljs.core.first(self__.forms));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.and_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22and\x22,\x22cljs.spec.alpha/and\x22,-2060279705,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta36839\x22,\x22meta36839\x22,742655550,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36838\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36838.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36838\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36838.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36838 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36838(forms,preds,gfn,specs,cform,meta36839){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36838(forms,preds,gfn,specs,cform,meta36839));\n});\n\n\n/**\n * Do not call this directly, use \x27and\x27\n */\ncljs.spec.alpha.and_spec_impl \x3d (function cljs$spec$alpha$and_spec_impl(forms,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms);\n}),null));\nvar cform \x3d (function (){var G__36832 \x3d cljs.core.count(preds);\nswitch (G__36832) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),ret__$1);\n}\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar nret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),ret);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38331 \x3d nret;\nvar G__38332 \x3d (i + (1));\nret \x3d G__38331;\ni \x3d G__38332;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n});\n\n}\n})();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36838(forms,preds,gfn,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.coll_prob \x3d (function cljs$spec$alpha$coll_prob(x,kfn,kform,distinct,count,min_count,max_count,path,via,in$){\nvar pred \x3d (function (){var or__5025__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.coll_QMARK_;\n}\n})();\nvar kform__$1 \x3d (function (){var or__5025__auto__ \x3d kform;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22coll?\x22,\x22cljs.core/coll?\x22,1208130522,null);\n}\n})();\nif((!(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)))){\nreturn cljs.spec.alpha.explain_1(kform__$1,pred,path,via,in$,x);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(count,cljs.core.bounded_count(count,x));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,count,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (function (){var or__5025__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn max_count;\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(((((function (){var or__5025__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})() \x3c\x3d cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x))) \x26\x26 ((cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x) \x3c\x3d (function (){var or__5025__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (9007199254740991);\n}\n})())))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x3d\x22,\x22cljs.core/\x3c\x3d\x22,1677001748,null),null,(1),null)),(new cljs.core.List(null,(function (){var or__5025__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})(),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,(function (){var or__5025__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (9007199254740991);\n}\n})(),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d distinct;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((!(cljs.core.empty_QMARK_(x)))) \x26\x26 (cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.distinct_QMARK_,x))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22distinct?\x22,\x22distinct?\x22,-1684357959,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36903 \x3d (function (forms,preds,gfn,meta36904){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.meta36904 \x3d meta36904;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36905,meta36904__$1){\nvar self__ \x3d this;\nvar _36905__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36903(self__.forms,self__.preds,self__.gfn,meta36904__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36905){\nvar self__ \x3d this;\nvar _36905__$1 \x3d this;\nreturn self__.meta36904;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ms \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__36895_SHARP_,p2__36896_SHARP_){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p1__36895_SHARP_,x,p2__36896_SHARP_);\n}),self__.preds,self__.forms);\nif(cljs.core.truth_(cljs.core.some(cljs.spec.alpha.invalid_QMARK_,ms))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,ms);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__36897_SHARP_){\nreturn cljs.spec.alpha.unform(p1__36897_SHARP_,x);\n}),cljs.core.reverse(self__.preds)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__36898_SHARP_,p2__36899_SHARP_){\nreturn cljs.spec.alpha.explain_1(p1__36898_SHARP_,p2__36899_SHARP_,path,via,in$,x);\n}),self__.forms,self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36900_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,p1__36900_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__36901_SHARP_,p2__36902_SHARP_){\nreturn cljs.spec.alpha.gensub(p1__36901_SHARP_,overrides,path,rmap,p2__36902_SHARP_);\n}),self__.preds,self__.forms))], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.merge_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22merge\x22,\x22cljs.spec.alpha/merge\x22,1420080689,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta36904\x22,\x22meta36904\x22,-1709277460,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36903\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36903.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36903\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36903.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36903 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36903(forms,preds,gfn,meta36904){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36903(forms,preds,gfn,meta36904));\n});\n\n\n/**\n * Do not call this directly, use \x27merge\x27\n */\ncljs.spec.alpha.merge_spec_impl \x3d (function cljs$spec$alpha$merge_spec_impl(forms,preds,gfn){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36903(forms,preds,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.empty_coll \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),cljs.core.PersistentVector.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22set?\x22,\x22cljs.core/set?\x22,-1176684971,null),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22list?\x22,\x22cljs.core/list?\x22,-684796618,null),cljs.core.List.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),cljs.core.PersistentArrayMap.EMPTY], null);\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36967 \x3d (function (form,max_count,check_QMARK_,gfn,gen_max,pred,cpred,map__36949,conform_keys,kind_form,addcv,p__36948,cfns,describe_form,distinct,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta36968){\nthis.form \x3d form;\nthis.max_count \x3d max_count;\nthis.check_QMARK_ \x3d check_QMARK_;\nthis.gfn \x3d gfn;\nthis.gen_max \x3d gen_max;\nthis.pred \x3d pred;\nthis.cpred \x3d cpred;\nthis.map__36949 \x3d map__36949;\nthis.conform_keys \x3d conform_keys;\nthis.kind_form \x3d kind_form;\nthis.addcv \x3d addcv;\nthis.p__36948 \x3d p__36948;\nthis.cfns \x3d cfns;\nthis.describe_form \x3d describe_form;\nthis.distinct \x3d distinct;\nthis.spec \x3d spec;\nthis.kfn \x3d kfn;\nthis.gen_into \x3d gen_into;\nthis.count \x3d count;\nthis.min_count \x3d min_count;\nthis.opts \x3d opts;\nthis.kind \x3d kind;\nthis.conform_all \x3d conform_all;\nthis.conform_into \x3d conform_into;\nthis.meta36968 \x3d meta36968;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36969,meta36968__$1){\nvar self__ \x3d this;\nvar _36969__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36967(self__.form,self__.max_count,self__.check_QMARK_,self__.gfn,self__.gen_max,self__.pred,self__.cpred,self__.map__36949,self__.conform_keys,self__.kind_form,self__.addcv,self__.p__36948,self__.cfns,self__.describe_form,self__.distinct,self__.spec,self__.kfn,self__.gen_into,self__.count,self__.min_count,self__.opts,self__.kind,self__.conform_all,self__.conform_into,meta36968__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36969){\nvar self__ \x3d this;\nvar _36969__$1 \x3d this;\nreturn self__.meta36968;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nif(cljs.core.not((self__.cpred.cljs$core$IFn$_invoke$arity$1 ? self__.cpred.cljs$core$IFn$_invoke$arity$1(x) : self__.cpred.call(null,x)))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nif(cljs.core.truth_(self__.conform_all)){\nvar vec__36982 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36982,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36982,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36982,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__36995 \x3d cljs.core.seq(x);\nvar vec__36999 \x3d G__36995;\nvar seq__37000 \x3d cljs.core.seq(vec__36999);\nvar first__37001 \x3d cljs.core.first(seq__37000);\nvar seq__37000__$1 \x3d cljs.core.next(seq__37000);\nvar v \x3d first__37001;\nvar vs \x3d seq__37000__$1;\nvar vseq \x3d vec__36999;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__36995__$1 \x3d G__36995;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__37008 \x3d G__36995__$1;\nvar seq__37009 \x3d cljs.core.seq(vec__37008);\nvar first__37010 \x3d cljs.core.first(seq__37009);\nvar seq__37009__$1 \x3d cljs.core.next(seq__37009);\nvar v__$1 \x3d first__37010;\nvar vs__$1 \x3d seq__37009__$1;\nvar vseq__$1 \x3d vec__37008;\nif(vseq__$1){\nvar cv \x3d cljs.spec.alpha.conform_STAR_(spec__$1,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38382 \x3d (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(ret__$2,i__$2,v__$1,cv) : add.call(null,ret__$2,i__$2,v__$1,cv));\nvar G__38383 \x3d (i__$2 + (1));\nvar G__38384 \x3d vs__$1;\nret__$1 \x3d G__38382;\ni__$1 \x3d G__38383;\nG__36995__$1 \x3d G__38384;\ncontinue;\n}\n} else {\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n}\nbreak;\n}\n} else {\nif(cljs.core.indexed_QMARK_(x)){\nvar step \x3d (function (){var x__5110__auto__ \x3d (1);\nvar y__5111__auto__ \x3d cljs.core.long$((cljs.core.count(x) / cljs.spec.alpha._STAR_coll_check_limit_STAR_));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar i \x3d (0);\nwhile(true){\nif((i \x3e\x3d cljs.core.count(x))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i))){\nvar G__38389 \x3d (i + step);\ni \x3d G__38389;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n} else {\nvar limit \x3d cljs.spec.alpha._STAR_coll_check_limit_STAR_;\nvar i \x3d (0);\nvar G__37048 \x3d cljs.core.seq(x);\nvar vec__37049 \x3d G__37048;\nvar seq__37050 \x3d cljs.core.seq(vec__37049);\nvar first__37051 \x3d cljs.core.first(seq__37050);\nvar seq__37050__$1 \x3d cljs.core.next(seq__37050);\nvar v \x3d first__37051;\nvar vs \x3d seq__37050__$1;\nvar vseq \x3d vec__37049;\nvar i__$1 \x3d i;\nvar G__37048__$1 \x3d G__37048;\nwhile(true){\nvar i__$2 \x3d i__$1;\nvar vec__37054 \x3d G__37048__$1;\nvar seq__37055 \x3d cljs.core.seq(vec__37054);\nvar first__37056 \x3d cljs.core.first(seq__37055);\nvar seq__37055__$1 \x3d cljs.core.next(seq__37055);\nvar v__$1 \x3d first__37056;\nvar vs__$1 \x3d seq__37055__$1;\nvar vseq__$1 \x3d vec__37054;\nif((((vseq__$1 \x3d\x3d null)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i__$2,limit)))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,v__$1)){\nvar G__38396 \x3d (i__$2 + (1));\nvar G__38397 \x3d vs__$1;\ni__$1 \x3d G__38396;\nG__37048__$1 \x3d G__38397;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n\n}\n}\nbreak;\n}\n}\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.conform_all)){\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nvar vec__37059 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37059,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37059,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37059,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__37066 \x3d cljs.core.seq(x);\nvar vec__37067 \x3d G__37066;\nvar seq__37068 \x3d cljs.core.seq(vec__37067);\nvar first__37069 \x3d cljs.core.first(seq__37068);\nvar seq__37068__$1 \x3d cljs.core.next(seq__37068);\nvar v \x3d first__37069;\nvar vs \x3d seq__37068__$1;\nvar vseq \x3d vec__37067;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__37066__$1 \x3d G__37066;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__37072 \x3d G__37066__$1;\nvar seq__37073 \x3d cljs.core.seq(vec__37072);\nvar first__37074 \x3d cljs.core.first(seq__37073);\nvar seq__37073__$1 \x3d cljs.core.next(seq__37073);\nvar v__$1 \x3d first__37074;\nvar vs__$1 \x3d seq__37073__$1;\nvar vseq__$1 \x3d vec__37072;\nif((i__$2 \x3e\x3d cljs.core.count(x))){\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n} else {\nvar G__38405 \x3d (function (){var G__37077 \x3d ret__$2;\nvar G__37078 \x3d i__$2;\nvar G__37079 \x3d v__$1;\nvar G__37080 \x3d cljs.spec.alpha.unform_STAR_(spec__$1,v__$1);\nreturn (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(G__37077,G__37078,G__37079,G__37080) : add.call(null,G__37077,G__37078,G__37079,G__37080));\n})();\nvar G__38406 \x3d (i__$2 + (1));\nvar G__38407 \x3d vs__$1;\nret__$1 \x3d G__38405;\ni__$1 \x3d G__38406;\nG__37066__$1 \x3d G__38407;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5025__auto__ \x3d cljs.spec.alpha.coll_prob(x,self__.kind,self__.kind_form,self__.distinct,self__.count,self__.min_count,self__.max_count,path,via,in$);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,(function (){var G__37088 \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (i,v){\nvar k \x3d (self__.kfn.cljs$core$IFn$_invoke$arity$2 ? self__.kfn.cljs$core$IFn$_invoke$arity$2(i,v) : self__.kfn.call(null,i,v));\nif(cljs.core.truth_((self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1 ? self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1(v) : self__.check_QMARK_.call(null,v)))){\nreturn null;\n} else {\nvar prob \x3d cljs.spec.alpha.explain_1(self__.form,self__.pred,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\nreturn prob;\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$0(),x));\nvar fexpr__37087 \x3d (cljs.core.truth_(self__.conform_all)?cljs.core.identity:cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.take,cljs.spec.alpha._STAR_coll_error_limit_STAR_));\nreturn (fexpr__37087.cljs$core$IFn$_invoke$arity$1 ? fexpr__37087.cljs$core$IFn$_invoke$arity$1(G__37088) : fexpr__37087.call(null,G__37088));\n})());\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar pgen \x3d cljs.spec.alpha.gensub(self__.pred,overrides,path,rmap,self__.form);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(self__.gen_into)?cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.gen_into], 0)):(cljs.core.truth_(self__.kind)?cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36921_SHARP_){\nif(cljs.core.empty_QMARK_(p1__36921_SHARP_)){\nreturn p1__36921_SHARP_;\n} else {\nreturn cljs.core.empty(p1__36921_SHARP_);\n}\n}),cljs.spec.alpha.gensub(self__.kind,overrides,path,rmap,self__.form)], 0)):cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0))\n)),(function (init){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36922_SHARP_){\nif(cljs.core.vector_QMARK_(init)){\nreturn p1__36922_SHARP_;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(init,p1__36922_SHARP_);\n}\n}),(cljs.core.truth_(self__.distinct)?(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22num-elements\x22,\x22num-elements\x22,1960422107),self__.count,new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0)):cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22min-elements\x22,\x22min-elements\x22,949370780),(function (){var or__5025__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})(),new cljs.core.Keyword(null,\x22max-elements\x22,\x22max-elements\x22,433034073),(function (){var or__5025__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar x__5110__auto__ \x3d self__.gen_max;\nvar y__5111__auto__ \x3d ((2) * (function (){var or__5025__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n}\n})(),new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0))):(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,self__.count], 0)):(cljs.core.truth_((function (){var or__5025__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn self__.max_count;\n}\n})())?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(function (){var or__5025__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})(),(function (){var or__5025__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar x__5110__auto__ \x3d self__.gen_max;\nvar y__5111__auto__ \x3d ((2) * (function (){var or__5025__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n}\n})()], 0)):cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(0),self__.gen_max], 0))\n)))], 0));\n})], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.pred,self__.opts,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5025__auto__ \x3d self__.describe_form;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22every\x22,\x22cljs.spec.alpha/every\x22,123912744,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opts], 0))], 0))));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 25, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22max-count\x22,\x22max-count\x22,-1115250464,null),new cljs.core.Symbol(null,\x22check?\x22,\x22check?\x22,409539557,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22gen-max\x22,\x22gen-max\x22,846851082,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22cpred\x22,\x22cpred\x22,-540353554,null),new cljs.core.Symbol(null,\x22map__36949\x22,\x22map__36949\x22,-704011856,null),new cljs.core.Symbol(null,\x22conform-keys\x22,\x22conform-keys\x22,-159510287,null),new cljs.core.Symbol(null,\x22kind-form\x22,\x22kind-form\x22,1155997457,null),new cljs.core.Symbol(null,\x22addcv\x22,\x22addcv\x22,-1552991247,null),new cljs.core.Symbol(null,\x22p__36948\x22,\x22p__36948\x22,-2019863086,null),new cljs.core.Symbol(null,\x22cfns\x22,\x22cfns\x22,1335482066,null),new cljs.core.Symbol(null,\x22describe-form\x22,\x22describe-form\x22,-1410156588,null),new cljs.core.Symbol(null,\x22distinct\x22,\x22distinct\x22,-148347594,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22kfn\x22,\x22kfn\x22,729311001,null),new cljs.core.Symbol(null,\x22gen-into\x22,\x22gen-into\x22,592640985,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22min-count\x22,\x22min-count\x22,-1059726756,null),new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22kind\x22,\x22kind\x22,923265724,null),new cljs.core.Symbol(null,\x22conform-all\x22,\x22conform-all\x22,-980179459,null),new cljs.core.Symbol(null,\x22conform-into\x22,\x22conform-into\x22,-1039113729,null),new cljs.core.Symbol(null,\x22meta36968\x22,\x22meta36968\x22,-1606181471,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36967\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36967.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36967\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36967.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36967 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36967(form,max_count,check_QMARK_,gfn,gen_max,pred,cpred,map__36949,conform_keys,kind_form,addcv,p__36948,cfns,describe_form,distinct,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta36968){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36967(form,max_count,check_QMARK_,gfn,gen_max,pred,cpred,map__36949,conform_keys,kind_form,addcv,p__36948,cfns,describe_form,distinct,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta36968));\n});\n\n\n/**\n * Do not call this directly, use \x27every\x27, \x27every-kv\x27, \x27coll-of\x27 or \x27map-of\x27\n */\ncljs.spec.alpha.every_impl \x3d (function cljs$spec$alpha$every_impl(var_args){\nvar G__36932 \x3d arguments.length;\nswitch (G__36932) {\ncase 3:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,pred,opts){\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(form,pred,opts,null);\n}));\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,p__36948,gfn){\nvar map__36949 \x3d p__36948;\nvar map__36949__$1 \x3d cljs.core.__destructure_map(map__36949);\nvar opts \x3d map__36949__$1;\nvar max_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(null,\x22max-count\x22,\x22max-count\x22,1539185305));\nvar kind_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kind-form\x22,\x22cljs.spec.alpha/kind-form\x22,-1047104697));\nvar gen_max \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__36949__$1,new cljs.core.Keyword(null,\x22gen-max\x22,\x22gen-max\x22,-793680445),(20));\nvar cpred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22cpred\x22,\x22cljs.spec.alpha/cpred\x22,-693471218));\nvar conform_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(null,\x22conform-keys\x22,\x22conform-keys\x22,-1800041814));\nvar describe_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22describe\x22,\x22cljs.spec.alpha/describe\x22,1883026911));\nvar distinct \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(null,\x22distinct\x22,\x22distinct\x22,-1788879121));\nvar kfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kfn\x22,\x22cljs.spec.alpha/kfn\x22,672643897));\nvar count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085));\nvar min_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(null,\x22min-count\x22,\x22min-count\x22,1594709013));\nvar kind \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(null,\x22kind\x22,\x22kind\x22,-717265803));\nvar conform_all \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22conform-all\x22,\x22cljs.spec.alpha/conform-all\x22,45201917));\nvar conform_into \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36949__$1,new cljs.core.Keyword(null,\x22into\x22,\x22into\x22,-150836029));\nvar gen_into \x3d (cljs.core.truth_(conform_into)?cljs.core.empty(conform_into):cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.empty_coll,kind_form));\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(pred);\n}),null));\nvar check_QMARK_ \x3d (function (p1__36917_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(spec),p1__36917_SHARP_);\n});\nvar kfn__$1 \x3d (function (){var or__5025__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (function (i,v){\nreturn i;\n});\n}\n})();\nvar addcv \x3d (function (ret,i,v,cv){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cv);\n});\nvar cfns \x3d (function (x){\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (((cljs.core.not(conform_into)) || (cljs.core.vector_QMARK_(conform_into)))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.identity,(function (ret,i,v,cv){\nif((v \x3d\x3d\x3d cv)){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv);\n}\n}),cljs.core.identity], null);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.map_QMARK_(x);\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d (function (){var and__5023__auto____$1 \x3d kind;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn cljs.core.not(conform_into);\n} else {\nreturn and__5023__auto____$1;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.map_QMARK_(conform_into);\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.truth_(conform_keys)?cljs.core.empty:cljs.core.identity),(function (ret,i,v,cv){\nif((((v \x3d\x3d\x3d cv)) \x26\x26 (cljs.core.not(conform_keys)))){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,cljs.core.nth.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(conform_keys)?cv:v),(0)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cv,(1)));\n}\n}),cljs.core.identity], null);\n} else {\nif(((cljs.core.list_QMARK_(conform_into)) || (((cljs.core.seq_QMARK_(conform_into)) || (((cljs.core.not(conform_into)) \x26\x26 (((cljs.core.list_QMARK_(x)) || (cljs.core.seq_QMARK_(x)))))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.empty,addcv,cljs.core.reverse], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (p1__36918_SHARP_){\nreturn cljs.core.empty((function (){var or__5025__auto__ \x3d conform_into;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p1__36918_SHARP_;\n}\n})());\n}),addcv,cljs.core.identity], null);\n\n}\n}\n}\n});\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36967(form,max_count,check_QMARK_,gfn,gen_max,pred,cpred,map__36949__$1,conform_keys,kind_form,addcv,p__36948,cfns,describe_form,distinct,spec,kfn__$1,gen_into,count,min_count,opts,kind,conform_all,conform_into,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.every_impl.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.spec.alpha.accept \x3d (function cljs$spec$alpha$accept(x){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),x], null);\n});\ncljs.spec.alpha.accept_QMARK_ \x3d (function cljs$spec$alpha$accept_QMARK_(p__37115){\nvar map__37116 \x3d p__37115;\nvar map__37116__$1 \x3d cljs.core.__destructure_map(map__37116);\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37116__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),op);\n});\ncljs.spec.alpha.pcat_STAR_ \x3d (function cljs$spec$alpha$pcat_STAR_(p__37119){\nvar map__37120 \x3d p__37119;\nvar map__37120__$1 \x3d cljs.core.__destructure_map(map__37120);\nvar vec__37121 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37120__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__37122 \x3d cljs.core.seq(vec__37121);\nvar first__37123 \x3d cljs.core.first(seq__37122);\nvar seq__37122__$1 \x3d cljs.core.next(seq__37122);\nvar p1 \x3d first__37123;\nvar pr \x3d seq__37122__$1;\nvar ps \x3d vec__37121;\nvar vec__37124 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37120__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__37125 \x3d cljs.core.seq(vec__37124);\nvar first__37126 \x3d cljs.core.first(seq__37125);\nvar seq__37125__$1 \x3d cljs.core.next(seq__37125);\nvar k1 \x3d first__37126;\nvar kr \x3d seq__37125__$1;\nvar ks \x3d vec__37124;\nvar vec__37127 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37120__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar seq__37128 \x3d cljs.core.seq(vec__37127);\nvar first__37129 \x3d cljs.core.first(seq__37128);\nvar seq__37128__$1 \x3d cljs.core.next(seq__37128);\nvar f1 \x3d first__37129;\nvar fr \x3d seq__37128__$1;\nvar forms \x3d vec__37127;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37120__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37120__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nif(cljs.core.every_QMARK_(cljs.core.identity,ps)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nvar rp \x3d new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1);\nvar ret__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(cljs.core.truth_(ks)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k1,rp]):rp));\nif(pr){\nvar G__37132 \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),fr,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret__$1], null);\nreturn (cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1(G__37132) : cljs.spec.alpha.pcat_STAR_.call(null,G__37132));\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),rep_PLUS_], null);\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.pcat \x3d (function cljs$spec$alpha$pcat(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38424 \x3d arguments.length;\nvar i__5750__auto___38425 \x3d (0);\nwhile(true){\nif((i__5750__auto___38425 \x3c len__5749__auto___38424)){\nargs__5755__auto__.push((arguments[i__5750__auto___38425]));\n\nvar G__38426 \x3d (i__5750__auto___38425 + (1));\ni__5750__auto___38425 \x3d G__38426;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY], null));\n}));\n\n(cljs.spec.alpha.pcat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.pcat.cljs$lang$applyTo \x3d (function (seq37133){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq37133));\n}));\n\n/**\n * Do not call this directly, use \x27cat\x27\n */\ncljs.spec.alpha.cat_impl \x3d (function cljs$spec$alpha$cat_impl(ks,ps,forms){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.spec.alpha.rep_STAR_ \x3d (function cljs$spec$alpha$rep_STAR_(p1,p2,ret,splice,form){\nif(cljs.core.truth_(p1)){\nvar r \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641),p2,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165),splice,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),form,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid()], null);\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1))], 0));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], 0));\n}\n} else {\nreturn null;\n}\n});\n/**\n * Do not call this directly, use \x27*\x27\n */\ncljs.spec.alpha.rep_impl \x3d (function cljs$spec$alpha$rep_impl(form,p){\nreturn cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,false,form);\n});\n/**\n * Do not call this directly, use \x27+\x27\n */\ncljs.spec.alpha.rep_PLUS_impl \x3d (function cljs$spec$alpha$rep_PLUS_impl(form,p){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,true,form)], null),new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null),null,(1),null)),(new cljs.core.List(null,form,null,(1),null))))),null,(1),null)))))),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),form], null));\n});\n/**\n * Do not call this directly, use \x27\x26\x27\n */\ncljs.spec.alpha.amp_impl \x3d (function cljs$spec$alpha$amp_impl(re,re_form,preds,pred_forms){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),re,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571),re_form,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),preds,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),pred_forms], null);\n});\ncljs.spec.alpha.filter_alt \x3d (function cljs$spec$alpha$filter_alt(ps,ks,forms,f){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ks;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn forms;\n}\n})())){\nvar pks \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__37169_SHARP_){\nvar G__37174 \x3d cljs.core.first(p1__37169_SHARP_);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__37174) : f.call(null,G__37174));\n}),cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5025__auto__ \x3d cljs.core.seq(ks);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5025__auto__ \x3d cljs.core.seq(forms);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})()));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,pks)),(cljs.core.truth_(ks)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,pks)):null),(cljs.core.truth_(forms)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__37170_SHARP_){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__37170_SHARP_,(2));\n}),pks)):null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(f,ps)),ks,forms], null);\n}\n});\ncljs.spec.alpha.alt_STAR_ \x3d (function cljs$spec$alpha$alt_STAR_(ps,ks,forms){\nvar vec__37184 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms,cljs.core.identity);\nvar vec__37187 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37184,(0),null);\nvar seq__37188 \x3d cljs.core.seq(vec__37187);\nvar first__37189 \x3d cljs.core.first(seq__37188);\nvar seq__37188__$1 \x3d cljs.core.next(seq__37188);\nvar p1 \x3d first__37189;\nvar pr \x3d seq__37188__$1;\nvar ps__$1 \x3d vec__37187;\nvar vec__37190 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37184,(1),null);\nvar k1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37190,(0),null);\nvar ks__$1 \x3d vec__37190;\nvar forms__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37184,(2),null);\nif(cljs.core.truth_(ps__$1)){\nvar ret \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$1], null);\nif((pr \x3d\x3d null)){\nif(cljs.core.truth_(k1)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.spec.alpha.accept(cljs.spec.alpha.tagged_ret(k1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1)));\n} else {\nreturn ret;\n}\n} else {\nreturn p1;\n}\n} else {\nreturn ret;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.alts \x3d (function cljs$spec$alpha$alts(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38438 \x3d arguments.length;\nvar i__5750__auto___38439 \x3d (0);\nwhile(true){\nif((i__5750__auto___38439 \x3c len__5749__auto___38438)){\nargs__5755__auto__.push((arguments[i__5750__auto___38439]));\n\nvar G__38440 \x3d (i__5750__auto___38439 + (1));\ni__5750__auto___38439 \x3d G__38440;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.alt_STAR_(ps,null,null);\n}));\n\n(cljs.spec.alpha.alts.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.alts.cljs$lang$applyTo \x3d (function (seq37194){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq37194));\n}));\n\ncljs.spec.alpha.alt2 \x3d (function cljs$spec$alpha$alt2(p1,p2){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d p1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn p2;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1,p2], 0));\n} else {\nvar or__5025__auto__ \x3d p1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p2;\n}\n}\n});\n/**\n * Do not call this directly, use \x27alt\x27\n */\ncljs.spec.alpha.alt_impl \x3d (function cljs$spec$alpha$alt_impl(ks,ps,forms){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(ps,ks,forms),new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid());\n});\n/**\n * Do not call this directly, use \x27?\x27\n */\ncljs.spec.alpha.maybe_impl \x3d (function cljs$spec$alpha$maybe_impl(p,form){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.accept(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [form,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)], null)),new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560),form);\n});\ncljs.spec.alpha.noret_QMARK_ \x3d (function cljs$spec$alpha$noret_QMARK_(p1,pret){\nvar or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var and__5023__auto__ \x3d (function (){var G__37239 \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.reg_resolve_BANG_(p1));\nvar fexpr__37238 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),null,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),null], null), null);\nreturn (fexpr__37238.cljs$core$IFn$_invoke$arity$1 ? fexpr__37238.cljs$core$IFn$_invoke$arity$1(G__37239) : fexpr__37238.call(null,G__37239));\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.empty_QMARK_(pret);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.accept_nil_QMARK_ \x3d (function cljs$spec$alpha$accept_nil_QMARK_(p){\nvar map__37245 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37245__$1 \x3d cljs.core.__destructure_map(map__37245);\nvar p__$1 \x3d map__37245__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37245__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37245__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37245__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37245__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37245__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__37248 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37248)){\nreturn true;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37248)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37248)){\nvar and__5023__auto__ \x3d (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\nif(cljs.core.truth_(and__5023__auto__)){\nvar ret \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1),ps,cljs.core.next(forms));\nreturn (!(cljs.spec.alpha.invalid_QMARK_(ret)));\n} else {\nreturn and__5023__auto__;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37248)){\nvar or__5025__auto__ \x3d (p1 \x3d\x3d\x3d p2);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37248)){\nreturn cljs.core.every_QMARK_(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37248)){\nreturn cljs.core.some(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37248)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.preturn \x3d (function cljs$spec$alpha$preturn(p){\nvar map__37258 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37258__$1 \x3d cljs.core.__destructure_map(map__37258);\nvar p__$1 \x3d map__37258__$1;\nvar vec__37259 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37258__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__37260 \x3d cljs.core.seq(vec__37259);\nvar first__37261 \x3d cljs.core.first(seq__37260);\nvar seq__37260__$1 \x3d cljs.core.next(seq__37260);\nvar p0 \x3d first__37261;\nvar pr \x3d seq__37260__$1;\nvar ps \x3d vec__37259;\nvar vec__37262 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37258__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37262,(0),null);\nvar ks \x3d vec__37262;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37258__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37258__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37258__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37258__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__37268 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37268)){\nreturn ret;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37268)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37268)){\nvar pret \x3d (cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.preturn.call(null,p1));\nif(cljs.core.truth_(cljs.spec.alpha.noret_QMARK_(p1,pret))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950);\n} else {\nreturn cljs.spec.alpha.and_preds(pret,ps,forms);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37268)){\nreturn cljs.spec.alpha.add_ret(p1,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37268)){\nreturn cljs.spec.alpha.add_ret(p0,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37268)){\nvar vec__37272 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms,cljs.spec.alpha.accept_nil_QMARK_);\nvar vec__37275 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37272,(0),null);\nvar p0__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37275,(0),null);\nvar vec__37278 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37272,(1),null);\nvar k0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37278,(0),null);\nvar r \x3d (((p0__$1 \x3d\x3d null))?new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950):(cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p0__$1) : cljs.spec.alpha.preturn.call(null,p0__$1)));\nif(cljs.core.truth_(k0)){\nreturn cljs.spec.alpha.tagged_ret(k0,r);\n} else {\nreturn r;\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37268)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.op_unform \x3d (function cljs$spec$alpha$op_unform(p,x){\nvar map__37289 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37289__$1 \x3d cljs.core.__destructure_map(map__37289);\nvar p__$1 \x3d map__37289__$1;\nvar vec__37290 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37289__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__37291 \x3d cljs.core.seq(vec__37290);\nvar first__37292 \x3d cljs.core.first(seq__37291);\nvar seq__37291__$1 \x3d cljs.core.next(seq__37291);\nvar p0 \x3d first__37292;\nvar pr \x3d seq__37291__$1;\nvar ps \x3d vec__37290;\nvar vec__37293 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37289__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37293,(0),null);\nvar ks \x3d vec__37293;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37289__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37289__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37289__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37289__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37289__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37289__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar kps \x3d cljs.core.zipmap(ks,ps);\nvar G__37296 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37296)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37296)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p__$1,x)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37296)){\nvar px \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__37284_SHARP_,p2__37283_SHARP_){\nreturn cljs.spec.alpha.unform(p2__37283_SHARP_,p1__37284_SHARP_);\n}),x,cljs.core.reverse(ps));\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,px) : cljs.spec.alpha.op_unform.call(null,p1,px));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37296)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__37285_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,p1__37285_SHARP_) : cljs.spec.alpha.op_unform.call(null,p1,p1__37285_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37296)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__37286_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p0,p1__37286_SHARP_) : cljs.spec.alpha.op_unform.call(null,p0,p1__37286_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (k__$1){\nif(cljs.core.contains_QMARK_(x,k__$1)){\nvar G__37312 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__37314 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(x,k__$1);\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__37312,G__37314) : cljs.spec.alpha.op_unform.call(null,G__37312,G__37314));\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37296)){\nif(cljs.core.truth_(maybe)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p0,x)], null);\n} else {\nvar vec__37328 \x3d x;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37328,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37328,(1),null);\nvar G__37339 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__37340 \x3d v;\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__37339,G__37340) : cljs.spec.alpha.op_unform.call(null,G__37339,G__37340));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37296)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.add_ret \x3d (function cljs$spec$alpha$add_ret(p,r,k){\nvar map__37350 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37350__$1 \x3d cljs.core.__destructure_map(map__37350);\nvar p__$1 \x3d map__37350__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37350__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37350__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37350__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar prop \x3d (function (){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core.empty_QMARK_(ret)){\nreturn r;\n} else {\nvar G__37354 \x3d r;\nvar G__37355 \x3d (cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret);\nvar fexpr__37353 \x3d (cljs.core.truth_(splice)?cljs.core.into:cljs.core.conj);\nreturn (fexpr__37353.cljs$core$IFn$_invoke$arity$2 ? fexpr__37353.cljs$core$IFn$_invoke$arity$2(G__37354,G__37355) : fexpr__37353.call(null,G__37354,G__37355));\n}\n});\nvar G__37357 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37357)){\nreturn r;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37357)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37357)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37357)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37357)){\nreturn prop();\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37357)){\nreturn prop();\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37357)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.deriv \x3d (function cljs$spec$alpha$deriv(p,x){\nvar map__37368 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37368__$1 \x3d cljs.core.__destructure_map(map__37368);\nvar p__$1 \x3d map__37368__$1;\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37368__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37368__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar vec__37369 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37368__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__37370 \x3d cljs.core.seq(vec__37369);\nvar first__37371 \x3d cljs.core.first(seq__37370);\nvar seq__37370__$1 \x3d cljs.core.next(seq__37370);\nvar p0 \x3d first__37371;\nvar pr \x3d seq__37370__$1;\nvar ps \x3d vec__37369;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37368__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37368__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37368__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar vec__37372 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37368__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__37373 \x3d cljs.core.seq(vec__37372);\nvar first__37374 \x3d cljs.core.first(seq__37373);\nvar seq__37373__$1 \x3d cljs.core.next(seq__37373);\nvar k0 \x3d first__37374;\nvar kr \x3d seq__37373__$1;\nvar ks \x3d vec__37372;\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37368__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37368__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__37377 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37377)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37377)){\nvar ret__$1 \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p__$1,x,p__$1);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37377)){\nvar temp__5804__auto__ \x3d (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar p1__$1 \x3d temp__5804__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p1__$1))){\nvar ret__$1 \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1__$1),ps,cljs.core.next(forms));\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.amp_impl(p1__$1,amp,ps,forms);\n}\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37377)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),cljs.core.cons((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p0,x) : cljs.spec.alpha.deriv.call(null,p0,x)),pr),new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], null)),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p0))?(function (){var G__37385 \x3d cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.next(forms),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.spec.alpha.add_ret(p0,ret,k0)], null));\nvar G__37386 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__37385,G__37386) : cljs.spec.alpha.deriv.call(null,G__37385,G__37386));\n})():null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37377)){\nreturn cljs.spec.alpha.alt_STAR_(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__37366_SHARP_){\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1__37366_SHARP_,x) : cljs.spec.alpha.deriv.call(null,p1__37366_SHARP_,x));\n}),ps),ks,forms);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37377)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.rep_STAR_((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x)),p2,ret,splice,forms),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))?(function (){var G__37390 \x3d cljs.spec.alpha.rep_STAR_(p2,p2,cljs.spec.alpha.add_ret(p1,ret,null),splice,forms);\nvar G__37391 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__37390,G__37391) : cljs.spec.alpha.deriv.call(null,G__37390,G__37391));\n})():null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37377)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_describe \x3d (function cljs$spec$alpha$op_describe(p){\nvar map__37396 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37396__$1 \x3d cljs.core.__destructure_map(map__37396);\nvar p__$1 \x3d map__37396__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37396__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37396__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37396__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37396__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37396__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37396__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37396__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37396__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37396__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__37398 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37398)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37398)){\nreturn p__$1;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37398)){\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22\x26\x22,\x22cljs.spec.alpha/\x26\x22,1635809823,null),amp,forms);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37398)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null),(new cljs.core.List(null,rep_PLUS_,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22cat\x22,\x22cljs.spec.alpha/cat\x22,-1471398329,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5025__auto__ \x3d cljs.core.seq(ks);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22_\x22,\x22_\x22,1453416199));\n}\n})(),forms], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37398)){\nif(cljs.core.truth_(maybe)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22?\x22,\x22cljs.spec.alpha/?\x22,1605136319,null),(new cljs.core.List(null,maybe,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,-2130750332,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks,forms], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37398)){\nreturn (new cljs.core.List(null,(cljs.core.truth_(splice)?new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null):new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null)),(new cljs.core.List(null,forms,null,(1),null)),(2),null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37398)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_explain \x3d (function cljs$spec$alpha$op_explain(form,p,path,via,in$,input){\nvar vec__37400 \x3d input;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37400,(0),null);\nvar input__$1 \x3d vec__37400;\nvar map__37403 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37403__$1 \x3d cljs.core.__destructure_map(map__37403);\nvar p__$1 \x3d map__37403__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37403__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37403__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37403__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37403__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37403__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37403__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37403__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar via__$1 \x3d (function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(p__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})();\nvar insufficient \x3d (function (path__$1,form__$1){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Insufficient input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n});\nif(cljs.core.truth_(p__$1)){\nvar G__37404 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37404)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37404)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,form);\n} else {\nreturn cljs.spec.alpha.explain_1(form,p__$1,path,via__$1,in$,x);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37404)){\nif(cljs.core.empty_QMARK_(input__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))){\nreturn cljs.spec.alpha.explain_pred_list(forms,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1));\n} else {\nreturn insufficient(path,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1));\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p1,x);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar p1__$1 \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.explain_pred_list(forms,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1__$1));\n} else {\nvar G__37405 \x3d new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1);\nvar G__37406 \x3d p1;\nvar G__37407 \x3d path;\nvar G__37408 \x3d via__$1;\nvar G__37409 \x3d in$;\nvar G__37410 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__37405,G__37406,G__37407,G__37408,G__37409,G__37410) : cljs.spec.alpha.op_explain.call(null,G__37405,G__37406,G__37407,G__37408,G__37409,G__37410));\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37404)){\nvar pkfs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5025__auto__ \x3d cljs.core.seq(ks);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5025__auto__ \x3d cljs.core.seq(forms);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\nvar vec__37411 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(pkfs)))?cljs.core.first(pkfs):cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__37414){\nvar vec__37415 \x3d p__37414;\nvar p__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37415,(0),null);\nreturn cljs.spec.alpha.accept_nil_QMARK_(p__$2);\n}),pkfs)));\nvar pred \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37411,(0),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37411,(1),null);\nvar form__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37411,(2),null);\nvar path__$1 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar form__$2 \x3d (function (){var or__5025__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nif(((cljs.core.empty_QMARK_(input__$1)) \x26\x26 (cljs.core.not(pred)))){\nreturn insufficient(path__$1,form__$2);\n} else {\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(form__$2,pred,path__$1,via__$1,in$,input__$1) : cljs.spec.alpha.op_explain.call(null,form__$2,pred,path__$1,via__$1,in$,input__$1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37404)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,cljs.spec.alpha.op_describe(p__$1));\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form__$1,pred){\nvar G__37418 \x3d (function (){var or__5025__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nvar G__37419 \x3d pred;\nvar G__37420 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__37421 \x3d via__$1;\nvar G__37422 \x3d in$;\nvar G__37423 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__37418,G__37419,G__37420,G__37421,G__37422,G__37423) : cljs.spec.alpha.op_explain.call(null,G__37418,G__37419,G__37420,G__37421,G__37422,G__37423));\n}),(function (){var or__5025__auto__ \x3d cljs.core.seq(ks);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5025__auto__ \x3d cljs.core.seq(forms);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),ps));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37404)){\nvar G__37425 \x3d (((p1 \x3d\x3d\x3d p2))?forms:cljs.spec.alpha.op_describe(p1));\nvar G__37426 \x3d p1;\nvar G__37427 \x3d path;\nvar G__37428 \x3d via__$1;\nvar G__37429 \x3d in$;\nvar G__37430 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__37425,G__37426,G__37427,G__37428,G__37429,G__37430) : cljs.spec.alpha.op_explain.call(null,G__37425,G__37426,G__37427,G__37428,G__37429,G__37430));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37404)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.re_gen \x3d (function cljs$spec$alpha$re_gen(p,overrides,path,rmap,f){\nvar origp \x3d p;\nvar map__37433 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37433__$1 \x3d cljs.core.__destructure_map(map__37433);\nvar p__$1 \x3d map__37433__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37433__$1,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092));\nvar rmap__$1 \x3d (cljs.core.truth_(id)?cljs.spec.alpha.inck(rmap,id):rmap);\nvar ggens \x3d (function (ps__$1,ks__$1,forms__$1){\nvar gen \x3d (function (p__$2,k,f__$1){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d rmap__$1;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d id;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d k;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,path,k);\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn null;\n} else {\nif(cljs.core.truth_(id)){\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nvar G__37437 \x3d p__$2;\nvar G__37438 \x3d overrides;\nvar G__37439 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__37440 \x3d rmap__$1;\nvar G__37441 \x3d (function (){var or__5025__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__37437,G__37438,G__37439,G__37440,G__37441) : cljs.spec.alpha.re_gen.call(null,G__37437,G__37438,G__37439,G__37440,G__37441));\n}),null)));\n} else {\nvar G__37443 \x3d p__$2;\nvar G__37444 \x3d overrides;\nvar G__37445 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__37446 \x3d rmap__$1;\nvar G__37447 \x3d (function (){var or__5025__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__37443,G__37444,G__37445,G__37446,G__37447) : cljs.spec.alpha.re_gen.call(null,G__37443,G__37444,G__37445,G__37446,G__37447));\n}\n}\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,ps__$1,(function (){var or__5025__auto__ \x3d cljs.core.seq(ks__$1);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5025__auto__ \x3d cljs.core.seq(forms__$1);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\n});\nvar or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(origp));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(p__$1));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar gfn__$1 \x3d temp__5804__auto__;\nvar G__37451 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22accept\x22,\x22accept\x22,1874130431),G__37451)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37451)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nreturn (gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null));\n\n}\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.core.truth_(gfn)?(gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null)):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nif(cljs.core.truth_(p__$1)){\nvar G__37452 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37452)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null)], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37452)){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.gensub(p__$1,overrides,path,rmap__$1,f);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar g \x3d temp__5804__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,g], 0));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37452)){\nvar G__37454 \x3d p1;\nvar G__37455 \x3d overrides;\nvar G__37456 \x3d path;\nvar G__37457 \x3d rmap__$1;\nvar G__37458 \x3d cljs.spec.alpha.op_describe(p1);\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__37454,G__37455,G__37456,G__37457,G__37458) : cljs.spec.alpha.re_gen.call(null,G__37454,G__37455,G__37456,G__37457,G__37458));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37452)){\nvar gens \x3d ggens(ps,ks,forms);\nif(cljs.core.every_QMARK_(cljs.core.identity,gens)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.cat,gens);\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37452)){\nvar gens \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,ggens(ps,ks,forms));\nif(cljs.core.empty_QMARK_(gens)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gens], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37452)){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [id], null),id)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nvar temp__5804__auto__ \x3d (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(p2,overrides,path,rmap__$1,forms) : cljs.spec.alpha.re_gen.call(null,p2,overrides,path,rmap__$1,forms));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar g \x3d temp__5804__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__37432_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__37432_SHARP_);\n}),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([g], 0))], 0));\n} else {\nreturn null;\n}\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37452)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.re_conform \x3d (function cljs$spec$alpha$re_conform(p,p__37464){\nwhile(true){\nvar vec__37465 \x3d p__37464;\nvar seq__37466 \x3d cljs.core.seq(vec__37465);\nvar first__37467 \x3d cljs.core.first(seq__37466);\nvar seq__37466__$1 \x3d cljs.core.next(seq__37466);\nvar x \x3d first__37467;\nvar xs \x3d seq__37466__$1;\nvar data \x3d vec__37465;\nif(cljs.core.empty_QMARK_(data)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p))){\nvar ret \x3d cljs.spec.alpha.preturn(p);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn null;\n} else {\nreturn ret;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p,x);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dp \x3d temp__5802__auto__;\nvar G__38527 \x3d dp;\nvar G__38528 \x3d xs;\np \x3d G__38527;\np__37464 \x3d G__38528;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n});\ncljs.spec.alpha.re_explain \x3d (function cljs$spec$alpha$re_explain(path,via,in$,re,input){\nvar p \x3d re;\nvar G__37477 \x3d input;\nvar vec__37479 \x3d G__37477;\nvar seq__37480 \x3d cljs.core.seq(vec__37479);\nvar first__37481 \x3d cljs.core.first(seq__37480);\nvar seq__37480__$1 \x3d cljs.core.next(seq__37480);\nvar x \x3d first__37481;\nvar xs \x3d seq__37480__$1;\nvar data \x3d vec__37479;\nvar i \x3d (0);\nvar p__$1 \x3d p;\nvar G__37477__$1 \x3d G__37477;\nvar i__$1 \x3d i;\nwhile(true){\nvar p__$2 \x3d p__$1;\nvar vec__37483 \x3d G__37477__$1;\nvar seq__37484 \x3d cljs.core.seq(vec__37483);\nvar first__37485 \x3d cljs.core.first(seq__37484);\nvar seq__37484__$1 \x3d cljs.core.next(seq__37484);\nvar x__$1 \x3d first__37485;\nvar xs__$1 \x3d seq__37484__$1;\nvar data__$1 \x3d vec__37483;\nvar i__$2 \x3d i__$1;\nif(cljs.core.empty_QMARK_(data__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p__$2))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,in$,null);\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p__$2,x__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dp \x3d temp__5802__auto__;\nvar G__38532 \x3d dp;\nvar G__38533 \x3d xs__$1;\nvar G__38534 \x3d (i__$2 + (1));\np__$1 \x3d G__38532;\nG__37477__$1 \x3d G__38533;\ni__$1 \x3d G__38534;\ncontinue;\n} else {\nif(cljs.spec.alpha.accept_QMARK_(p__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p__$2),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623))){\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(re),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n} else {\nvar or__5025__auto__ \x3d cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(p__$2),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n}\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha37499 \x3d (function (re,gfn,meta37500){\nthis.re \x3d re;\nthis.gfn \x3d gfn;\nthis.meta37500 \x3d meta37500;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_37501,meta37500__$1){\nvar self__ \x3d this;\nvar _37501__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37499(self__.re,self__.gfn,meta37500__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_37501){\nvar self__ \x3d this;\nvar _37501__$1 \x3d this;\nreturn self__.meta37500;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_conform(self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_unform(self__.re,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_explain(path,via,in$,self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22or\x22,\x22cljs.core/or\x22,1201033885,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22sequential?\x22,\x22cljs.core/sequential?\x22,1777854658,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.re_gen(self__.re,overrides,path,rmap,cljs.spec.alpha.op_describe(self__.re));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2(self__.re,gfn__$1) : cljs.spec.alpha.regex_spec_impl.call(null,self__.re,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_describe(self__.re);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22re\x22,\x22re\x22,1869207729,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta37500\x22,\x22meta37500\x22,-1211285675,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha37499\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37499.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha37499\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha37499.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha37499 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha37499(re,gfn,meta37500){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37499(re,gfn,meta37500));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27 with a regex op argument\n */\ncljs.spec.alpha.regex_spec_impl \x3d (function cljs$spec$alpha$regex_spec_impl(re,gfn){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37499(re,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.call_valid_QMARK_ \x3d (function cljs$spec$alpha$call_valid_QMARK_(f,specs,args){\nvar cargs \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs),args);\nif(cljs.spec.alpha.invalid_QMARK_(cargs)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\nvar cret \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(specs),ret);\nvar and__5023__auto__ \x3d (!(cljs.spec.alpha.invalid_QMARK_(cret)));\nif(and__5023__auto__){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs))){\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn true;\n}\n} else {\nreturn and__5023__auto__;\n}\n}\n});\n/**\n * returns f if valid, else smallest\n */\ncljs.spec.alpha.validate_fn \x3d (function cljs$spec$alpha$validate_fn(f,specs,iters){\nvar g \x3d cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs));\nvar prop \x3d cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [g], null),(function (p1__37540_SHARP_){\nreturn cljs.spec.alpha.call_valid_QMARK_(f,specs,p1__37540_SHARP_);\n})], 0));\nvar ret \x3d cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([iters,prop], 0));\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22smallest\x22,\x22smallest\x22,-152623883).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22shrunk\x22,\x22shrunk\x22,-2041664412).cljs$core$IFn$_invoke$arity$1(ret));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__37544 \x3d temp__5802__auto__;\nvar smallest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37544,(0),null);\nreturn smallest;\n} else {\nreturn f;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha37554 \x3d (function (argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta37555){\nthis.argspec \x3d argspec;\nthis.aform \x3d aform;\nthis.retspec \x3d retspec;\nthis.rform \x3d rform;\nthis.fnspec \x3d fnspec;\nthis.fform \x3d fform;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.meta37555 \x3d meta37555;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393472;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_37556,meta37555__$1){\nvar self__ \x3d this;\nvar _37556__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37554(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,self__.gfn,self__.specs,meta37555__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_37556){\nvar self__ \x3d this;\nvar _37556__$1 \x3d this;\nreturn self__.meta37555;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.specs,k);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (_,k,not_found){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.specs,k,not_found);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nif((f \x3d\x3d\x3d cljs.spec.alpha.validate_fn(f,self__.specs,cljs.spec.alpha._STAR_fspec_iterations_STAR_))){\nreturn f;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn f;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nvar args \x3d cljs.spec.alpha.validate_fn(f,self__.specs,(100));\nif((f \x3d\x3d\x3d args)){\nreturn null;\n} else {\nvar ret \x3d (function (){try{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}catch (e37579){if((e37579 instanceof Error)){\nvar t \x3d e37579;\nreturn t;\n} else {\nthrow e37579;\n\n}\n}})();\nif((ret instanceof Error)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.list(new cljs.core.Symbol(null,\x22apply\x22,\x22apply\x22,-1334050276,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),args,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),ret.message,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar cret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(self__.retspec,ret,self__.rform);\nif(cljs.spec.alpha.invalid_QMARK_(cret)){\nreturn cljs.spec.alpha.explain_1(self__.rform,self__.retspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814)),via,in$,ret);\n} else {\nif(cljs.core.truth_(self__.fnspec)){\nvar cargs \x3d cljs.spec.alpha.conform(self__.argspec,args);\nreturn cljs.spec.alpha.explain_1(self__.fform,self__.fnspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)),via,in$,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn null;\n}\n}\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22ifn?\x22,\x22ifn?\x22,-2106461064,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),f,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,___$1,___$2){\nvar self__ \x3d this;\nvar ___$3 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function() { \nvar G__38550__delegate \x3d function (args){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(self__.argspec,args)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,(function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__37592_38551 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__37593_38552 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__37594_38553 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__37595_38554 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__37594_38553);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__37595_38554);\n\ntry{cljs.spec.alpha.explain(self__.argspec,args);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__37593_38552);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__37592_38551);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})(),\x22\\n\x22,\x22(pvalid? argspec args)\x22].join(\x27\x27)));\n}\n\nreturn cljs.spec.gen.alpha.generate(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(self__.retspec,overrides));\n};\nvar G__38550 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__38555__i \x3d 0, G__38555__a \x3d new Array(arguments.length -  0);\nwhile (G__38555__i \x3c G__38555__a.length) {G__38555__a[G__38555__i] \x3d arguments[G__38555__i + 0]; ++G__38555__i;}\n  args \x3d new cljs.core.IndexedSeq(G__38555__a,0,null);\n} \nreturn G__38550__delegate.call(this,args);};\nG__38550.cljs$lang$maxFixedArity \x3d 0;\nG__38550.cljs$lang$applyTo \x3d (function (arglist__38556){\nvar args \x3d cljs.core.seq(arglist__38556);\nreturn G__38550__delegate(args);\n});\nG__38550.cljs$core$IFn$_invoke$arity$variadic \x3d G__38550__delegate;\nreturn G__38550;\n})()\n], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7 ? cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1) : cljs.spec.alpha.fspec_impl.call(null,self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22fspec\x22,\x22cljs.spec.alpha/fspec\x22,-1289128341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.aform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),null,(1),null)),(new cljs.core.List(null,self__.rform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),null,(1),null)),(new cljs.core.List(null,self__.fform,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22argspec\x22,\x22argspec\x22,-1207762746,null),new cljs.core.Symbol(null,\x22aform\x22,\x22aform\x22,531303525,null),new cljs.core.Symbol(null,\x22retspec\x22,\x22retspec\x22,-920025354,null),new cljs.core.Symbol(null,\x22rform\x22,\x22rform\x22,-1420499912,null),new cljs.core.Symbol(null,\x22fnspec\x22,\x22fnspec\x22,-1865712406,null),new cljs.core.Symbol(null,\x22fform\x22,\x22fform\x22,-176049972,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22meta37555\x22,\x22meta37555\x22,908586640,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha37554\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37554.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha37554\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha37554.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha37554 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha37554(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta37555){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37554(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta37555));\n});\n\n\n/**\n * Do not call this directly, use \x27fspec\x27\n */\ncljs.spec.alpha.fspec_impl \x3d (function cljs$spec$alpha$fspec_impl(argspec,aform,retspec,rform,fnspec,fform,gfn){\nvar specs \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),argspec,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),retspec,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),fnspec], null);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37554(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.def_impl(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kvs-\x3emap\x22,\x22cljs.spec.alpha/kvs-\x3emap\x22,579713455),cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__37614#\x22,\x22p1__37614#\x22,29739596,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22p1__37614#\x22,\x22p1__37614#\x22,29739596,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22p1__37614#\x22,\x22p1__37614#\x22,29739596,null)))),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__37615#\x22,\x22p1__37615#\x22,-1224299356,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22p1__37615#\x22,\x22p1__37615#\x22,-1224299356,null)))),cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),(function (p1__37614_SHARP_){\nreturn cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),p1__37614_SHARP_),cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),p1__37614_SHARP_));\n}),null,true,(function (p1__37615_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__37656){\nvar vec__37657 \x3d p__37656;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37657,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37657,(1),null);\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),k,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),v], null);\n}),p1__37615_SHARP_);\n})));\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha37665 \x3d (function (spec,meta37666){\nthis.spec \x3d spec;\nthis.meta37666 \x3d meta37666;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_37667,meta37666__$1){\nvar self__ \x3d this;\nvar _37667__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37665(self__.spec,meta37666__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_37667){\nvar self__ \x3d this;\nvar _37667__$1 \x3d this;\nreturn self__.meta37666;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_STAR_(cljs.core.deref(self__.spec),path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.gen_STAR_(cljs.core.deref(self__.spec),overrides,path,rmap);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__37676 \x3d cljs.spec.alpha.with_gen_STAR_(cljs.core.deref(self__.spec),gfn);\nreturn (cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1(G__37676) : cljs.spec.alpha.nonconforming.call(null,G__37676));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nonconforming\x22,\x22cljs.spec.alpha/nonconforming\x22,-1009218508,null),null,(1),null)),(new cljs.core.List(null,cljs.spec.alpha.describe_STAR_(cljs.core.deref(self__.spec)),null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta37666\x22,\x22meta37666\x22,486719989,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha37665\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37665.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha37665\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha37665.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha37665 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha37665(spec,meta37666){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37665(spec,meta37666));\n});\n\n\n/**\n * takes a spec and returns a spec that has the same properties except\n *   \x27conform\x27 returns the original (not the conformed) value. Note, will specize regex ops.\n */\ncljs.spec.alpha.nonconforming \x3d (function cljs$spec$alpha$nonconforming(spec){\nvar spec__$1 \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\n}),null));\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37665(spec__$1,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha37691 \x3d (function (form,pred,gfn,spec,meta37692){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.spec \x3d spec;\nthis.meta37692 \x3d meta37692;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_37693,meta37692__$1){\nvar self__ \x3d this;\nvar _37693__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37691(self__.form,self__.pred,self__.gfn,self__.spec,meta37692__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_37693){\nvar self__ \x3d this;\nvar _37693__$1 \x3d this;\nreturn self__.meta37692;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.spec),x)) || ((x \x3d\x3d null)))){\nreturn null;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.explain_1(self__.form,self__.pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),via,in$,x),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)),new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22nil?\x22,\x22nil?\x22,1612038930,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0));\n}),null)))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(9),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(self__.pred,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),rmap,self__.form);\n}),null)))], null)], null)], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3(self__.form,self__.pred,gfn__$1) : cljs.spec.alpha.nilable_impl.call(null,self__.form,self__.pred,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nilable\x22,\x22cljs.spec.alpha/nilable\x22,1628308748,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta37692\x22,\x22meta37692\x22,1738106395,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha37691\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37691.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha37691\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha37691.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha37691 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha37691(form,pred,gfn,spec,meta37692){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37691(form,pred,gfn,spec,meta37692));\n});\n\n\n/**\n * Do not call this directly, use \x27nilable\x27\n */\ncljs.spec.alpha.nilable_impl \x3d (function cljs$spec$alpha$nilable_impl(form,pred,gfn){\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(pred,form);\n}),null));\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37691(form,pred,gfn,spec,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * generates a number (default 10) of values compatible with spec and maps conform over them,\n *   returning a sequence of [val conformed-val] tuples. Optionally takes\n *   a generator overrides map as per gen\n */\ncljs.spec.alpha.exercise \x3d (function cljs$spec$alpha$exercise(var_args){\nvar G__37727 \x3d arguments.length;\nswitch (G__37727) {\ncase 1:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2(spec,(10));\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,n){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3(spec,n,null);\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,n,overrides){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__37722_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__37722_SHARP_,cljs.spec.alpha.conform(spec,p1__37722_SHARP_)],null));\n}),cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,overrides),n], 0)));\n}));\n\n(cljs.spec.alpha.exercise.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return true if inst at or after start and before end\n */\ncljs.spec.alpha.inst_in_range_QMARK_ \x3d (function cljs$spec$alpha$inst_in_range_QMARK_(start,end,inst){\nvar and__5023__auto__ \x3d cljs.core.inst_QMARK_(inst);\nif(and__5023__auto__){\nvar t \x3d cljs.core.inst_ms(inst);\nreturn (((cljs.core.inst_ms(start) \x3c\x3d t)) \x26\x26 ((t \x3c cljs.core.inst_ms(end))));\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Return true if start \x3c\x3d val, val \x3c end and val is a fixed\n *   precision integer.\n */\ncljs.spec.alpha.int_in_range_QMARK_ \x3d (function cljs$spec$alpha$int_in_range_QMARK_(start,end,val){\nif(cljs.core.integer_QMARK_(val)){\nreturn (((start \x3c\x3d val)) \x26\x26 ((val \x3c end)));\n} else {\nif((val instanceof cljs.spec.alpha.goog$module$goog$math$Long)){\nvar and__5023__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5023__auto__;\n}\n} else {\nif((val instanceof goog.math.Integer)){\nvar and__5023__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5023__auto__;\n}\n} else {\nreturn false;\n\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_compile_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * If true, compiler will enable spec asserts, which are then\n * subject to runtime control via check-asserts? If false, compiler\n * will eliminate all spec assert overhead. See \x27assert\x27.\n * Initially set to the negation of the \x27:elide-asserts\x27 compiler option.\n * Defaults to true.\n */\ncljs.spec.alpha._STAR_compile_asserts_STAR_ \x3d true;\n}\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_runtime_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d false;\n}\n/**\n * Returns the value set by check-asserts.\n */\ncljs.spec.alpha.check_asserts_QMARK_ \x3d (function cljs$spec$alpha$check_asserts_QMARK_(){\nreturn cljs.spec.alpha._STAR_runtime_asserts_STAR_;\n});\n/**\n * Enable or disable spec asserts that have been compiled\n * with \x27*compile-asserts*\x27 true.  See \x27assert\x27.\n * Initially set to boolean value of cljs.spec.alpha/*runtime-asserts*.\n * Defaults to false.\n */\ncljs.spec.alpha.check_asserts \x3d (function cljs$spec$alpha$check_asserts(flag){\nreturn (cljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d flag);\n});\n/**\n * Do not call this directly, use \x27assert\x27.\n */\ncljs.spec.alpha.assert_STAR_ \x3d (function cljs$spec$alpha$assert_STAR_(spec,x){\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec,x)){\nreturn x;\n} else {\nvar ed \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,x),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22failure\x22,\x22cljs.spec.alpha/failure\x22,188258592),new cljs.core.Keyword(null,\x22assertion-failed\x22,\x22assertion-failed\x22,-970534477))], 0));\nthrow (new Error([\x22Spec assertion failed\\n\x22,(function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__37771_38638 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__37772_38639 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__37773_38640 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__37774_38641 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__37773_38640);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__37774_38641);\n\ntry{cljs.spec.alpha.explain_out(ed);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__37772_38639);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__37771_38638);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})()].join(\x27\x27)));\n}\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.writer.js", true, "goog.provide(\x27shadow.remote.runtime.writer\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\nshadow.remote.runtime.writer.LimitWriter \x3d (function (sb,limit){\nthis.sb \x3d sb;\nthis.limit \x3d limit;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.remote.runtime.writer.LimitWriter.prototype.getString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.sb.toString();\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nself__.sb.append(s);\n\nif((self__.sb.getLength() \x3e\x3d self__.limit)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22The limit of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.limit),\x22 bytes was reached while printing.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),self__.limit], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22StringBuffer\x22,\x22StringBuffer\x22,864531538,null)], null)),new cljs.core.Symbol(null,\x22limit\x22,\x22limit\x22,284709164,null)], null);\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorStr \x3d \x22shadow.remote.runtime.writer/LimitWriter\x22);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.remote.runtime.writer/LimitWriter\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.writer/LimitWriter.\n */\nshadow.remote.runtime.writer.__GT_LimitWriter \x3d (function shadow$remote$runtime$writer$__GT_LimitWriter(sb,limit){\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\n\nshadow.remote.runtime.writer.pr_str_limit \x3d (function shadow$remote$runtime$writer$pr_str_limit(obj,limit){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\ntry{cljs.core.pr_writer(obj,writer,cljs.core.pr_opts());\n\nreturn [\x220,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb.toString())].join(\x27\x27);\n}catch (e35203){var e \x3d e35203;\nif((!(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(e)))))){\nthrow e;\n} else {\nreturn [\x221,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var s \x3d sb.toString();\nif((s.length \x3e limit)){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),limit);\n} else {\nreturn s;\n}\n})())].join(\x27\x27);\n}\n}});\nshadow.remote.runtime.writer.limit_writer \x3d (function shadow$remote$runtime$writer$limit_writer(limit){\nvar sb \x3d (new goog.string.StringBuffer());\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\nshadow.remote.runtime.writer.get_string \x3d (function shadow$remote$runtime$writer$get_string(lw){\nreturn lw.getString();\n});\n");
SHADOW_ENV.evalLoad("goog.string.stringformat.js", true, "goog.provide(\x22goog.string.format\x22);\ngoog.require(\x22goog.string\x22);\ngoog.string.format \x3d function(formatString, var_args) {\n  function replacerDemuxer(match, flags, width, dotp, precision, type, offset, wholeString) {\n    if (type \x3d\x3d \x22%\x22) {\n      return \x22%\x22;\n    }\n    const value \x3d args.shift();\n    if (typeof value \x3d\x3d \x22undefined\x22) {\n      throw new Error(\x22[goog.string.format] Not enough arguments\x22);\n    }\n    arguments[0] \x3d value;\n    return goog.string.format.demuxes_[type].apply(null, arguments);\n  }\n  const args \x3d Array.prototype.slice.call(arguments);\n  const template \x3d args.shift();\n  if (typeof template \x3d\x3d \x22undefined\x22) {\n    throw new Error(\x22[goog.string.format] Template required\x22);\n  }\n  const formatRe \x3d /%([0\\- \\+]*)(\\d+)?(\\.(\\d+))?([%sfdiu])/g;\n  return template.replace(formatRe, replacerDemuxer);\n};\ngoog.string.format.demuxes_ \x3d {};\ngoog.string.format.demuxes_[\x22s\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n  let replacement \x3d value;\n  if (isNaN(width) || width \x3d\x3d \x22\x22 || replacement.length \x3e\x3d Number(width)) {\n    return replacement;\n  }\n  if (flags.indexOf(\x22-\x22, 0) \x3e -1) {\n    replacement \x3d replacement + goog.string.repeat(\x22 \x22, Number(width) - replacement.length);\n  } else {\n    replacement \x3d goog.string.repeat(\x22 \x22, Number(width) - replacement.length) + replacement;\n  }\n  return replacement;\n};\ngoog.string.format.demuxes_[\x22f\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n  let replacement \x3d value.toString();\n  if (!(isNaN(precision) || precision \x3d\x3d \x22\x22)) {\n    replacement \x3d parseFloat(value).toFixed(precision);\n  }\n  let sign;\n  if (Number(value) \x3c 0) {\n    sign \x3d \x22-\x22;\n  } else if (flags.indexOf(\x22+\x22) \x3e\x3d 0) {\n    sign \x3d \x22+\x22;\n  } else if (flags.indexOf(\x22 \x22) \x3e\x3d 0) {\n    sign \x3d \x22 \x22;\n  } else {\n    sign \x3d \x22\x22;\n  }\n  if (Number(value) \x3e\x3d 0) {\n    replacement \x3d sign + replacement;\n  }\n  if (isNaN(width) || replacement.length \x3e\x3d Number(width)) {\n    return replacement;\n  }\n  replacement \x3d isNaN(precision) ? Math.abs(Number(value)).toString() : Math.abs(Number(value)).toFixed(precision);\n  const padCount \x3d Number(width) - replacement.length - sign.length;\n  if (flags.indexOf(\x22-\x22, 0) \x3e\x3d 0) {\n    replacement \x3d sign + replacement + goog.string.repeat(\x22 \x22, padCount);\n  } else {\n    const paddingChar \x3d flags.indexOf(\x220\x22, 0) \x3e\x3d 0 ? \x220\x22 : \x22 \x22;\n    replacement \x3d sign + goog.string.repeat(paddingChar, padCount) + replacement;\n  }\n  return replacement;\n};\ngoog.string.format.demuxes_[\x22d\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n  return goog.string.format.demuxes_[\x22f\x22](parseInt(value, 10), flags, width, dotp, 0, type, offset, wholeString);\n};\ngoog.string.format.demuxes_[\x22i\x22] \x3d goog.string.format.demuxes_[\x22d\x22];\ngoog.string.format.demuxes_[\x22u\x22] \x3d goog.string.format.demuxes_[\x22d\x22];\n");
SHADOW_ENV.evalLoad("cljs.repl.js", true, "goog.provide(\x27cljs.repl\x27);\ncljs.repl.print_doc \x3d (function cljs$repl$print_doc(p__37790){\nvar map__37792 \x3d p__37790;\nvar map__37792__$1 \x3d cljs.core.__destructure_map(map__37792);\nvar m \x3d map__37792__$1;\nvar n \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37792__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar nm \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37792__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22-------------------------\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn [(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27);\n}\n})()], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Protocol\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__37809_38179 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__37810_38180 \x3d null;\nvar count__37811_38181 \x3d (0);\nvar i__37812_38182 \x3d (0);\nwhile(true){\nif((i__37812_38182 \x3c count__37811_38181)){\nvar f_38183 \x3d chunk__37810_38180.cljs$core$IIndexed$_nth$arity$2(null,i__37812_38182);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22  \x22,f_38183], 0));\n\n\nvar G__38184 \x3d seq__37809_38179;\nvar G__38185 \x3d chunk__37810_38180;\nvar G__38186 \x3d count__37811_38181;\nvar G__38187 \x3d (i__37812_38182 + (1));\nseq__37809_38179 \x3d G__38184;\nchunk__37810_38180 \x3d G__38185;\ncount__37811_38181 \x3d G__38186;\ni__37812_38182 \x3d G__38187;\ncontinue;\n} else {\nvar temp__5804__auto___38190 \x3d cljs.core.seq(seq__37809_38179);\nif(temp__5804__auto___38190){\nvar seq__37809_38192__$1 \x3d temp__5804__auto___38190;\nif(cljs.core.chunked_seq_QMARK_(seq__37809_38192__$1)){\nvar c__5548__auto___38193 \x3d cljs.core.chunk_first(seq__37809_38192__$1);\nvar G__38194 \x3d cljs.core.chunk_rest(seq__37809_38192__$1);\nvar G__38195 \x3d c__5548__auto___38193;\nvar G__38196 \x3d cljs.core.count(c__5548__auto___38193);\nvar G__38197 \x3d (0);\nseq__37809_38179 \x3d G__38194;\nchunk__37810_38180 \x3d G__38195;\ncount__37811_38181 \x3d G__38196;\ni__37812_38182 \x3d G__38197;\ncontinue;\n} else {\nvar f_38198 \x3d cljs.core.first(seq__37809_38192__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22  \x22,f_38198], 0));\n\n\nvar G__38199 \x3d cljs.core.next(seq__37809_38192__$1);\nvar G__38200 \x3d null;\nvar G__38201 \x3d (0);\nvar G__38202 \x3d (0);\nseq__37809_38179 \x3d G__38199;\nchunk__37810_38180 \x3d G__38200;\ncount__37811_38181 \x3d G__38201;\ni__37812_38182 \x3d G__38202;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m))){\nvar arglists_38204 \x3d new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m);\n}\n})())){\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arglists_38204], 0));\n} else {\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),cljs.core.first(arglists_38204)))?cljs.core.second(arglists_38204):arglists_38204)], 0));\n}\n} else {\n}\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22special-form\x22,\x22special-form\x22,-1326536374).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Special Form\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.contains_QMARK_(m,new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n  Please see http://clojure.org/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n  Please see http://clojure.org/special_forms#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Macro\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22REPL Special Function\x22], 0));\n} else {\n}\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__37841_38211 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__37842_38212 \x3d null;\nvar count__37843_38213 \x3d (0);\nvar i__37844_38214 \x3d (0);\nwhile(true){\nif((i__37844_38214 \x3c count__37843_38213)){\nvar vec__37864_38220 \x3d chunk__37842_38212.cljs$core$IIndexed$_nth$arity$2(null,i__37844_38214);\nvar name_38221 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37864_38220,(0),null);\nvar map__37867_38222 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37864_38220,(1),null);\nvar map__37867_38223__$1 \x3d cljs.core.__destructure_map(map__37867_38222);\nvar doc_38224 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37867_38223__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_38225 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37867_38223__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_38221], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_38225], 0));\n\nif(cljs.core.truth_(doc_38224)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_38224], 0));\n} else {\n}\n\n\nvar G__38227 \x3d seq__37841_38211;\nvar G__38228 \x3d chunk__37842_38212;\nvar G__38229 \x3d count__37843_38213;\nvar G__38230 \x3d (i__37844_38214 + (1));\nseq__37841_38211 \x3d G__38227;\nchunk__37842_38212 \x3d G__38228;\ncount__37843_38213 \x3d G__38229;\ni__37844_38214 \x3d G__38230;\ncontinue;\n} else {\nvar temp__5804__auto___38231 \x3d cljs.core.seq(seq__37841_38211);\nif(temp__5804__auto___38231){\nvar seq__37841_38233__$1 \x3d temp__5804__auto___38231;\nif(cljs.core.chunked_seq_QMARK_(seq__37841_38233__$1)){\nvar c__5548__auto___38235 \x3d cljs.core.chunk_first(seq__37841_38233__$1);\nvar G__38236 \x3d cljs.core.chunk_rest(seq__37841_38233__$1);\nvar G__38237 \x3d c__5548__auto___38235;\nvar G__38238 \x3d cljs.core.count(c__5548__auto___38235);\nvar G__38239 \x3d (0);\nseq__37841_38211 \x3d G__38236;\nchunk__37842_38212 \x3d G__38237;\ncount__37843_38213 \x3d G__38238;\ni__37844_38214 \x3d G__38239;\ncontinue;\n} else {\nvar vec__37875_38240 \x3d cljs.core.first(seq__37841_38233__$1);\nvar name_38241 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37875_38240,(0),null);\nvar map__37878_38242 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37875_38240,(1),null);\nvar map__37878_38243__$1 \x3d cljs.core.__destructure_map(map__37878_38242);\nvar doc_38244 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37878_38243__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_38245 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37878_38243__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_38241], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_38245], 0));\n\nif(cljs.core.truth_(doc_38244)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_38244], 0));\n} else {\n}\n\n\nvar G__38248 \x3d cljs.core.next(seq__37841_38233__$1);\nvar G__38249 \x3d null;\nvar G__38250 \x3d (0);\nvar G__38251 \x3d (0);\nseq__37841_38211 \x3d G__38248;\nchunk__37842_38212 \x3d G__38249;\ncount__37843_38213 \x3d G__38250;\ni__37844_38214 \x3d G__38251;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif(cljs.core.truth_(n)){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.get_spec(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(n)),cljs.core.name(nm)));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar fnspec \x3d temp__5804__auto__;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n\nvar seq__37897 \x3d cljs.core.seq(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)], null));\nvar chunk__37899 \x3d null;\nvar count__37900 \x3d (0);\nvar i__37902 \x3d (0);\nwhile(true){\nif((i__37902 \x3c count__37900)){\nvar role \x3d chunk__37899.cljs$core$IIndexed$_nth$arity$2(null,i__37902);\nvar temp__5804__auto___38254__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5804__auto___38254__$1)){\nvar spec_38257 \x3d temp__5804__auto___38254__$1;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_38257)], 0));\n} else {\n}\n\n\nvar G__38258 \x3d seq__37897;\nvar G__38260 \x3d chunk__37899;\nvar G__38261 \x3d count__37900;\nvar G__38263 \x3d (i__37902 + (1));\nseq__37897 \x3d G__38258;\nchunk__37899 \x3d G__38260;\ncount__37900 \x3d G__38261;\ni__37902 \x3d G__38263;\ncontinue;\n} else {\nvar temp__5804__auto____$1 \x3d cljs.core.seq(seq__37897);\nif(temp__5804__auto____$1){\nvar seq__37897__$1 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__37897__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__37897__$1);\nvar G__38269 \x3d cljs.core.chunk_rest(seq__37897__$1);\nvar G__38270 \x3d c__5548__auto__;\nvar G__38271 \x3d cljs.core.count(c__5548__auto__);\nvar G__38272 \x3d (0);\nseq__37897 \x3d G__38269;\nchunk__37899 \x3d G__38270;\ncount__37900 \x3d G__38271;\ni__37902 \x3d G__38272;\ncontinue;\n} else {\nvar role \x3d cljs.core.first(seq__37897__$1);\nvar temp__5804__auto___38273__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5804__auto___38273__$2)){\nvar spec_38276 \x3d temp__5804__auto___38273__$2;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_38276)], 0));\n} else {\n}\n\n\nvar G__38278 \x3d cljs.core.next(seq__37897__$1);\nvar G__38279 \x3d null;\nvar G__38280 \x3d (0);\nvar G__38281 \x3d (0);\nseq__37897 \x3d G__38278;\nchunk__37899 \x3d G__38279;\ncount__37900 \x3d G__38280;\ni__37902 \x3d G__38281;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Constructs a data representation for a Error with keys:\n *  :cause - root cause message\n *  :phase - error phase\n *  :via - cause chain, with cause keys:\n *           :type - exception class symbol\n *           :message - exception message\n *           :data - ex-data\n *           :at - top stack element\n *  :trace - root cause stack elements\n */\ncljs.repl.Error__GT_map \x3d (function cljs$repl$Error__GT_map(o){\nreturn cljs.core.Throwable__GT_map(o);\n});\n/**\n * Returns an analysis of the phase, error, cause, and location of an error that occurred\n *   based on Throwable data, as returned by Throwable-\x3emap. All attributes other than phase\n *   are optional:\n *  :clojure.error/phase - keyword phase indicator, one of:\n *    :read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion\n *    :execution :read-eval-result :print-eval-result\n *  :clojure.error/source - file name (no path)\n *  :clojure.error/line - integer line number\n *  :clojure.error/column - integer column number\n *  :clojure.error/symbol - symbol being expanded/compiled/invoked\n *  :clojure.error/class - cause exception class symbol\n *  :clojure.error/cause - cause exception message\n *  :clojure.error/spec - explain-data for spec error\n */\ncljs.repl.ex_triage \x3d (function cljs$repl$ex_triage(datafied_throwable){\nvar map__38024 \x3d datafied_throwable;\nvar map__38024__$1 \x3d cljs.core.__destructure_map(map__38024);\nvar via \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38024__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar trace \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38024__$1,new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415));\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38024__$1,new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),new cljs.core.Keyword(null,\x22execution\x22,\x22execution\x22,253283524));\nvar map__38026 \x3d cljs.core.last(via);\nvar map__38026__$1 \x3d cljs.core.__destructure_map(map__38026);\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38026__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar message \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38026__$1,new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38026__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__38027 \x3d data;\nvar map__38027__$1 \x3d cljs.core.__destructure_map(map__38027);\nvar problems \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38027__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814));\nvar fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38027__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22fn\x22,\x22cljs.spec.alpha/fn\x22,408600443));\nvar caller \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38027__$1,new cljs.core.Keyword(\x22cljs.spec.test.alpha\x22,\x22caller\x22,\x22cljs.spec.test.alpha/caller\x22,-398302390));\nvar map__38028 \x3d new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.first(via));\nvar map__38028__$1 \x3d cljs.core.__destructure_map(map__38028);\nvar top_data \x3d map__38028__$1;\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38028__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((function (){var G__38036 \x3d phase;\nvar G__38036__$1 \x3d (((G__38036 instanceof cljs.core.Keyword))?G__38036.fqn:null);\nswitch (G__38036__$1) {\ncase \x22read-source\x22:\nvar map__38039 \x3d data;\nvar map__38039__$1 \x3d cljs.core.__destructure_map(map__38039);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38039__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38039__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar G__38041 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.second(via)),top_data], 0));\nvar G__38041__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38041,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__38041);\nvar G__38041__$2 \x3d (cljs.core.truth_((function (){var fexpr__38044 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__38044.cljs$core$IFn$_invoke$arity$1 ? fexpr__38044.cljs$core$IFn$_invoke$arity$1(source) : fexpr__38044.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__38041__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__38041__$1);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38041__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__38041__$2;\n}\n\nbreak;\ncase \x22compile-syntax-check\x22:\ncase \x22compilation\x22:\ncase \x22macro-syntax-check\x22:\ncase \x22macroexpansion\x22:\nvar G__38047 \x3d top_data;\nvar G__38047__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38047,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__38047);\nvar G__38047__$2 \x3d (cljs.core.truth_((function (){var fexpr__38050 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__38050.cljs$core$IFn$_invoke$arity$1 ? fexpr__38050.cljs$core$IFn$_invoke$arity$1(source) : fexpr__38050.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__38047__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__38047__$1);\nvar G__38047__$3 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38047__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__38047__$2);\nvar G__38047__$4 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38047__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__38047__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38047__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__38047__$4;\n}\n\nbreak;\ncase \x22read-eval-result\x22:\ncase \x22print-eval-result\x22:\nvar vec__38054 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38054,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38054,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38054,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38054,(3),null);\nvar G__38061 \x3d top_data;\nvar G__38061__$1 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38061,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),line):G__38061);\nvar G__38061__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38061__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file):G__38061__$1);\nvar G__38061__$3 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn method;\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38061__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null))):G__38061__$2);\nvar G__38061__$4 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38061__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__38061__$3);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38061__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__38061__$4;\n}\n\nbreak;\ncase \x22execution\x22:\nvar vec__38070 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38070,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38070,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38070,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38070,(3),null);\nvar file__$1 \x3d cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__38020_SHARP_){\nvar or__5025__auto__ \x3d (p1__38020_SHARP_ \x3d\x3d null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar fexpr__38075 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__38075.cljs$core$IFn$_invoke$arity$1 ? fexpr__38075.cljs$core$IFn$_invoke$arity$1(p1__38020_SHARP_) : fexpr__38075.call(null,p1__38020_SHARP_));\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(caller),file], null)));\nvar err_line \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(caller);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn line;\n}\n})();\nvar G__38080 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type], null);\nvar G__38080__$1 \x3d (cljs.core.truth_(err_line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38080,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),err_line):G__38080);\nvar G__38080__$2 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38080__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__38080__$1);\nvar G__38080__$3 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d fn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn method;\n} else {\nreturn and__5023__auto__;\n}\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38080__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(function (){var or__5025__auto__ \x3d fn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null));\n}\n})()):G__38080__$2);\nvar G__38080__$4 \x3d (cljs.core.truth_(file__$1)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38080__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file__$1):G__38080__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38080__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__38080__$4;\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__38036__$1)].join(\x27\x27)));\n\n}\n})(),new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358),phase);\n});\n/**\n * Returns a string from exception data, as produced by ex-triage.\n *   The first line summarizes the exception phase and location.\n *   The subsequent lines describe the cause.\n */\ncljs.repl.ex_str \x3d (function cljs$repl$ex_str(p__38103){\nvar map__38105 \x3d p__38103;\nvar map__38105__$1 \x3d cljs.core.__destructure_map(map__38105);\nvar triage_data \x3d map__38105__$1;\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38105__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358));\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38105__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38105__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38105__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar symbol \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38105__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994));\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38105__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890));\nvar cause \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38105__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742));\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38105__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595));\nvar loc \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d source;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22\x3ccljs repl\x3e\x22;\n}\n})()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d line;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (1);\n}\n})()),(cljs.core.truth_(column)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):\x22\x22)].join(\x27\x27);\nvar class_name \x3d cljs.core.name((function (){var or__5025__auto__ \x3d class$;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22\x22;\n}\n})());\nvar simple_class \x3d class_name;\nvar cause_type \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22RuntimeException\x22,null,\x22Exception\x22,null], null), null),simple_class))?\x22\x22:[\x22 (\x22,simple_class,\x22)\x22].join(\x27\x27));\nvar format \x3d goog.string.format;\nvar G__38115 \x3d phase;\nvar G__38115__$1 \x3d (((G__38115 instanceof cljs.core.Keyword))?G__38115.fqn:null);\nswitch (G__38115__$1) {\ncase \x22read-source\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$3 ? format.cljs$core$IFn$_invoke$arity$3(\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause) : format.call(null,\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause));\n\nbreak;\ncase \x22macro-syntax-check\x22:\nvar G__38116 \x3d \x22Syntax error macroexpanding %sat (%s).\\n%s\x22;\nvar G__38117 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38118 \x3d loc;\nvar G__38119 \x3d (cljs.core.truth_(spec)?(function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__38120_38339 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__38121_38340 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__38122_38341 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__38123_38342 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__38122_38341);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__38123_38342);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__38097_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__38097_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__38121_38340);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__38120_38339);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})():(format.cljs$core$IFn$_invoke$arity$2 ? format.cljs$core$IFn$_invoke$arity$2(\x22%s\\n\x22,cause) : format.call(null,\x22%s\\n\x22,cause)));\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__38116,G__38117,G__38118,G__38119) : format.call(null,G__38116,G__38117,G__38118,G__38119));\n\nbreak;\ncase \x22macroexpansion\x22:\nvar G__38125 \x3d \x22Unexpected error%s macroexpanding %sat (%s).\\n%s\\n\x22;\nvar G__38126 \x3d cause_type;\nvar G__38127 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38128 \x3d loc;\nvar G__38129 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__38125,G__38126,G__38127,G__38128,G__38129) : format.call(null,G__38125,G__38126,G__38127,G__38128,G__38129));\n\nbreak;\ncase \x22compile-syntax-check\x22:\nvar G__38130 \x3d \x22Syntax error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__38131 \x3d cause_type;\nvar G__38132 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38133 \x3d loc;\nvar G__38134 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__38130,G__38131,G__38132,G__38133,G__38134) : format.call(null,G__38130,G__38131,G__38132,G__38133,G__38134));\n\nbreak;\ncase \x22compilation\x22:\nvar G__38135 \x3d \x22Unexpected error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__38136 \x3d cause_type;\nvar G__38137 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38138 \x3d loc;\nvar G__38139 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__38135,G__38136,G__38137,G__38138,G__38139) : format.call(null,G__38135,G__38136,G__38137,G__38138,G__38139));\n\nbreak;\ncase \x22read-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22print-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22execution\x22:\nif(cljs.core.truth_(spec)){\nvar G__38140 \x3d \x22Execution error - invalid arguments to %s at (%s).\\n%s\x22;\nvar G__38141 \x3d symbol;\nvar G__38142 \x3d loc;\nvar G__38143 \x3d (function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__38144_38358 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__38145_38359 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__38146_38360 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__38147_38361 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__38146_38360);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__38147_38361);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__38098_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__38098_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__38145_38359);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__38144_38358);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})();\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__38140,G__38141,G__38142,G__38143) : format.call(null,G__38140,G__38141,G__38142,G__38143));\n} else {\nvar G__38152 \x3d \x22Execution error%s at %s(%s).\\n%s\\n\x22;\nvar G__38153 \x3d cause_type;\nvar G__38154 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38155 \x3d loc;\nvar G__38156 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__38152,G__38153,G__38154,G__38155,G__38156) : format.call(null,G__38152,G__38153,G__38154,G__38155,G__38156));\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__38115__$1)].join(\x27\x27)));\n\n}\n});\ncljs.repl.error__GT_str \x3d (function cljs$repl$error__GT_str(error){\nreturn cljs.repl.ex_str(cljs.repl.ex_triage(cljs.repl.Error__GT_map(error)));\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.obj_support.js", true, "goog.provide(\x27shadow.remote.runtime.obj_support\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.remote.runtime.obj_support.Reference \x3d (function (obj,extra,__meta,__extmap,__hash){\nthis.obj \x3d obj;\nthis.extra \x3d extra;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k38262,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__38292 \x3d k38262;\nvar G__38292__$1 \x3d (((G__38292 instanceof cljs.core.Keyword))?G__38292.fqn:null);\nswitch (G__38292__$1) {\ncase \x22obj\x22:\nreturn self__.obj;\n\nbreak;\ncase \x22extra\x22:\nreturn self__.extra;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k38262,else__5326__auto__);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__38299){\nvar vec__38300 \x3d p__38299;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38300,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38300,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.remote.runtime.obj-support.Reference{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),self__.extra],null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__38259){\nvar self__ \x3d this;\nvar G__38259__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__38259__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.extra,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1775716890 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this38264,other38265){\nvar self__ \x3d this;\nvar this38264__$1 \x3d this;\nreturn (((!((other38265 \x3d\x3d null)))) \x26\x26 ((((this38264__$1.constructor \x3d\x3d\x3d other38265.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38264__$1.obj,other38265.obj)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38264__$1.extra,other38265.extra)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38264__$1.__extmap,other38265.__extmap)))))))));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),null,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.extra,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k38262){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__38350 \x3d k38262;\nvar G__38350__$1 \x3d (((G__38350 instanceof cljs.core.Keyword))?G__38350.fqn:null);\nswitch (G__38350__$1) {\ncase \x22obj\x22:\ncase \x22extra\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k38262);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__38259){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__38355 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__38356 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__38355.cljs$core$IFn$_invoke$arity$2 ? pred__38355.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__38356) : pred__38355.call(null,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__38356)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(G__38259,self__.extra,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38355.cljs$core$IFn$_invoke$arity$2 ? pred__38355.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),expr__38356) : pred__38355.call(null,new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),expr__38356)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,G__38259,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.extra,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__38259),null));\n}\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),self__.extra,null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__38259){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.extra,G__38259,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22extra\x22,\x22extra\x22,-1041866702,null)], null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.remote.runtime.obj-support/Reference\x22,null,(1),null));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.remote.runtime.obj-support/Reference\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.obj-support/Reference.\n */\nshadow.remote.runtime.obj_support.__GT_Reference \x3d (function shadow$remote$runtime$obj_support$__GT_Reference(obj,extra){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,extra,null,null,null));\n});\n\n/**\n * Factory function for shadow.remote.runtime.obj-support/Reference, taking a map of keywords to field values.\n */\nshadow.remote.runtime.obj_support.map__GT_Reference \x3d (function shadow$remote$runtime$obj_support$map__GT_Reference(G__38282){\nvar extmap__5365__auto__ \x3d (function (){var G__38380 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__38282,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067)], 0));\nif(cljs.core.record_QMARK_(G__38282)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__38380);\n} else {\nreturn G__38380;\n}\n})();\nreturn (new shadow.remote.runtime.obj_support.Reference(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(G__38282),new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067).cljs$core$IFn$_invoke$arity$1(G__38282),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nshadow.remote.runtime.obj_support.obj_ref \x3d (function shadow$remote$runtime$obj_support$obj_ref(var_args){\nvar G__38398 \x3d arguments.length;\nswitch (G__38398) {\ncase 1:\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$1 \x3d (function (obj){\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2(obj,null);\n}));\n\n(shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,extra){\nif((!((obj \x3d\x3d null)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,extra,null,null,null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.remote.runtime.obj_support.obj_ref.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.remote.runtime.obj_support.obj_ref_QMARK_ \x3d (function shadow$remote$runtime$obj_support$obj_ref_QMARK_(result){\nreturn (result instanceof shadow.remote.runtime.obj_support.Reference);\n});\nshadow.remote.runtime.obj_support.now \x3d (function shadow$remote$runtime$obj_support$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.obj_support.next_oid \x3d (function shadow$remote$runtime$obj_support$next_oid(){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n});\nshadow.remote.runtime.obj_support.register_STAR_ \x3d (function shadow$remote$runtime$obj_support$register_STAR_(state,oid,obj,obj_info){\nvar ts \x3d shadow.remote.runtime.obj_support.now();\nvar entry \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),obj,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),clojure.datafy.datafy(obj),new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),obj_info,new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),ts,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),ts,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null);\nreturn cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null),entry);\n});\nshadow.remote.runtime.obj_support.obj_type_string \x3d (function shadow$remote$runtime$obj_support$obj_type_string(obj){\nif((obj \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0));\n}\n});\nshadow.remote.runtime.obj_support.get_data_type \x3d (function shadow$remote$runtime$obj_support$get_data_type(summary,p__38418){\nvar map__38419 \x3d p__38418;\nvar map__38419__$1 \x3d cljs.core.__destructure_map(map__38419);\nvar entry \x3d map__38419__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38419__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\ntry{if((data \x3d\x3d null)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501));\n} else {\nif(typeof data \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),((data).length)], 0));\n} else {\nif(cljs.core.boolean_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22boolean\x22,\x22boolean\x22,-1919418404));\n} else {\nif(typeof data \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22number\x22,\x22number\x22,1570378438));\n} else {\nif((data instanceof cljs.core.Keyword)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747));\n} else {\nif((data instanceof cljs.core.Symbol)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696));\n} else {\nif(cljs.core.map_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.vector_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22vec\x22,\x22vec\x22,-657847931),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.set_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.list_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.seq_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016));\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}catch (e38421){var e \x3d e38421;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-type-fail\x22,\x22data-type-fail\x22,1917235450),true], 0));\n}});\nshadow.remote.runtime.obj_support.merge_source_info \x3d (function shadow$remote$runtime$obj_support$merge_source_info(summary,p__38422){\nvar map__38423 \x3d p__38422;\nvar map__38423__$1 \x3d cljs.core.__destructure_map(map__38423);\nvar obj_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38423__$1,new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651));\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([summary,cljs.core.select_keys(obj_info,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22label\x22,\x22label\x22,1718410804)], null))], 0));\n});\nshadow.remote.runtime.obj_support.inspect_entry_BANG_ \x3d (function shadow$remote$runtime$obj_support$inspect_entry_BANG_(p__38431,p__38432){\nvar map__38433 \x3d p__38431;\nvar map__38433__$1 \x3d cljs.core.__destructure_map(map__38433);\nvar this$ \x3d map__38433__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38433__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__38434 \x3d p__38432;\nvar map__38434__$1 \x3d cljs.core.__destructure_map(map__38434);\nvar entry \x3d map__38434__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38434__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38434__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar added_at \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38434__$1,new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434));\nvar $ \x3d shadow.remote.runtime.obj_support.merge_source_info(shadow.remote.runtime.obj_support.get_data_type(new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),added_at,new cljs.core.Keyword(null,\x22datafied\x22,\x22datafied\x22,2076148104),(!((data \x3d\x3d\x3d obj))),new cljs.core.Keyword(null,\x22obj-type\x22,\x22obj-type\x22,-1658555496),shadow.remote.runtime.obj_support.obj_type_string(obj),new cljs.core.Keyword(null,\x22preview\x22,\x22preview\x22,451279890),shadow.remote.runtime.writer.pr_str_limit(obj,(250)),new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.PersistentHashSet.EMPTY], null),entry),entry);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (summary,inspect_fn){\nreturn (inspect_fn.cljs$core$IFn$_invoke$arity$2 ? inspect_fn.cljs$core$IFn$_invoke$arity$2(summary,entry) : inspect_fn.call(null,summary,entry));\n}),$,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)));\n});\nshadow.remote.runtime.obj_support.obj_describe_STAR_ \x3d (function shadow$remote$runtime$obj_support$obj_describe_STAR_(p__38435,oid){\nvar map__38436 \x3d p__38435;\nvar map__38436__$1 \x3d cljs.core.__destructure_map(map__38436);\nvar this$ \x3d map__38436__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38436__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar temp__5808__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null));\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar entry \x3d temp__5808__auto__;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nreturn shadow.remote.runtime.obj_support.inspect_entry_BANG_(this$,entry);\n}\n});\nshadow.remote.runtime.obj_support.handler_with_object \x3d (function shadow$remote$runtime$obj_support$handler_with_object(handler_fn){\nreturn (function (p__38441,p__38442){\nvar map__38443 \x3d p__38441;\nvar map__38443__$1 \x3d cljs.core.__destructure_map(map__38443);\nvar this$ \x3d map__38443__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38443__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38443__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__38444 \x3d p__38442;\nvar map__38444__$1 \x3d cljs.core.__destructure_map(map__38444);\nvar msg \x3d map__38444__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38444__$1,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955));\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38444__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar entry \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null));\nif(cljs.core.not(entry)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n} else {\ntry{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nvar result \x3d (handler_fn.cljs$core$IFn$_invoke$arity$3 ? handler_fn.cljs$core$IFn$_invoke$arity$3(this$,entry,msg) : handler_fn.call(null,this$,entry,msg));\nif((!(shadow.remote.runtime.obj_support.obj_ref_QMARK_(result)))){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result\x22,\x22obj-result\x22,-486300152),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),result], null));\n} else {\nvar new_oid \x3d (function (){var G__38451 \x3d this$;\nvar G__38452 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(result);\nvar G__38453 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__38451,G__38452,G__38453) : shadow.remote.runtime.obj_support.register.call(null,G__38451,G__38452,G__38453));\n})();\nvar reply_msg \x3d (function (){var G__38454 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result-ref\x22,\x22obj-result-ref\x22,1537374891),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),new_oid], null);\nvar G__38454__$1 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952).cljs$core$IFn$_invoke$arity$1(msg))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38454,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,new_oid)):G__38454);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067).cljs$core$IFn$_invoke$arity$1(result))){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__38454__$1,new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067).cljs$core$IFn$_invoke$arity$1(result)], 0));\n} else {\nreturn G__38454__$1;\n}\n})();\nreturn shadow.remote.runtime.shared.reply(runtime,msg,reply_msg);\n}\n}catch (e38447){var e \x3d e38447;\nconsole.warn(\x22action-request-action failed\x22,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(entry),e);\n\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-request-failed\x22,\x22obj-request-failed\x22,-1782005406),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),(function (){var G__38448 \x3d this$;\nvar G__38449 \x3d e;\nvar G__38450 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null);\nreturn (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__38448,G__38449,G__38450) : shadow.remote.runtime.obj_support.register.call(null,G__38448,G__38449,G__38450));\n})()], null));\n}}\n});\n});\nshadow.remote.runtime.obj_support.obj_get_value \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__38459,msg){\nvar map__38460 \x3d p__38459;\nvar map__38460__$1 \x3d cljs.core.__destructure_map(map__38460);\nvar entry \x3d map__38460__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38460__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nreturn obj;\n}));\nshadow.remote.runtime.obj_support.default_max_print_size \x3d (((1) * (1024)) * (1024));\nshadow.remote.runtime.obj_support.pick_target \x3d (function shadow$remote$runtime$obj_support$pick_target(entry,msg){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22original\x22,\x22original\x22,-445386197).cljs$core$IFn$_invoke$arity$1(msg))){\nreturn new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(entry);\n} else {\nreturn new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(entry);\n}\n});\nshadow.remote.runtime.obj_support.obj_edn \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,entry,p__38466){\nvar map__38467 \x3d p__38466;\nvar map__38467__$1 \x3d cljs.core.__destructure_map(map__38467);\nvar msg \x3d map__38467__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38467__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar target \x3d shadow.remote.runtime.obj_support.pick_target(entry,msg);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.core.pr_writer(target,lw,cljs.core.pr_opts());\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n}));\nshadow.remote.runtime.obj_support.obj_pprint \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,entry,p__38469){\nvar map__38470 \x3d p__38469;\nvar map__38470__$1 \x3d cljs.core.__destructure_map(map__38470);\nvar msg \x3d map__38470__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38470__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar target \x3d shadow.remote.runtime.obj_support.pick_target(entry,msg);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(target,lw);\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n}));\nshadow.remote.runtime.obj_support.obj_edn_limit \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,entry,p__38471){\nvar map__38472 \x3d p__38471;\nvar map__38472__$1 \x3d cljs.core.__destructure_map(map__38472);\nvar msg \x3d map__38472__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38472__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363));\nreturn shadow.remote.runtime.writer.pr_str_limit(shadow.remote.runtime.obj_support.pick_target(entry,msg),limit);\n}));\nshadow.remote.runtime.obj_support.obj_str \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__38476,msg){\nvar map__38477 \x3d p__38476;\nvar map__38477__$1 \x3d cljs.core.__destructure_map(map__38477);\nvar entry \x3d map__38477__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38477__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj);\n}));\nshadow.remote.runtime.obj_support.obj_ex_str \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__38478,msg){\nvar map__38479 \x3d p__38478;\nvar map__38479__$1 \x3d cljs.core.__destructure_map(map__38479);\nvar entry \x3d map__38479__$1;\nvar ex \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38479__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif((ex instanceof Error)){\nreturn cljs.repl.error__GT_str(ex);\n} else {\nreturn [\x22Execution error:\\n\x22,\x22  \x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(shadow.remote.runtime.writer.pr_str_limit(ex,(200)),(2)),\x22\\n\x22,\x22\\n\x22].join(\x27\x27);\n}\n}));\nshadow.remote.runtime.obj_support.exception_QMARK_ \x3d (function shadow$remote$runtime$obj_support$exception_QMARK_(x){\nreturn true;\n});\nshadow.remote.runtime.obj_support.simple_value_QMARK_ \x3d (function shadow$remote$runtime$obj_support$simple_value_QMARK_(val){\nreturn (((val \x3d\x3d null)) || (((cljs.core.boolean_QMARK_(val)) || (((typeof val \x3d\x3d\x3d \x27number\x27) || ((((val instanceof cljs.core.Keyword)) || ((((((val instanceof cljs.core.Symbol)) \x26\x26 ((cljs.core.meta(val) \x3d\x3d null)))) || (((((typeof val \x3d\x3d\x3d \x27string\x27) \x26\x26 (((64) \x3e cljs.core.count(val))))) || (((cljs.core.coll_QMARK_(val)) \x26\x26 (((cljs.core.empty_QMARK_(val)) \x26\x26 ((cljs.core.meta(val) \x3d\x3d null)))))))))))))))));\n});\nshadow.remote.runtime.obj_support.rank_predicates \x3d new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.nil_QMARK_,cljs.core.boolean_QMARK_,cljs.core.number_QMARK_,cljs.core.string_QMARK_,cljs.core.keyword_QMARK_,cljs.core.symbol_QMARK_,cljs.core.vector_QMARK_,cljs.core.map_QMARK_,cljs.core.list_QMARK_], null);\nshadow.remote.runtime.obj_support.rank_val \x3d (function shadow$remote$runtime$obj_support$rank_val(val){\nreturn cljs.core.reduce_kv((function (res,idx,pred){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(val) : pred.call(null,val)))){\nreturn cljs.core.reduced(idx);\n} else {\nreturn res;\n}\n}),(-1),shadow.remote.runtime.obj_support.rank_predicates);\n});\nshadow.remote.runtime.obj_support.smart_comp \x3d (function shadow$remote$runtime$obj_support$smart_comp(a,b){\ntry{return cljs.core.compare(a,b);\n}catch (e38488){if((e38488 instanceof Error)){\nvar e \x3d e38488;\nvar ar \x3d shadow.remote.runtime.obj_support.rank_val(a);\nvar br \x3d shadow.remote.runtime.obj_support.rank_val(b);\nreturn cljs.core.compare(ar,br);\n} else {\nthrow e38488;\n\n}\n}});\nshadow.remote.runtime.obj_support.attempt_to_sort \x3d (function shadow$remote$runtime$obj_support$attempt_to_sort(coll){\nreturn cljs.core.vec((function (){try{return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(shadow.remote.runtime.obj_support.smart_comp,coll);\n}catch (e38500){var e \x3d e38500;\nreturn coll;\n}})());\n});\nshadow.remote.runtime.obj_support.cache_view_order \x3d (function shadow$remote$runtime$obj_support$cache_view_order(state_ref,p__38511,coll){\nvar map__38512 \x3d p__38511;\nvar map__38512__$1 \x3d cljs.core.__destructure_map(map__38512);\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38512__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar view_order \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38512__$1,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574));\nvar or__5025__auto__ \x3d view_order;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar view_order__$1 \x3d shadow.remote.runtime.obj_support.attempt_to_sort(coll);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574)], null),view_order__$1);\n\nreturn view_order__$1;\n}\n});\nshadow.remote.runtime.obj_support.obj_nav \x3d shadow.remote.runtime.obj_support.handler_with_object((function (p__38524,p__38525,p__38526){\nvar map__38529 \x3d p__38524;\nvar map__38529__$1 \x3d cljs.core.__destructure_map(map__38529);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38529__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__38530 \x3d p__38525;\nvar map__38530__$1 \x3d cljs.core.__destructure_map(map__38530);\nvar entry \x3d map__38530__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38530__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__38531 \x3d p__38526;\nvar map__38531__$1 \x3d cljs.core.__destructure_map(map__38531);\nvar msg \x3d map__38531__$1;\nvar idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38531__$1,new cljs.core.Keyword(null,\x22idx\x22,\x22idx\x22,1053688473));\nif(((cljs.core.vector_QMARK_(data)) || (cljs.core.list_QMARK_(data)))){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2(nav,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22nav?\x22,\x22nav?\x22,1269039770),cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(val,nav)], null));\n} else {\nif(cljs.core.map_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data));\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nvar nav \x3d clojure.datafy.nav(data,key,val);\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2(nav,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22nav?\x22,\x22nav?\x22,1269039770),cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(val,nav)], null));\n} else {\nif(cljs.core.set_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data);\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2(nav,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22nav?\x22,\x22nav?\x22,1269039770),cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(val,nav)], null));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22nav not supported?\x22,entry);\n\n}\n}\n}\n}));\nshadow.remote.runtime.obj_support.obj_fragment \x3d shadow.remote.runtime.obj_support.handler_with_object((function (p__38535,p__38536,p__38537){\nvar map__38539 \x3d p__38535;\nvar map__38539__$1 \x3d cljs.core.__destructure_map(map__38539);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38539__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__38540 \x3d p__38536;\nvar map__38540__$1 \x3d cljs.core.__destructure_map(map__38540);\nvar entry \x3d map__38540__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38540__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__38541 \x3d p__38537;\nvar map__38541__$1 \x3d cljs.core.__destructure_map(map__38541);\nvar msg \x3d map__38541__$1;\nvar start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38541__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38541__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673));\nvar val_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38541__$1,new cljs.core.Keyword(null,\x22val-limit\x22,\x22val-limit\x22,1428666181),(100));\nif(cljs.core.map_QMARK_(data)){\nvar map__38544 \x3d msg;\nvar map__38544__$1 \x3d cljs.core.__destructure_map(map__38544);\nvar key_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38544__$1,new cljs.core.Keyword(null,\x22key-limit\x22,\x22key-limit\x22,259239169),(100));\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data));\nvar end \x3d (function (){var x__5113__auto__ \x3d cljs.core.count(view_order);\nvar y__5114__auto__ \x3d (start + num);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(key,key_limit);\n}catch (e38547){var e \x3d e38547;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})(),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(val,val_limit);\n}catch (e38548){var e \x3d e38548;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})()], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.vector_QMARK_(data)){\nvar end \x3d (function (){var x__5113__auto__ \x3d cljs.core.count(data);\nvar y__5114__auto__ \x3d (start + num);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.list_QMARK_(data)){\nvar end \x3d (function (){var x__5113__auto__ \x3d cljs.core.count(data);\nvar y__5114__auto__ \x3d (start + num);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.set_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data);\nvar end \x3d (function (){var x__5113__auto__ \x3d cljs.core.count(view_order);\nvar y__5114__auto__ \x3d (start + num);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nreturn null;\n}\n}\n}\n}\n}));\nshadow.remote.runtime.obj_support.obj_request \x3d (function shadow$remote$runtime$obj_support$obj_request(this$,p__38564){\nvar map__38565 \x3d p__38564;\nvar map__38565__$1 \x3d cljs.core.__destructure_map(map__38565);\nvar msg \x3d map__38565__$1;\nvar request_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38565__$1,new cljs.core.Keyword(null,\x22request-op\x22,\x22request-op\x22,1472997246));\nvar real_handler \x3d (function (){var G__38567 \x3d request_op;\nvar G__38567__$1 \x3d (((G__38567 instanceof cljs.core.Keyword))?G__38567.fqn:null);\nswitch (G__38567__$1) {\ncase \x22str\x22:\nreturn shadow.remote.runtime.obj_support.obj_str;\n\nbreak;\ncase \x22ex-str\x22:\nreturn shadow.remote.runtime.obj_support.obj_ex_str;\n\nbreak;\ncase \x22edn\x22:\nreturn shadow.remote.runtime.obj_support.obj_edn;\n\nbreak;\ncase \x22edn-limit\x22:\nreturn shadow.remote.runtime.obj_support.obj_edn;\n\nbreak;\ncase \x22pprint\x22:\nreturn this$;\n\nbreak;\ncase \x22nav\x22:\nreturn this$;\n\nbreak;\ncase \x22fragment\x22:\nreturn shadow.remote.runtime.obj_support.obj_fragment;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__38567__$1)].join(\x27\x27)));\n\n}\n})();\nreturn (real_handler.cljs$core$IFn$_invoke$arity$2 ? real_handler.cljs$core$IFn$_invoke$arity$2(this$,msg) : real_handler.call(null,this$,msg));\n});\nshadow.remote.runtime.obj_support.obj_describe \x3d (function shadow$remote$runtime$obj_support$obj_describe(p__38577,p__38578){\nvar map__38579 \x3d p__38577;\nvar map__38579__$1 \x3d cljs.core.__destructure_map(map__38579);\nvar this$ \x3d map__38579__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38579__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__38580 \x3d p__38578;\nvar map__38580__$1 \x3d cljs.core.__destructure_map(map__38580);\nvar msg \x3d map__38580__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38580__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar temp__5802__auto__ \x3d shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,oid);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar summary \x3d temp__5802__auto__;\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-summary\x22,\x22obj-summary\x22,-1372191064),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),summary], null));\n} else {\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n});\nshadow.remote.runtime.obj_support.obj_forget \x3d (function shadow$remote$runtime$obj_support$obj_forget(p__38597,p__38598){\nvar map__38599 \x3d p__38597;\nvar map__38599__$1 \x3d cljs.core.__destructure_map(map__38599);\nvar svc \x3d map__38599__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38599__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__38600 \x3d p__38598;\nvar map__38600__$1 \x3d cljs.core.__destructure_map(map__38600);\nvar msg \x3d map__38600__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38600__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([oid], 0));\n});\nshadow.remote.runtime.obj_support.obj_forget_all \x3d (function shadow$remote$runtime$obj_support$obj_forget_all(p__38617,msg){\nvar map__38619 \x3d p__38617;\nvar map__38619__$1 \x3d cljs.core.__destructure_map(map__38619);\nvar svc \x3d map__38619__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38619__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY);\n});\nshadow.remote.runtime.obj_support.basic_gc_BANG_ \x3d (function shadow$remote$runtime$obj_support$basic_gc_BANG_(state){\nvar objs_to_drop \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((100),cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(state))))));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (state__$1,oid){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,oid);\n}),state,objs_to_drop);\n});\nshadow.remote.runtime.obj_support.add_inspector \x3d (function shadow$remote$runtime$obj_support$add_inspector(p__38637,inspect_fn){\nvar map__38642 \x3d p__38637;\nvar map__38642__$1 \x3d cljs.core.__destructure_map(map__38642);\nvar this$ \x3d map__38642__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38642__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.fn_QMARK_(inspect_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? inspect-fn)\x22));\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([inspect_fn], 0));\n\nreturn this$;\n});\nshadow.remote.runtime.obj_support.start \x3d (function shadow$remote$runtime$obj_support$start(runtime){\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22id-seq-ref\x22,\x22id-seq-ref\x22,-98357047),(0)], null));\nvar svc \x3d shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),state_ref], null),(function (summary,p__38659){\nvar map__38660 \x3d p__38659;\nvar map__38660__$1 \x3d cljs.core.__destructure_map(map__38660);\nvar entry \x3d map__38660__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38660__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif((!(shadow.remote.runtime.obj_support.simple_value_QMARK_(obj)))){\nreturn summary;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-get-value\x22,\x22obj-get-value\x22,281897170));\n}\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-str\x22,\x22obj-str\x22,1815115325));\n})),(function (summary,p__38662){\nvar map__38667 \x3d p__38662;\nvar map__38667__$1 \x3d cljs.core.__destructure_map(map__38667);\nvar entry \x3d map__38667__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38667__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif(shadow.remote.runtime.obj_support.exception_QMARK_(obj)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-ex-str\x22,\x22obj-ex-str\x22,-639656467));\n} else {\nreturn summary;\n}\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-edn\x22,\x22obj-edn\x22,809365133));\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-edn-limit\x22,\x22obj-edn-limit\x22,-1550136004));\n})),(function (summary,p__38677){\nvar map__38678 \x3d p__38677;\nvar map__38678__$1 \x3d cljs.core.__destructure_map(map__38678);\nvar entry \x3d map__38678__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38678__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((cljs.core.coll_QMARK_(data)) || (cljs.core.seq_QMARK_(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-pprint\x22,\x22obj-pprint\x22,-1831226802));\n} else {\nreturn summary;\n}\n})),(function (summary,p__38679){\nvar map__38680 \x3d p__38679;\nvar map__38680__$1 \x3d cljs.core.__destructure_map(map__38680);\nvar entry \x3d map__38680__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38680__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) \x26\x26 (cljs.core.seq(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-nav\x22,\x22obj-nav\x22,1248750622));\n} else {\nreturn summary;\n}\n})),(function (summary,p__38684){\nvar map__38685 \x3d p__38684;\nvar map__38685__$1 \x3d cljs.core.__destructure_map(map__38685);\nvar entry \x3d map__38685__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38685__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) \x26\x26 (cljs.core.seq(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-fragment\x22,\x22obj-fragment\x22,1857463161));\n} else {\nreturn summary;\n}\n}));\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22obj-forget\x22,\x22obj-forget\x22,2003566115),new cljs.core.Keyword(null,\x22obj-describe\x22,\x22obj-describe\x22,-34922904),new cljs.core.Keyword(null,\x22obj-ex-str\x22,\x22obj-ex-str\x22,-639656467),new cljs.core.Keyword(null,\x22obj-request\x22,\x22obj-request\x22,-1709325811),new cljs.core.Keyword(null,\x22obj-edn\x22,\x22obj-edn\x22,809365133),new cljs.core.Keyword(null,\x22obj-pprint\x22,\x22obj-pprint\x22,-1831226802),new cljs.core.Keyword(null,\x22obj-get-value\x22,\x22obj-get-value\x22,281897170),new cljs.core.Keyword(null,\x22obj-forget-all\x22,\x22obj-forget-all\x22,1418682131),new cljs.core.Keyword(null,\x22obj-fragment\x22,\x22obj-fragment\x22,1857463161),new cljs.core.Keyword(null,\x22obj-edn-limit\x22,\x22obj-edn-limit\x22,-1550136004),new cljs.core.Keyword(null,\x22obj-str\x22,\x22obj-str\x22,1815115325),new cljs.core.Keyword(null,\x22obj-nav\x22,\x22obj-nav\x22,1248750622)],[(function (p1__38656_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget(svc,p1__38656_SHARP_);\n}),(function (p1__38646_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_describe(svc,p1__38646_SHARP_);\n}),(function (p1__38652_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_ex_str(svc,p1__38652_SHARP_);\n}),(function (p1__38647_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_request(svc,p1__38647_SHARP_);\n}),(function (p1__38648_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_edn(svc,p1__38648_SHARP_);\n}),(function (p1__38653_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_pprint(svc,p1__38653_SHARP_);\n}),(function (p1__38649_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_get_value(svc,p1__38649_SHARP_);\n}),(function (p1__38657_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget_all(svc,p1__38657_SHARP_);\n}),(function (p1__38655_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_fragment(svc,p1__38655_SHARP_);\n}),(function (p1__38650_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_edn_limit(svc,p1__38650_SHARP_);\n}),(function (p1__38651_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_str(svc,p1__38651_SHARP_);\n}),(function (p1__38654_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_nav(svc,p1__38654_SHARP_);\n})]),new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602),(function (){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(state_ref,shadow.remote.runtime.obj_support.basic_gc_BANG_);\n})], null));\n\nreturn svc;\n});\nshadow.remote.runtime.obj_support.get_tap_history \x3d (function shadow$remote$runtime$obj_support$get_tap_history(p__38690,num){\nvar map__38694 \x3d p__38690;\nvar map__38694__$1 \x3d cljs.core.__destructure_map(map__38694);\nvar svc \x3d map__38694__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38694__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.take.cljs$core$IFn$_invoke$arity$2(num,cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__38688_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(p1__38688_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044)], null)));\n}),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))))))));\n});\nshadow.remote.runtime.obj_support.register \x3d (function shadow$remote$runtime$obj_support$register(p__38700,obj,obj_info){\nvar map__38702 \x3d p__38700;\nvar map__38702__$1 \x3d cljs.core.__destructure_map(map__38702);\nvar svc \x3d map__38702__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38702__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar oid \x3d shadow.remote.runtime.obj_support.next_oid();\nif((!(((cljs.core.vector_QMARK_(obj)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22shadow.remote\x22,\x22wrap\x22,\x22shadow.remote/wrap\x22,996267199),cljs.core.first(obj))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(obj),(3))))))))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,obj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info], 0));\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(1)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(2))], 0))], 0));\n}\n\nreturn oid;\n});\nshadow.remote.runtime.obj_support.get_ref \x3d (function shadow$remote$runtime$obj_support$get_ref(p__38708,obj_id){\nvar map__38709 \x3d p__38708;\nvar map__38709__$1 \x3d cljs.core.__destructure_map(map__38709);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38709__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),obj_id], null));\n});\nshadow.remote.runtime.obj_support.stop \x3d (function shadow$remote$runtime$obj_support$stop(p__38718){\nvar map__38719 \x3d p__38718;\nvar map__38719__$1 \x3d cljs.core.__destructure_map(map__38719);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38719__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346));\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.tap_support.js", true, "goog.provide(\x27shadow.remote.runtime.tap_support\x27);\nshadow.remote.runtime.tap_support.tap_subscribe \x3d (function shadow$remote$runtime$tap_support$tap_subscribe(p__38789,p__38790){\nvar map__38791 \x3d p__38789;\nvar map__38791__$1 \x3d cljs.core.__destructure_map(map__38791);\nvar svc \x3d map__38791__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38791__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38791__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38791__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__38792 \x3d p__38790;\nvar map__38792__$1 \x3d cljs.core.__destructure_map(map__38792);\nvar msg \x3d map__38792__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38792__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar summary \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38792__$1,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952));\nvar history__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38792__$1,new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38792__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(subs_ref,cljs.core.assoc,from,msg);\n\nif(cljs.core.truth_(history__$1)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-subscribed\x22,\x22tap-subscribed\x22,-1882247432),new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (oid){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(obj_support,oid)], null);\n}),shadow.remote.runtime.obj_support.get_tap_history(obj_support,num)))], null));\n} else {\nreturn null;\n}\n});\nshadow.remote.runtime.tap_support.tap_unsubscribe \x3d (function shadow$remote$runtime$tap_support$tap_unsubscribe(p__38813,p__38814){\nvar map__38815 \x3d p__38813;\nvar map__38815__$1 \x3d cljs.core.__destructure_map(map__38815);\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38815__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar map__38816 \x3d p__38814;\nvar map__38816__$1 \x3d cljs.core.__destructure_map(map__38816);\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38816__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,from);\n});\nshadow.remote.runtime.tap_support.request_tap_history \x3d (function shadow$remote$runtime$tap_support$request_tap_history(p__38825,p__38826){\nvar map__38833 \x3d p__38825;\nvar map__38833__$1 \x3d cljs.core.__destructure_map(map__38833);\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38833__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38833__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__38834 \x3d p__38826;\nvar map__38834__$1 \x3d cljs.core.__destructure_map(map__38834);\nvar msg \x3d map__38834__$1;\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38834__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\nvar tap_ids \x3d shadow.remote.runtime.obj_support.get_tap_history(obj_support,num);\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-history\x22,\x22tap-history\x22,-282803347),new cljs.core.Keyword(null,\x22oids\x22,\x22oids\x22,-1580877688),tap_ids], null));\n});\nshadow.remote.runtime.tap_support.tool_disconnect \x3d (function shadow$remote$runtime$tap_support$tool_disconnect(p__38857,tid){\nvar map__38858 \x3d p__38857;\nvar map__38858__$1 \x3d cljs.core.__destructure_map(map__38858);\nvar svc \x3d map__38858__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38858__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,tid);\n});\nshadow.remote.runtime.tap_support.start \x3d (function shadow$remote$runtime$tap_support$start(runtime,obj_support){\nvar subs_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar tap_fn \x3d (function shadow$remote$runtime$tap_support$start_$_runtime_tap(obj){\nif((!((obj \x3d\x3d null)))){\nvar oid \x3d shadow.remote.runtime.obj_support.register(obj_support,obj,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463)], null));\nvar seq__38875 \x3d cljs.core.seq(cljs.core.deref(subs_ref));\nvar chunk__38876 \x3d null;\nvar count__38877 \x3d (0);\nvar i__38878 \x3d (0);\nwhile(true){\nif((i__38878 \x3c count__38877)){\nvar vec__38931 \x3d chunk__38876.cljs$core$IIndexed$_nth$arity$2(null,i__38878);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38931,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38931,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__38997 \x3d seq__38875;\nvar G__38998 \x3d chunk__38876;\nvar G__38999 \x3d count__38877;\nvar G__39000 \x3d (i__38878 + (1));\nseq__38875 \x3d G__38997;\nchunk__38876 \x3d G__38998;\ncount__38877 \x3d G__38999;\ni__38878 \x3d G__39000;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__38875);\nif(temp__5804__auto__){\nvar seq__38875__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__38875__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__38875__$1);\nvar G__39004 \x3d cljs.core.chunk_rest(seq__38875__$1);\nvar G__39005 \x3d c__5548__auto__;\nvar G__39006 \x3d cljs.core.count(c__5548__auto__);\nvar G__39007 \x3d (0);\nseq__38875 \x3d G__39004;\nchunk__38876 \x3d G__39005;\ncount__38877 \x3d G__39006;\ni__38878 \x3d G__39007;\ncontinue;\n} else {\nvar vec__38938 \x3d cljs.core.first(seq__38875__$1);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38938,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38938,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__39009 \x3d cljs.core.next(seq__38875__$1);\nvar G__39010 \x3d null;\nvar G__39011 \x3d (0);\nvar G__39012 \x3d (0);\nseq__38875 \x3d G__39009;\nchunk__38876 \x3d G__39010;\ncount__38877 \x3d G__39011;\ni__38878 \x3d G__39012;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461),tap_fn,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911),subs_ref], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22tap-subscribe\x22,\x22tap-subscribe\x22,411179050),(function (p1__38859_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_subscribe(svc,p1__38859_SHARP_);\n}),new cljs.core.Keyword(null,\x22tap-unsubscribe\x22,\x22tap-unsubscribe\x22,1183890755),(function (p1__38860_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_unsubscribe(svc,p1__38860_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-tap-history\x22,\x22request-tap-history\x22,-670837812),(function (p1__38861_SHARP_){\nreturn shadow.remote.runtime.tap_support.request_tap_history(svc,p1__38861_SHARP_);\n})], null),new cljs.core.Keyword(null,\x22on-tool-disconnect\x22,\x22on-tool-disconnect\x22,693464366),(function (p1__38862_SHARP_){\nreturn shadow.remote.runtime.tap_support.tool_disconnect(svc,p1__38862_SHARP_);\n})], null));\n\ncljs.core.add_tap(tap_fn);\n\nreturn svc;\n});\nshadow.remote.runtime.tap_support.stop \x3d (function shadow$remote$runtime$tap_support$stop(p__38980){\nvar map__38981 \x3d p__38980;\nvar map__38981__$1 \x3d cljs.core.__destructure_map(map__38981);\nvar svc \x3d map__38981__$1;\nvar tap_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38981__$1,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38981__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\ncljs.core.remove_tap(tap_fn);\n\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674));\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.eval_support.js", true, "goog.provide(\x27shadow.remote.runtime.eval_support\x27);\nshadow.remote.runtime.eval_support.obj_support_inst \x3d null;\nshadow.remote.runtime.eval_support.get_ref \x3d (function shadow$remote$runtime$eval_support$get_ref(oid){\nif(cljs.core.truth_(shadow.remote.runtime.eval_support.obj_support_inst)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22obj-support not bound, can only call this from eval\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n\nreturn shadow.remote.runtime.obj_support.get_ref(shadow.remote.runtime.eval_support.obj_support_inst,oid);\n});\nshadow.remote.runtime.eval_support.cljs_eval \x3d (function shadow$remote$runtime$eval_support$cljs_eval(p__38798,p__38799){\nvar map__38800 \x3d p__38798;\nvar map__38800__$1 \x3d cljs.core.__destructure_map(map__38800);\nvar svc \x3d map__38800__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38800__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38800__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__38801 \x3d p__38799;\nvar map__38801__$1 \x3d cljs.core.__destructure_map(map__38801);\nvar msg \x3d map__38801__$1;\nvar input \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38801__$1,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d obj_support);\n\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input,(function (p__38808){\nvar map__38809 \x3d p__38808;\nvar map__38809__$1 \x3d cljs.core.__destructure_map(map__38809);\nvar info \x3d map__38809__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38809__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d null);\n\nvar G__38810 \x3d result;\nvar G__38810__$1 \x3d (((G__38810 instanceof cljs.core.Keyword))?G__38810.fqn:null);\nswitch (G__38810__$1) {\ncase \x22compile-error\x22:\nvar map__38812 \x3d info;\nvar map__38812__$1 \x3d cljs.core.__destructure_map(map__38812);\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38812__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38812__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38812__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-error\x22,\x22eval-compile-error\x22,-1765075397),new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null));\n\nbreak;\ncase \x22runtime-error\x22:\nvar map__38817 \x3d info;\nvar map__38817__$1 \x3d cljs.core.__destructure_map(map__38817);\nvar ex \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38817__$1,new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341));\nvar ex_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,ex,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-runtime-error\x22,\x22eval-runtime-error\x22,275935402),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid], null));\n\nbreak;\ncase \x22warnings\x22:\nvar map__38822 \x3d info;\nvar map__38822__$1 \x3d cljs.core.__destructure_map(map__38822);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38822__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-warnings\x22,\x22eval-compile-warnings\x22,1994859386),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ncase \x22ok\x22:\nvar map__38827 \x3d info;\nvar map__38827__$1 \x3d cljs.core.__destructure_map(map__38827);\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38827__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38827__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar time_start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38827__$1,new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745));\nvar time_finish \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38827__$1,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653));\nvar val \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(results)))?cljs.core.first(results):results);\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,val,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid,new cljs.core.Keyword(null,\x22eval-ms\x22,\x22eval-ms\x22,788821074),(time_finish - time_start),new cljs.core.Keyword(null,\x22eval-ns\x22,\x22eval-ns\x22,-915623795),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(info),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ndefault:\nreturn console.error(\x22Unhandled cljs-eval result\x22,info);\n\n}\n}));\n});\nshadow.remote.runtime.eval_support.js_eval \x3d (function shadow$remote$runtime$eval_support$js_eval(p__38849,p__38850){\nvar map__38852 \x3d p__38849;\nvar map__38852__$1 \x3d cljs.core.__destructure_map(map__38852);\nvar svc \x3d map__38852__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38852__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38852__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__38856 \x3d p__38850;\nvar map__38856__$1 \x3d cljs.core.__destructure_map(map__38856);\nvar msg \x3d map__38856__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38856__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\nreturn shadow.remote.runtime.api.js_eval(runtime,code,(function shadow$remote$runtime$eval_support$js_eval_$_eval_success(res){\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,res,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22js-code\x22,\x22js-code\x22,1816578331),code], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid], null));\n}),(function shadow$remote$runtime$eval_support$js_eval_$_eval_fail(e){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-error\x22,\x22eval-error\x22,466139568),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),e.message], null));\n}));\n});\nshadow.remote.runtime.eval_support.start \x3d (function shadow$remote$runtime$eval_support$start(runtime,obj_support){\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support], null);\nshadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22js-eval\x22,\x22js-eval\x22,-137738892),(function (p1__38863_SHARP_){\nreturn shadow.remote.runtime.eval_support.js_eval(svc,p1__38863_SHARP_);\n}),new cljs.core.Keyword(null,\x22cljs-eval\x22,\x22cljs-eval\x22,1860675817),(function (p1__38864_SHARP_){\nreturn shadow.remote.runtime.eval_support.cljs_eval(svc,p1__38864_SHARP_);\n})], null)], null));\n\nreturn svc;\n});\nshadow.remote.runtime.eval_support.stop \x3d (function shadow$remote$runtime$eval_support$stop(p__38890){\nvar map__38891 \x3d p__38890;\nvar map__38891__$1 \x3d cljs.core.__destructure_map(map__38891);\nvar svc \x3d map__38891__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38891__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625));\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.shared.js", true, "goog.provide(\x27shadow.cljs.devtools.client.shared\x27);\ngoog.scope(function(){\n  shadow.cljs.devtools.client.shared.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IRemote \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_39286 \x3d (function (this$,e){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5374__auto__.call(null,this$,e));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5372__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-open\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_open \x3d (function shadow$cljs$devtools$client$shared$remote_open(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_39286(this$,e);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_39288 \x3d (function (this$,msg){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5374__auto__.call(null,this$,msg));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5372__auto__.call(null,this$,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-msg\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_msg \x3d (function shadow$cljs$devtools$client$shared$remote_msg(this$,msg){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2(this$,msg);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_39288(this$,msg);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_39289 \x3d (function (this$,e,info){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5374__auto__.call(null,this$,e,info));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5372__auto__.call(null,this$,e,info));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-close\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_close \x3d (function shadow$cljs$devtools$client$shared$remote_close(this$,e,info){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3(this$,e,info);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_39289(this$,e,info);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_39290 \x3d (function (this$,e){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5374__auto__.call(null,this$,e));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5372__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-error\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_error \x3d (function shadow$cljs$devtools$client$shared$remote_error(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_39290(this$,e);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IHostSpecific \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_39291 \x3d (function (this$,action,done,error){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5374__auto__.call(null,this$,action,done,error));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5372__auto__.call(null,this$,action,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-init\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_init \x3d (function shadow$cljs$devtools$client$shared$do_repl_init(this$,action,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4(this$,action,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_39291(this$,action,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_39292 \x3d (function (this$,require_msg,done,error){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5374__auto__.call(null,this$,require_msg,done,error));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5372__auto__.call(null,this$,require_msg,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-require\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_require \x3d (function shadow$cljs$devtools$client$shared$do_repl_require(this$,require_msg,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4(this$,require_msg,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_39292(this$,require_msg,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_39297 \x3d (function (this$,ns,invoke_msg,success,fail){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$5(this$,ns,invoke_msg,success,fail) : m__5374__auto__.call(null,this$,ns,invoke_msg,success,fail));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$5(this$,ns,invoke_msg,success,fail) : m__5372__auto__.call(null,this$,ns,invoke_msg,success,fail));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-invoke\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_invoke \x3d (function shadow$cljs$devtools$client$shared$do_invoke(this$,ns,invoke_msg,success,fail){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$5 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$5(this$,ns,invoke_msg,success,fail);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_39297(this$,ns,invoke_msg,success,fail);\n}\n});\n\nshadow.cljs.devtools.client.shared.load_sources \x3d (function shadow$cljs$devtools$client$shared$load_sources(runtime,sources,callback){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__39039){\nvar map__39040 \x3d p__39039;\nvar map__39040__$1 \x3d cljs.core.__destructure_map(map__39040);\nvar msg \x3d map__39040__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39040__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(sources__$1) : callback.call(null,sources__$1));\n})], null));\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.runtime_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.runtime_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.plugins_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.plugins_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_ \x3d (function shadow$cljs$devtools$client$shared$start_all_plugins_BANG_(p__39043){\nvar map__39044 \x3d p__39043;\nvar map__39044__$1 \x3d cljs.core.__destructure_map(map__39044);\nvar runtime \x3d map__39044__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39044__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar started_set \x3d cljs.core.set(cljs.core.keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar plugins \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref);\nvar plugins_set \x3d cljs.core.set(cljs.core.keys(plugins));\nvar pending_set \x3d clojure.set.difference.cljs$core$IFn$_invoke$arity$2(plugins_set,started_set);\nvar pending_set__$1 \x3d pending_set;\nwhile(true){\nif(cljs.core.empty_QMARK_(pending_set__$1)){\nreturn new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22done!\x22,\x22shadow.cljs.devtools.client.shared/done!\x22,-748632664);\n} else {\nvar G__39305 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (pending_set__$1,started_set,plugins,plugins_set,pending_set,map__39044,map__39044__$1,runtime,state_ref){\nreturn (function (pending_set__$2,plugin_id){\nvar map__39052 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(plugins,plugin_id);\nvar map__39052__$1 \x3d cljs.core.__destructure_map(map__39052);\nvar plugin \x3d map__39052__$1;\nvar depends_on \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39052__$1,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022));\nvar init_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39052__$1,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971));\nif(cljs.core.truth_(cljs.core.some(pending_set__$2,depends_on))){\nreturn pending_set__$2;\n} else {\nvar start_arg \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.select_keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)),depends_on),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime);\nvar started \x3d (init_fn.cljs$core$IFn$_invoke$arity$1 ? init_fn.cljs$core$IFn$_invoke$arity$1(start_arg) : init_fn.call(null,start_arg));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null),started);\n\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(pending_set__$2,plugin_id);\n}\n});})(pending_set__$1,started_set,plugins,plugins_set,pending_set,map__39044,map__39044__$1,runtime,state_ref))\n,pending_set__$1,pending_set__$1);\npending_set__$1 \x3d G__39305;\ncontinue;\n\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.shared.add_plugin_BANG_ \x3d (function shadow$cljs$devtools$client$shared$add_plugin_BANG_(plugin_id,depends_on,init_fn,stop_fn){\nif((plugin_id instanceof cljs.core.Keyword)){\n} else {\nthrow (new Error(\x22Assert failed: (keyword? plugin-id)\x22));\n}\n\nif(cljs.core.set_QMARK_(depends_on)){\n} else {\nthrow (new Error(\x22Assert failed: (set? depends-on)\x22));\n}\n\nif(cljs.core.fn_QMARK_(init_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? init-fn)\x22));\n}\n\nif(cljs.core.fn_QMARK_(stop_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? stop-fn)\x22));\n}\n\nvar temp__5808__auto___39312 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto___39312 \x3d\x3d null)){\n} else {\nvar runtime_39314 \x3d temp__5808__auto___39312;\nvar temp__5808__auto___39315__$1 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(runtime_39314,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null));\nif((temp__5808__auto___39315__$1 \x3d\x3d null)){\n} else {\nvar started_39316 \x3d temp__5808__auto___39315__$1;\nvar map__39056_39317 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__39056_39318__$1 \x3d cljs.core.__destructure_map(map__39056_39317);\nvar old_39319 \x3d map__39056_39318__$1;\nvar stop_fn_39320__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39056_39318__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\n(stop_fn_39320__$1.cljs$core$IFn$_invoke$arity$1 ? stop_fn_39320__$1.cljs$core$IFn$_invoke$arity$1(started_39316) : stop_fn_39320__$1.call(null,started_39316));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.cljs.devtools.client.shared.runtime_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([plugin_id], 0));\n}\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.cljs.devtools.client.shared.plugins_ref,cljs.core.assoc,plugin_id,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ext-id\x22,\x22ext-id\x22,-653860474),plugin_id,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022),depends_on,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971),init_fn,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246),stop_fn], null));\n\nvar temp__5808__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar runtime \x3d temp__5808__auto__;\nreturn shadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n}\n});\nshadow.cljs.devtools.client.shared.transit_read \x3d (function shadow$cljs$devtools$client$shared$transit_read(p__39057,data){\nvar map__39058 \x3d p__39057;\nvar map__39058__$1 \x3d cljs.core.__destructure_map(map__39058);\nvar state \x3d map__39058__$1;\nvar transit_readers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39058__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-readers\x22,\x22shadow.cljs.devtools.client.shared/transit-readers\x22,-1866893537));\nvar t \x3d cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),transit_readers], null));\nreturn cognitect.transit.read(t,data);\n});\nshadow.cljs.devtools.client.shared.transit_str \x3d (function shadow$cljs$devtools$client$shared$transit_str(p__39062,obj){\nvar map__39063 \x3d p__39062;\nvar map__39063__$1 \x3d cljs.core.__destructure_map(map__39063);\nvar state \x3d map__39063__$1;\nvar transit_writers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39063__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-writers\x22,\x22shadow.cljs.devtools.client.shared/transit-writers\x22,-776127897));\nvar w \x3d cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),transit_writers], null));\nreturn cognitect.transit.write(w,obj);\n});\nshadow.cljs.devtools.client.shared.add_transit_writers_BANG_ \x3d (function shadow$cljs$devtools$client$shared$add_transit_writers_BANG_(p__39064,writers){\nvar map__39065 \x3d p__39064;\nvar map__39065__$1 \x3d cljs.core.__destructure_map(map__39065);\nvar runtime \x3d map__39065__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39065__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-writers\x22,\x22shadow.cljs.devtools.client.shared/transit-writers\x22,-776127897),cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([writers], 0));\n\nreturn runtime;\n});\nshadow.cljs.devtools.client.shared.continue_BANG_ \x3d (function shadow$cljs$devtools$client$shared$continue_BANG_(state){\nreturn (shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1(state) : shadow.cljs.devtools.client.shared.interpret_actions.call(null,state));\n});\nshadow.cljs.devtools.client.shared.abort_BANG_ \x3d (function shadow$cljs$devtools$client$shared$abort_BANG_(p__39066,action,ex){\nvar map__39067 \x3d p__39066;\nvar map__39067__$1 \x3d cljs.core.__destructure_map(map__39067);\nvar state \x3d map__39067__$1;\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39067__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__39068 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime-error\x22,\x22runtime-error\x22,-2116843646),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341),ex,new cljs.core.Keyword(null,\x22ex-action\x22,\x22ex-action\x22,672251553),action], 0)),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228)], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39068) : callback.call(null,G__39068));\n});\nshadow.cljs.devtools.client.shared.handle_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_invoke(state,runtime,action){\nreturn shadow.cljs.devtools.client.shared.do_invoke(runtime,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(state),action,(function shadow$cljs$devtools$client$shared$handle_invoke_$_invoke_success(res){\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__39070 \x3d state;\nif(cljs.core.not(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__39070,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,res);\n} else {\nreturn G__39070;\n}\n})());\n}),(function shadow$cljs$devtools$client$shared$handle_invoke_$_invoke_fail(ex){\nconsole.error(\x22REPL Invoke Exception\x22,ex);\n\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n});\nshadow.cljs.devtools.client.shared.handle_repl_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_repl_invoke(state,runtime,action){\nreturn shadow.cljs.devtools.client.shared.do_invoke(runtime,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(state),action,(function shadow$cljs$devtools$client$shared$handle_repl_invoke_$_repl_invoke_success(ret){\n(cljs.core._STAR_3 \x3d cljs.core._STAR_2);\n\n(cljs.core._STAR_2 \x3d cljs.core._STAR_1);\n\n(cljs.core._STAR_1 \x3d ret);\n\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__39071 \x3d state;\nif(cljs.core.not(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__39071,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,ret);\n} else {\nreturn G__39071;\n}\n})());\n}),(function shadow$cljs$devtools$client$shared$handle_repl_invoke_$_repl_invoke_fail(ex){\n(cljs.core._STAR_e \x3d ex);\n\nconsole.error(\x22REPL Invoke Exception\x22,ex);\n\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n});\nshadow.cljs.devtools.client.shared.interpret_action \x3d (function shadow$cljs$devtools$client$shared$interpret_action(p__39075,p__39076){\nvar map__39077 \x3d p__39075;\nvar map__39077__$1 \x3d cljs.core.__destructure_map(map__39077);\nvar state \x3d map__39077__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39077__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__39078 \x3d p__39076;\nvar map__39078__$1 \x3d cljs.core.__destructure_map(map__39078);\nvar action \x3d map__39078__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39078__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar G__39079 \x3d type;\nvar G__39079__$1 \x3d (((G__39079 instanceof cljs.core.Keyword))?G__39079.fqn:null);\nswitch (G__39079__$1) {\ncase \x22repl/init\x22:\nreturn shadow.cljs.devtools.client.shared.do_repl_init(runtime,action,(function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime),cljs.core.assoc,new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484),true);\n\nreturn shadow.cljs.devtools.client.shared.continue_BANG_(state);\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/set-ns\x22:\nvar map__39080 \x3d action;\nvar map__39080__$1 \x3d cljs.core.__destructure_map(map__39080);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39080__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39080__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__39081 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__39081,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__39081;\n}\n})());\n\nbreak;\ncase \x22repl/require\x22:\nvar map__39082 \x3d action;\nvar map__39082__$1 \x3d cljs.core.__destructure_map(map__39082);\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39082__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.do_repl_require(runtime,action,(function (sources){\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__39083 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),cljs.core.into,sources);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__39083,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__39083;\n}\n})());\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/invoke\x22:\nvar repl \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22repl\x22,\x22repl\x22,-35398667)], null));\nvar temp__5808__auto___39357 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22obj-refs\x22,\x22obj-refs\x22,-2086642078)], null));\nif((temp__5808__auto___39357 \x3d\x3d null)){\n} else {\nvar obj_refs_39358 \x3d temp__5808__auto___39357;\nvar obj_support_39359 \x3d new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime))));\nvar vec__39087_39360 \x3d obj_refs_39358;\nvar a_39361 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39087_39360,(0),null);\nvar b_39362 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39087_39360,(1),null);\nvar c_39363 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39087_39360,(2),null);\nif(cljs.core.truth_(a_39361)){\n(cljs.core._STAR_1 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(shadow.remote.runtime.obj_support.get_ref(obj_support_39359,a_39361)));\n} else {\n}\n\nif(cljs.core.truth_(b_39362)){\n(cljs.core._STAR_2 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(shadow.remote.runtime.obj_support.get_ref(obj_support_39359,b_39362)));\n} else {\n}\n\nif(cljs.core.truth_(c_39363)){\n(cljs.core._STAR_3 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(shadow.remote.runtime.obj_support.get_ref(obj_support_39359,c_39363)));\n} else {\n}\n}\n\nvar invoke_fn \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d repl;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action));\n} else {\nreturn and__5023__auto__;\n}\n})())?shadow.cljs.devtools.client.shared.handle_repl_invoke:shadow.cljs.devtools.client.shared.handle_invoke);\nreturn (invoke_fn.cljs$core$IFn$_invoke$arity$3 ? invoke_fn.cljs$core$IFn$_invoke$arity$3(state,runtime,action) : invoke_fn.call(null,state,runtime,action));\n\nbreak;\ndefault:\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unhandled repl action\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22state\x22,\x22state\x22,-1988618099),state,new cljs.core.Keyword(null,\x22action\x22,\x22action\x22,-811238024),action], null));\n\n}\n});\nshadow.cljs.devtools.client.shared.interpret_actions \x3d (function shadow$cljs$devtools$client$shared$interpret_actions(p__39090){\nvar map__39092 \x3d p__39090;\nvar map__39092__$1 \x3d cljs.core.__destructure_map(map__39092);\nvar state \x3d map__39092__$1;\nvar queue \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39092__$1,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39092__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.empty_QMARK_(queue)){\nvar map__39095 \x3d state;\nvar map__39095__$1 \x3d cljs.core.__destructure_map(map__39095);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39095__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__39096 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now());\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39096) : callback.call(null,G__39096));\n} else {\nif(((cljs.core.seq(warnings)) \x26\x26 (shadow.cljs.devtools.client.env.ignore_warnings \x3d\x3d\x3d false))){\nvar map__39097 \x3d state;\nvar map__39097__$1 \x3d cljs.core.__destructure_map(map__39097);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39097__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__39098 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now()], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39098) : callback.call(null,G__39098));\n} else {\nvar action \x3d cljs.core.first(queue);\nvar state__$1 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.core.rest);\nreturn shadow.cljs.devtools.client.shared.interpret_action(state__$1,action);\n\n}\n}\n});\nshadow.cljs.devtools.client.shared.setup_actions \x3d (function shadow$cljs$devtools$client$shared$setup_actions(runtime,input,p__39101,callback){\nvar map__39102 \x3d p__39101;\nvar map__39102__$1 \x3d cljs.core.__destructure_map(map__39102);\nvar msg \x3d map__39102__$1;\nvar actions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39102__$1,new cljs.core.Keyword(null,\x22actions\x22,\x22actions\x22,-812656882));\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745),new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113)],[actions,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(input),msg,cljs.core.PersistentVector.EMPTY,cljs.core.vec(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([actions], 0))),new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),runtime,input,callback,Date.now(),cljs.core.PersistentVector.EMPTY]);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {shadow.cljs.devtools.client.shared.IRemote}\n * @implements {shadow.remote.runtime.api.IRuntime}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {shadow.remote.runtime.api.IEvalCLJS}\n*/\nshadow.cljs.devtools.client.shared.Runtime \x3d (function (state_ref,__meta,__extmap,__hash){\nthis.state_ref \x3d state_ref;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.cljs.devtools.client.shared.Runtime.prototype.attempt_connect_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__39132 \x3d cljs.core.deref(self__.state_ref);\nvar map__39132__$1 \x3d cljs.core.__destructure_map(map__39132);\nvar state \x3d map__39132__$1;\nvar ws_connecting \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39132__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39132__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39132__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39132__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39132__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39132__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar ws_start_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39132__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682));\nif(((cljs.core.not(shutdown)) \x26\x26 (((cljs.core.not(stale)) \x26\x26 (cljs.core.not(ws_connecting)))))){\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\nvar ws_state__$1 \x3d (ws_start_fn.cljs$core$IFn$_invoke$arity$1 ? ws_start_fn.cljs$core$IFn$_invoke$arity$1(this$) : ws_start_fn.call(null,this$));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656),ws_state__$1], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.schedule_connect_BANG_ \x3d (function (after){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__39138 \x3d cljs.core.deref(self__.state_ref);\nvar map__39138__$1 \x3d cljs.core.__destructure_map(map__39138);\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39138__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39138__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39138__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif(((cljs.core.not(stale)) \x26\x26 (cljs.core.not(shutdown)))){\nshadow.remote.runtime.shared.trigger_BANG_(this$,new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043),setTimeout((function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\n\nreturn this$.attempt_connect_BANG_();\n}),after));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k39113,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__39147 \x3d k39113;\nvar G__39147__$1 \x3d (((G__39147 instanceof cljs.core.Keyword))?G__39147.fqn:null);\nswitch (G__39147__$1) {\ncase \x22state-ref\x22:\nreturn self__.state_ref;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k39113,else__5326__auto__);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__39149){\nvar vec__39150 \x3d p__39149;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39150,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39150,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.cljs.devtools.client.shared.Runtime{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref],null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__39112){\nvar self__ \x3d this;\nvar G__39112__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__39112__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (1 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (229736719 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this39114,other39115){\nvar self__ \x3d this;\nvar this39114__$1 \x3d this;\nreturn (((!((other39115 \x3d\x3d null)))) \x26\x26 ((((this39114__$1.constructor \x3d\x3d\x3d other39115.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this39114__$1.state_ref,other39115.state_ref)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this39114__$1.__extmap,other39115.__extmap)))))));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d (function (this$,input,callback){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(this$__$1,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-compile\x22,\x22cljs-compile\x22,-1735075279),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22include-init\x22,\x22include-init\x22,1061115199),cljs.core.not(new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22cljs-compile-result\x22,\x22cljs-compile-result\x22,-1137644713),(function (msg){\nreturn shadow.cljs.devtools.client.shared.interpret_actions(shadow.cljs.devtools.client.shared.setup_actions(this$__$1,input,msg,callback));\n}),new cljs.core.Keyword(null,\x22cljs-compile-error\x22,\x22cljs-compile-error\x22,-371665768),(function (p__39164){\nvar map__39165 \x3d p__39164;\nvar map__39165__$1 \x3d cljs.core.__destructure_map(map__39165);\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39165__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39165__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39165__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nvar G__39166 \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22compile-error\x22,\x22compile-error\x22,-1313154526),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39166) : callback.call(null,G__39166));\n}),new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),(function (msg){\nvar G__39167 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22worker-not-found\x22,\x22worker-not-found\x22,-1848657608)], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39167) : callback.call(null,G__39167));\n})], null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),true,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now()], 0));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d (function (this$,text){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar msg \x3d shadow.cljs.devtools.client.shared.transit_read(cljs.core.deref(self__.state_ref),text);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now());\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955).cljs$core$IFn$_invoke$arity$1(msg))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),true);\n} else {\n}\n\nreturn shadow.remote.runtime.shared.process(this$__$1,msg);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d (function (this$,e,info){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\n\nif(((3) \x3e\x3d new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))){\nreturn this$__$1.schedule_connect_BANG_((5000));\n} else {\nreturn console.warn(\x22shadow-cljs: giving up trying to connect to \x22,info);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),cljs.core.inc);\n\nshadow.remote.runtime.shared.trigger_BANG_(this$__$1,new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814));\n\nreturn console.error(\x22shadow-cljs - remote-error\x22,e);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d (function (this$,msg){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar map__39175 \x3d cljs.core.deref(self__.state_ref);\nvar map__39175__$1 \x3d cljs.core.__destructure_map(map__39175);\nvar state \x3d map__39175__$1;\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39175__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39175__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_send_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39175__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now());\n\nif(cljs.core.not(ws_connected)){\nreturn console.warn(\x22shadow-cljs - dropped ws message, not connected\x22,msg,state);\n} else {\nvar s \x3d (function (){try{return shadow.cljs.devtools.client.shared.transit_str(state,msg);\n}catch (e39181){var e \x3d e39181;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to encode relay msg\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n}})();\nreturn (ws_send_fn.cljs$core$IFn$_invoke$arity$2 ? ws_send_fn.cljs$core$IFn$_invoke$arity$2(ws_state,s) : ws_send_fn.call(null,ws_state,s));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d (function (runtime,key,spec){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.add_extension(runtime__$1,key,spec);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d (function (runtime,key){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.del_extension(runtime__$1,key);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k39113){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__39194 \x3d k39113;\nvar G__39194__$1 \x3d (((G__39194 instanceof cljs.core.Keyword))?G__39194.fqn:null);\nswitch (G__39194__$1) {\ncase \x22state-ref\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k39113);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__39112){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__39197 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__39198 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__39197.cljs$core$IFn$_invoke$arity$2 ? pred__39197.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__39198) : pred__39197.call(null,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__39198)))){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(G__39112,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__39112),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref,null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__39112){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,G__39112,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state-ref\x22,\x22state-ref\x22,-526560817,null)], null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.cljs.devtools.client.shared/Runtime\x22,null,(1),null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.cljs.devtools.client.shared/Runtime\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.shared/Runtime.\n */\nshadow.cljs.devtools.client.shared.__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$__GT_Runtime(state_ref){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(state_ref,null,null,null));\n});\n\n/**\n * Factory function for shadow.cljs.devtools.client.shared/Runtime, taking a map of keywords to field values.\n */\nshadow.cljs.devtools.client.shared.map__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$map__GT_Runtime(G__39122){\nvar extmap__5365__auto__ \x3d (function (){var G__39214 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__39122,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.record_QMARK_(G__39122)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__39214);\n} else {\nreturn G__39214;\n}\n})();\nreturn (new shadow.cljs.devtools.client.shared.Runtime(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(G__39122),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.print_subs !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.print_subs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$stop_runtime_BANG_(p__39218){\nvar map__39219 \x3d p__39218;\nvar map__39219__$1 \x3d cljs.core.__destructure_map(map__39219);\nvar runtime \x3d map__39219__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39219__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__39220 \x3d cljs.core.deref(state_ref);\nvar map__39220__$1 \x3d cljs.core.__destructure_map(map__39220);\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39220__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39220__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar interval \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39220__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585));\nvar plugins \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39220__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855));\nclearInterval(interval);\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\ncljs.core.reduce_kv((function (_,plugin_id,started){\nvar map__39222 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__39222__$1 \x3d cljs.core.__destructure_map(map__39222);\nvar stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39222__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\nreturn (stop_fn.cljs$core$IFn$_invoke$arity$1 ? stop_fn.cljs$core$IFn$_invoke$arity$1(started) : stop_fn.call(null,started));\n}),null,plugins);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),true);\n});\nshadow.cljs.devtools.client.shared.init_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$init_runtime_BANG_(client_info,ws_start_fn,ws_send_fn,ws_stop_fn){\nvar temp__5808__auto___39431 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto___39431 \x3d\x3d null)){\n} else {\nvar runtime_39432 \x3d temp__5808__auto___39431;\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_(runtime_39432);\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,null);\n}\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),cljs.core.PersistentHashSet.EMPTY,(function (p1__39223_SHARP_){\nreturn shadow.remote.runtime.obj_support.start(new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996).cljs$core$IFn$_invoke$arity$1(p1__39223_SHARP_));\n}),shadow.remote.runtime.obj_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22tap-support\x22,\x22tap-support\x22,80346439),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__39235){\nvar map__39236 \x3d p__39235;\nvar map__39236__$1 \x3d cljs.core.__destructure_map(map__39236);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39236__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39236__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.tap_support.start(runtime,obj_support);\n}),shadow.remote.runtime.tap_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22eval-support\x22,\x22eval-support\x22,-1581799533),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__39238){\nvar map__39239 \x3d p__39238;\nvar map__39239__$1 \x3d cljs.core.__destructure_map(map__39239);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39239__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39239__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.eval_support.start(runtime,obj_support);\n}),shadow.remote.runtime.eval_support.stop);\n\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(shadow.remote.runtime.shared.init_state(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(client_info,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lang\x22,\x22lang\x22,-1819677104),new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),new cljs.core.Keyword(null,\x22build-id\x22,\x22build-id\x22,1642831089),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id),new cljs.core.Keyword(null,\x22worker-id\x22,\x22worker-id\x22,644510040),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22proc-id\x22,\x22proc-id\x22,-1856109278),shadow.cljs.devtools.client.env.proc_id], 0))),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),false,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-writers\x22,\x22shadow.cljs.devtools.client.shared/transit-writers\x22,-776127897),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-readers\x22,\x22shadow.cljs.devtools.client.shared/transit-readers\x22,-1866893537),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.tagged_literal], null),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682),ws_start_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866),ws_send_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255),ws_stop_fn], 0)));\nvar runtime \x3d (function (){var G__39241 \x3d shadow.cljs.devtools.client.shared.__GT_Runtime(state_ref);\nshadow.remote.runtime.shared.add_defaults(G__39241);\n\nreturn G__39241;\n})();\nvar idle_fn \x3d (function (){\nvar map__39242 \x3d cljs.core.deref(state_ref);\nvar map__39242__$1 \x3d cljs.core.__destructure_map(map__39242);\nvar state \x3d map__39242__$1;\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39242__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39242__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_last_msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39242__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39242__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(ws_connect_timeout);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.not(shutdown);\nif(and__5023__auto____$1){\nvar and__5023__auto____$2 \x3d ws_connected;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn (shadow.remote.runtime.shared.now() \x3e (ws_last_msg + (20000)));\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\n\nruntime.schedule_connect_BANG_((2000));\n} else {\n}\n\nreturn shadow.remote.runtime.shared.run_on_idle(state_ref);\n});\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585),setInterval(idle_fn,(1000)));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,runtime);\n\n(goog.global.cljs_eval \x3d (function (input,opts){\nvar input__$1 \x3d ((cljs.core.map_QMARK_(input))?input:((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.not(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Symbol(null,\x22cljs.user\x22,\x22cljs.user\x22,877795071,null)], null):((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.object_QMARK_(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.shared.goog$module$goog$object.get(opts,\x22ns\x22))], null):(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid arguments, call cljs_eval(string, opts-obj) or cljs_eval(map)\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts], null))})()\n)));\nreturn (new Promise((function (resolve,reject){\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input__$1,(function (p__39247){\nvar map__39248 \x3d p__39247;\nvar map__39248__$1 \x3d cljs.core.__destructure_map(map__39248);\nvar info \x3d map__39248__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39248__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39248__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),result)){\nvar G__39250 \x3d cljs.core.last(results);\nreturn (resolve.cljs$core$IFn$_invoke$arity$1 ? resolve.cljs$core$IFn$_invoke$arity$1(G__39250) : resolve.call(null,G__39250));\n} else {\nreturn (reject.cljs$core$IFn$_invoke$arity$1 ? reject.cljs$core$IFn$_invoke$arity$1(info) : reject.call(null,info));\n}\n}));\n})));\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22print-support\x22,\x22shadow.cljs.devtools.client.shared/print-support\x22,-1090548637),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22runtime-print-sub\x22,\x22runtime-print-sub\x22,1832904759),(function (p__39254){\nvar map__39255 \x3d p__39254;\nvar map__39255__$1 \x3d cljs.core.__destructure_map(map__39255);\nvar msg \x3d map__39255__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39255__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.conj,from);\n\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-notify\x22,\x22request-notify\x22,351029173),new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),from], null)], null));\n}),new cljs.core.Keyword(null,\x22runtime-print-unsub\x22,\x22runtime-print-unsub\x22,2055442536),(function (p__39260){\nvar map__39261 \x3d p__39260;\nvar map__39261__$1 \x3d cljs.core.__destructure_map(map__39261);\nvar msg \x3d map__39261__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39261__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,from);\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),(function (p__39262){\nvar map__39263 \x3d p__39262;\nvar map__39263__$1 \x3d cljs.core.__destructure_map(map__39263);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39263__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39263__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n} else {\nreturn null;\n}\n})], null),new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),(function (p__39265){\nvar map__39266 \x3d p__39265;\nvar map__39266__$1 \x3d cljs.core.__destructure_map(map__39266);\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39266__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n})], null));\n\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_();\n\nshadow.cljs.devtools.client.env.set_print_fns_BANG_((function (stream,text){\nvar subs \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.print_subs);\nif(cljs.core.seq(subs)){\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22runtime-print\x22,\x22runtime-print\x22,-1950604603),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),subs,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),stream,new cljs.core.Keyword(null,\x22text\x22,\x22text\x22,-1790561697),text], null));\n} else {\nreturn null;\n}\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shared\x22,\x22shadow.cljs.devtools.client.shared/shared\x22,85374117),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-clients\x22,\x22request-clients\x22,13229886),new cljs.core.Keyword(null,\x22notify\x22,\x22notify\x22,-1256867814),true,new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(\x22shadow.cljs\x22,\x22worker-for\x22,\x22shadow.cljs/worker-for\x22,-574470432),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id)], null)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clients\x22,\x22clients\x22,1436018090),(function (p__39271){\nvar map__39273 \x3d p__39271;\nvar map__39273__$1 \x3d cljs.core.__destructure_map(map__39273);\nvar msg \x3d map__39273__$1;\nvar clients \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39273__$1,new cljs.core.Keyword(null,\x22clients\x22,\x22clients\x22,1436018090));\nif(cljs.core.not(cljs.core.seq(clients))){\nreturn console.error([\x22shadow-cljs watch for build :\x22,shadow.cljs.devtools.client.env.build_id,\x22 not running!\x22].join(\x27\x27));\n} else {\nvar worker \x3d cljs.core.first(clients);\nvar map__39277 \x3d worker;\nvar map__39277__$1 \x3d cljs.core.__destructure_map(map__39277);\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39277__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(client_id,shadow.cljs.devtools.client.env.worker_client_id)){\nconsole.warn(\x22shadow-cljs worker id outdated! This can mean that the JS loaded is outdated! Ensure that the shadow-cljs output is not cached. If other tools process this output make sure they update correctly. The code may continue to run fine, but if unexplained things happen make sure to fix this first.\x22);\n\nreturn (shadow.cljs.devtools.client.env.worker_client_id \x3d client_id);\n} else {\nreturn null;\n}\n}\n})], null));\n})], null));\n\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n\nreturn runtime.attempt_connect_BANG_();\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.hud.js", true, "goog.provide(\x27shadow.cljs.devtools.client.hud\x27);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_progress \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_progress\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_warnings\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_errors \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_errors\x22,true);\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud.dom_available_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.hud.dom_available_QMARK_ \x3d (!((goog.global.document \x3d\x3d null)));\n}\nshadow.cljs.devtools.client.hud.open_file \x3d (function shadow$cljs$devtools$client$hud$open_file(file,line,column){\nconsole.log(\x22opening file\x22,file,line,column);\n\nreturn fetch([shadow.cljs.devtools.client.env.get_url_base(),\x22/api/open-file\x22].join(\x27\x27),({\x22method\x22: \x22POST\x22, \x22cache\x22: \x22no-cache\x22, \x22mode\x22: \x22cors\x22, \x22body\x22: shadow.cljs.devtools.client.shared.transit_str(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null))})).then((function (p1__39301_SHARP_){\nreturn p1__39301_SHARP_.text();\n})).then((function (result_text){\nvar data \x3d shadow.cljs.devtools.client.shared.transit_read(cljs.core.PersistentArrayMap.EMPTY,result_text);\nreturn console.log(\x22open file result\x22,data);\n}));\n});\nshadow.cljs.devtools.client.hud.dom_insert \x3d (function shadow$cljs$devtools$client$hud$dom_insert(var_args){\nvar G__39307 \x3d arguments.length;\nswitch (G__39307) {\ncase 1:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2(document.body,node);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2 \x3d (function (where,node){\nvar el \x3d shadow.dom.dom_node(node);\nvar id \x3d el.id;\nif(cljs.core.seq(id)){\n} else {\nthrow (new Error(\x22Assert failed: (seq id)\x22));\n}\n\nvar temp__5808__auto___39439 \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(id);\nif((temp__5808__auto___39439 \x3d\x3d null)){\n} else {\nvar x_39440 \x3d temp__5808__auto___39439;\nshadow.dom.remove(x_39440);\n}\n\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(where,el);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.hud_id \x3d \x22shadow-hud-container\x22;\nshadow.cljs.devtools.client.hud.load_id \x3d \x22shadow-hud-loading-container\x22;\nshadow.cljs.devtools.client.hud.logo_svg \x3d (new cljs.core.Delay((function (){\nvar s_path \x3d \x22M247.183941,141.416413 C247.183941,74.7839971 148.383423,78.9723529 148.383423,141.416413 C148.383423,203.860473 265.090698,171.864644 265.090698,248.900057 C265.090698,325.93547 135,325.851749 135,251.708304\x22;\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),\x22shadow-cljs-logo\x22,new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698),\x221.1\x22,new cljs.core.Keyword(null,\x22viewBox\x22,\x22viewBox\x22,-469489477),\x220 0 400 400\x22,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),\x22block\x22], null),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),\x2260px\x22,new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x2260px\x22], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22title\x22,\x22title\x22,636505583),\x22shadow-cljs\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22defs\x22,\x22defs\x22,1398449717),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mask#shadow-cljs-logo-mask\x22,\x22mask#shadow-cljs-logo-mask\x22,1690487509),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#fff\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22], null)], null)], null)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22fill-rule\x22,\x22fill-rule\x22,-1824841598),\x22evenodd\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22none\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x220\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22none\x22,new cljs.core.Keyword(null,\x22mask\x22,\x22mask\x22,-585748447),\x22url(#shadow-cljs-logo-mask)\x22], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g.circles\x22,\x22g.circles\x22,374463200),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.blue\x22,\x22circle.blue\x22,1902916291),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#4F80DF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-blue\x22,\x22circle.light-blue\x22,438137342),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x2271.5\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22370\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#89B4FF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.dark-green\x22,\x22circle.dark-green\x22,608465767),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22180\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22360\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x2260\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#40B400\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-green\x22,\x22circle.light-green\x22,-1663041285),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22129\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22320\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22280\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#76E013\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22animateTransform\x22,\x22animateTransform\x22,759329815),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22attributeType\x22,\x22attributeType\x22,1055561918),\x22xml\x22,new cljs.core.Keyword(null,\x22attributeName\x22,\x22attributeName\x22,-400177890),\x22transform\x22,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),\x22rotate\x22,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),\x220 200 200\x22,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),\x22360 200 200\x22,new cljs.core.Keyword(null,\x22dur\x22,\x22dur\x22,1464522452),\x223s\x22,new cljs.core.Keyword(null,\x22repeatCount\x22,\x22repeatCount\x22,1447663848),\x22indefinite\x22], null)], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),\x22translate(10,10)\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#aaa\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#FFFFFF\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null)], 0));\n}),null));\nshadow.cljs.devtools.client.hud.load_start \x3d (function shadow$cljs$devtools$client$hud$load_start(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.load_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),\x2240px\x22,new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),\x2240px\x22,new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),\x222px 2px 10px #aaa\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22], null)], null),cljs.core.deref(shadow.cljs.devtools.client.hud.logo_svg)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end_success \x3d (function shadow$cljs$devtools$client$hud$load_end_success(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar container_el \x3d temp__5808__auto__;\nvar el \x3d container_el.firstChild;\nshadow.animate.start((500),cljs.core.PersistentArrayMap.createAsIfByAssoc([el,shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,\x22#40B400\x22,\x22ease-out\x22)]));\n\nvar c__35079__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__35080__auto__ \x3d (function (){var switch__34859__auto__ \x3d (function (state_39349){\nvar state_val_39350 \x3d (state_39349[(1)]);\nif((state_val_39350 \x3d\x3d\x3d (1))){\nvar inst_39335 \x3d cljs.core.async.timeout((250));\nvar state_39349__$1 \x3d state_39349;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_39349__$1,(2),inst_39335);\n} else {\nif((state_val_39350 \x3d\x3d\x3d (2))){\nvar inst_39337 \x3d (state_39349[(2)]);\nvar inst_39340 \x3d [el];\nvar inst_39341 \x3d shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,\x22ease-in\x22);\nvar inst_39342 \x3d [inst_39341];\nvar inst_39343 \x3d cljs.core.PersistentHashMap.fromArrays(inst_39340,inst_39342);\nvar inst_39344 \x3d shadow.animate.start((250),inst_39343);\nvar state_39349__$1 \x3d (function (){var statearr_39364 \x3d state_39349;\n(statearr_39364[(7)] \x3d inst_39337);\n\nreturn statearr_39364;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_39349__$1,(3),inst_39344);\n} else {\nif((state_val_39350 \x3d\x3d\x3d (3))){\nvar inst_39346 \x3d (state_39349[(2)]);\nvar inst_39347 \x3d shadow.dom.remove(container_el);\nvar state_39349__$1 \x3d (function (){var statearr_39365 \x3d state_39349;\n(statearr_39365[(8)] \x3d inst_39346);\n\nreturn statearr_39365;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_39349__$1,inst_39347);\n} else {\nreturn null;\n}\n}\n}\n});\nreturn (function() {\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto__ \x3d null;\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto____0 \x3d (function (){\nvar statearr_39369 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_39369[(0)] \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto__);\n\n(statearr_39369[(1)] \x3d (1));\n\nreturn statearr_39369;\n});\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto____1 \x3d (function (state_39349){\nwhile(true){\nvar ret_value__34861__auto__ \x3d (function (){try{while(true){\nvar result__34862__auto__ \x3d switch__34859__auto__(state_39349);\nif(cljs.core.keyword_identical_QMARK_(result__34862__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34862__auto__;\n}\nbreak;\n}\n}catch (e39370){var ex__34863__auto__ \x3d e39370;\nvar statearr_39371_39445 \x3d state_39349;\n(statearr_39371_39445[(2)] \x3d ex__34863__auto__);\n\n\nif(cljs.core.seq((state_39349[(4)]))){\nvar statearr_39372_39447 \x3d state_39349;\n(statearr_39372_39447[(1)] \x3d cljs.core.first((state_39349[(4)])));\n\n} else {\nthrow ex__34863__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34861__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__39449 \x3d state_39349;\nstate_39349 \x3d G__39449;\ncontinue;\n} else {\nreturn ret_value__34861__auto__;\n}\nbreak;\n}\n});\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto__ \x3d function(state_39349){\nswitch(arguments.length){\ncase 0:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto____0.call(this);\ncase 1:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto____1.call(this,state_39349);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto____0;\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto____1;\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34860__auto__;\n})()\n})();\nvar state__35081__auto__ \x3d (function (){var statearr_39376 \x3d f__35080__auto__();\n(statearr_39376[(6)] \x3d c__35079__auto__);\n\nreturn statearr_39376;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__35081__auto__);\n}));\n\nreturn c__35079__auto__;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end \x3d (function shadow$cljs$devtools$client$hud$load_end(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar el \x3d temp__5808__auto__;\nreturn shadow.dom.remove(el);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_hide \x3d (function shadow$cljs$devtools$client$hud$hud_hide(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.hud_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar d \x3d temp__5808__auto__;\nreturn shadow.dom.remove(d);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.source_line_styles \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x220\x22,new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),\x220\x22], null);\nshadow.cljs.devtools.client.hud.source_highlight_styles \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.hud.source_line_styles,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22);\nshadow.cljs.devtools.client.hud.source_line_html \x3d (function shadow$cljs$devtools$client$hud$source_line_html(start_idx,lines,styles){\nvar iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$hud$source_line_html_$_iter__39385(s__39386){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__39386__$1 \x3d s__39386;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__39386__$1);\nif(temp__5804__auto__){\nvar s__39386__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__39386__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__39386__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__39388 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__39387 \x3d (0);\nwhile(true){\nif((i__39387 \x3c size__5502__auto__)){\nvar vec__39391 \x3d cljs.core._nth(c__5501__auto__,i__39387);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39391,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39391,(1),null);\ncljs.core.chunk_append(b__39388,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null));\n\nvar G__39455 \x3d (i__39387 + (1));\ni__39387 \x3d G__39455;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39388),shadow$cljs$devtools$client$hud$source_line_html_$_iter__39385(cljs.core.chunk_rest(s__39386__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39388),null);\n}\n} else {\nvar vec__39397 \x3d cljs.core.first(s__39386__$2);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39397,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39397,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null),shadow$cljs$devtools$client$hud$source_line_html_$_iter__39385(cljs.core.rest(s__39386__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,lines));\n});\nshadow.cljs.devtools.client.hud.sep_length \x3d (80);\nshadow.cljs.devtools.client.hud.sep_line \x3d (function shadow$cljs$devtools$client$hud$sep_line(var_args){\nvar G__39402 \x3d arguments.length;\nswitch (G__39402) {\ncase 0:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22\x22,(0));\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2 \x3d (function (label,offset){\nvar sep_len \x3d Math.max(shadow.cljs.devtools.client.hud.sep_length,offset);\nvar len \x3d cljs.core.count(label);\nvar sep \x3d (function (c){\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(c,\x22-\x22));\n});\nreturn [sep(offset),cljs.core.str.cljs$core$IFn$_invoke$arity$1(label),sep((sep_len - (offset + len)))].join(\x27\x27);\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.file_link \x3d (function shadow$cljs$devtools$client$hud$file_link(p__39403){\nvar map__39404 \x3d p__39403;\nvar map__39404__$1 \x3d cljs.core.__destructure_map(map__39404);\nvar warning \x3d map__39404__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39404__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39404__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39404__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39404__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nif(cljs.core.not(file)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),resource_name], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22text-decoration\x22,\x22text-decoration\x22,1836813207),\x22underline\x22,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22blue\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),(function (e){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn shadow.cljs.devtools.client.hud.open_file(file,line,column);\n})], null)], null),resource_name], null);\n}\n});\nshadow.cljs.devtools.client.hud.html_for_warning \x3d (function shadow$cljs$devtools$client$hud$html_for_warning(p__39408){\nvar map__39409 \x3d p__39408;\nvar map__39409__$1 \x3d cljs.core.__destructure_map(map__39409);\nvar warning \x3d map__39409__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39409__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39409__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39409__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39409__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39409__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar source_excerpt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39409__$1,new cljs.core.Keyword(null,\x22source-excerpt\x22,\x22source-excerpt\x22,5665576));\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x2210px\x22], null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22line-height\x22,\x22line-height\x22,1870784992),\x2216px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fadb64\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22WARNING in \x22], null),shadow.cljs.devtools.client.hud.file_link(warning)], null),(cljs.core.truth_(source_excerpt)?(function (){var map__39411 \x3d source_excerpt;\nvar map__39411__$1 \x3d cljs.core.__destructure_map(map__39411);\nvar start_idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39411__$1,new cljs.core.Keyword(null,\x22start-idx\x22,\x22start-idx\x22,-1600773745));\nvar before \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39411__$1,new cljs.core.Keyword(null,\x22before\x22,\x22before\x22,-1633692388));\nvar line__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39411__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar after \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39411__$1,new cljs.core.Keyword(null,\x22after\x22,\x22after\x22,594996914));\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22], null)], null),shadow.cljs.devtools.client.hud.source_line_html(start_idx,before,shadow.cljs.devtools.client.hud.source_line_styles),shadow.cljs.devtools.client.hud.source_line_html((start_idx + cljs.core.count(before)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [line__$1], null),shadow.cljs.devtools.client.hud.source_highlight_styles),(function (){var arrow_idx \x3d ((6) + (function (){var or__5025__auto__ \x3d column;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (1);\n}\n})());\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22^\x22,arrow_idx)], null);\n})(),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 0\x22], null)], null),msg], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0()], null),shadow.cljs.devtools.client.hud.source_line_html(((start_idx + cljs.core.count(before)) + (1)),after,shadow.cljs.devtools.client.hud.source_line_styles)], null);\n})():null)], null);\n});\nshadow.cljs.devtools.client.hud.hud_warnings \x3d (function shadow$cljs$devtools$client$hud$hud_warnings(p__39417){\nvar map__39418 \x3d p__39417;\nvar map__39418__$1 \x3d cljs.core.__destructure_map(map__39418);\nvar msg \x3d map__39418__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39418__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39418__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar map__39419 \x3d info;\nvar map__39419__$1 \x3d cljs.core.__destructure_map(map__39419);\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39419__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar sources_with_warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__39412_SHARP_){\nreturn cljs.core.seq(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651).cljs$core$IFn$_invoke$arity$1(p1__39412_SHARP_));\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827),sources)));\nif(cljs.core.seq(sources_with_warnings)){\nshadow.cljs.devtools.client.hud.load_end();\n\nif(shadow.cljs.devtools.client.hud.show_warnings){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22flex-direction\x22,\x22flex-direction\x22,364609438),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x2210000\x22,\x220px\x22,\x22flex\x22,\x22fixed\x22,\x22monospace\x22,\x22column\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22align-self\x22,\x22align-self\x22,1475936794),\x22flex-end\x22,new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22border-bottom\x22,\x22border-bottom\x22,2110948415),\x220px\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x226px\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x22-2px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),shadow.cljs.devtools.client.hud.hud_hide], null)], null),\x22Close\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22flex\x22,\x22flex\x22,-1425124628),\x221\x22,new cljs.core.Keyword(null,\x22max-height\x22,\x22max-height\x22,-612563804),\x22300px\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px 0\x22,new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),\x22auto\x22], null)], null),(function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39422(s__39423){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__39423__$1 \x3d s__39423;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__39423__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__39428 \x3d cljs.core.first(xs__6360__auto__);\nvar map__39428__$1 \x3d cljs.core.__destructure_map(map__39428);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39428__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar iterys__5499__auto__ \x3d ((function (s__39423__$1,map__39428,map__39428__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__39419,map__39419__$1,sources,sources_with_warnings,map__39418,map__39418__$1,msg,type,info){\nreturn (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39422_$_iter__39424(s__39425){\nreturn (new cljs.core.LazySeq(null,((function (s__39423__$1,map__39428,map__39428__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__39419,map__39419__$1,sources,sources_with_warnings,map__39418,map__39418__$1,msg,type,info){\nreturn (function (){\nvar s__39425__$1 \x3d s__39425;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__39425__$1);\nif(temp__5804__auto____$1){\nvar s__39425__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__39425__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__39425__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__39427 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__39426 \x3d (0);\nwhile(true){\nif((i__39426 \x3c size__5502__auto__)){\nvar warning \x3d cljs.core._nth(c__5501__auto__,i__39426);\ncljs.core.chunk_append(b__39427,shadow.cljs.devtools.client.hud.html_for_warning(warning));\n\nvar G__39465 \x3d (i__39426 + (1));\ni__39426 \x3d G__39465;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39427),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39422_$_iter__39424(cljs.core.chunk_rest(s__39425__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39427),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__39425__$2);\nreturn cljs.core.cons(shadow.cljs.devtools.client.hud.html_for_warning(warning),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39422_$_iter__39424(cljs.core.rest(s__39425__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__39423__$1,map__39428,map__39428__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__39419,map__39419__$1,sources,sources_with_warnings,map__39418,map__39418__$1,msg,type,info))\n,null,null));\n});})(s__39423__$1,map__39428,map__39428__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__39419,map__39419__$1,sources,sources_with_warnings,map__39418,map__39418__$1,msg,type,info))\n;\nvar fs__5500__auto__ \x3d cljs.core.seq(iterys__5499__auto__(warnings));\nif(fs__5500__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5500__auto__,shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39422(cljs.core.rest(s__39423__$1)));\n} else {\nvar G__39468 \x3d cljs.core.rest(s__39423__$1);\ns__39423__$1 \x3d G__39468;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(sources_with_warnings);\n})()], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_error \x3d (function shadow$cljs$devtools$client$hud$hud_error(p__39433){\nvar map__39434 \x3d p__39433;\nvar map__39434__$1 \x3d cljs.core.__destructure_map(map__39434);\nvar msg \x3d map__39434__$1;\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39434__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22top\x22,\x22top\x22,-1856271961),new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x220px\x22,\x22auto\x22,\x22#fff\x22,\x2210000\x22,\x2220px\x22,\x220px\x22,\x22fixed\x22,\x225px solid red\x22,\x22monospace\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),\x22color: red; margin-bottom: 10px; font-size: 2em;\x22], null),\x22Compilation failed!\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),report], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error_id \x3d \x22shadow-connection-error\x22;\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_ \x3d (function shadow$cljs$devtools$client$hud$connection_error_clear_BANG_(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.connection_error_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar x \x3d temp__5808__auto__;\nreturn shadow.dom.remove(x);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error \x3d (function shadow$cljs$devtools$client$hud$connection_error(msg){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.connection_error_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874)],[\x222px 2px 10px #aaa\x22,\x22#fff\x22,\x2214px\x22,\x22bold\x22,\x2240px\x22,\x22#c00\x22,\x2210px\x22,\x2240px\x22,\x22monospace\x22])], null),[\x22shadow-cljs - \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_failure \x3d (function shadow$cljs$devtools$client$hud$load_failure(error,task,remaining){\nshadow.cljs.devtools.client.hud.load_end();\n\nconsole.error(\x22reload-failed\x22,error);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22[reload failed] \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(error.message)].join(\x27\x27));\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.websocket.js", true, "goog.provide(\x27shadow.cljs.devtools.client.websocket\x27);\nshadow.cljs.devtools.client.websocket.start \x3d (function shadow$cljs$devtools$client$websocket$start(var_args){\nvar G__39287 \x3d arguments.length;\nswitch (G__39287) {\ncase 1:\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$1 \x3d (function (runtime){\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2(WebSocket,runtime);\n}));\n\n(shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2 \x3d (function (ws_impl,runtime){\nvar ws_url \x3d shadow.cljs.devtools.client.env.get_ws_relay_url();\nvar socket \x3d (new ws_impl(ws_url));\n(socket.onmessage \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_msg(runtime,e.data);\n}));\n\n(socket.onopen \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_open(runtime,e);\n}));\n\n(socket.onclose \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_close(runtime,e,ws_url);\n}));\n\n(socket.onerror \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_error(runtime,e);\n}));\n\nreturn socket;\n}));\n\n(shadow.cljs.devtools.client.websocket.start.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.websocket.send \x3d (function shadow$cljs$devtools$client$websocket$send(socket,msg){\nreturn socket.send(msg);\n});\nshadow.cljs.devtools.client.websocket.stop \x3d (function shadow$cljs$devtools$client$websocket$stop(socket){\n(socket.onopen \x3d null);\n\n(socket.onclose \x3d null);\n\n(socket.onmessage \x3d null);\n\n(socket.onerror \x3d null);\n\nreturn socket.close();\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.browser.js", true, "goog.provide(\x27shadow.cljs.devtools.client.browser\x27);\nshadow.cljs.devtools.client.browser.devtools_msg \x3d (function shadow$cljs$devtools$client$browser$devtools_msg(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___40404 \x3d arguments.length;\nvar i__5750__auto___40406 \x3d (0);\nwhile(true){\nif((i__5750__auto___40406 \x3c len__5749__auto___40404)){\nargs__5755__auto__.push((arguments[i__5750__auto___40406]));\n\nvar G__40407 \x3d (i__5750__auto___40406 + (1));\ni__5750__auto___40406 \x3d G__40407;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (msg,args){\nif(shadow.cljs.devtools.client.env.log){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.log_style)){\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22%cshadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27),shadow.cljs.devtools.client.env.log_style], null),args)));\n} else {\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22shadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null),args)));\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$applyTo \x3d (function (seq39469){\nvar G__39470 \x3d cljs.core.first(seq39469);\nvar seq39469__$1 \x3d cljs.core.next(seq39469);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39470,seq39469__$1);\n}));\n\nshadow.cljs.devtools.client.browser.script_eval \x3d (function shadow$cljs$devtools$client$browser$script_eval(code){\nreturn goog.globalEval(code);\n});\nshadow.cljs.devtools.client.browser.do_js_load \x3d (function shadow$cljs$devtools$client$browser$do_js_load(sources){\nvar seq__39485 \x3d cljs.core.seq(sources);\nvar chunk__39486 \x3d null;\nvar count__39487 \x3d (0);\nvar i__39488 \x3d (0);\nwhile(true){\nif((i__39488 \x3c count__39487)){\nvar map__39512 \x3d chunk__39486.cljs$core$IIndexed$_nth$arity$2(null,i__39488);\nvar map__39512__$1 \x3d cljs.core.__destructure_map(map__39512);\nvar src \x3d map__39512__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39512__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39512__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39512__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39512__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e39519){var e_40417 \x3d e39519;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_40417);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_40417.message)].join(\x27\x27)));\n}\n\nvar G__40419 \x3d seq__39485;\nvar G__40420 \x3d chunk__39486;\nvar G__40421 \x3d count__39487;\nvar G__40422 \x3d (i__39488 + (1));\nseq__39485 \x3d G__40419;\nchunk__39486 \x3d G__40420;\ncount__39487 \x3d G__40421;\ni__39488 \x3d G__40422;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__39485);\nif(temp__5804__auto__){\nvar seq__39485__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__39485__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__39485__$1);\nvar G__40423 \x3d cljs.core.chunk_rest(seq__39485__$1);\nvar G__40424 \x3d c__5548__auto__;\nvar G__40425 \x3d cljs.core.count(c__5548__auto__);\nvar G__40426 \x3d (0);\nseq__39485 \x3d G__40423;\nchunk__39486 \x3d G__40424;\ncount__39487 \x3d G__40425;\ni__39488 \x3d G__40426;\ncontinue;\n} else {\nvar map__39524 \x3d cljs.core.first(seq__39485__$1);\nvar map__39524__$1 \x3d cljs.core.__destructure_map(map__39524);\nvar src \x3d map__39524__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39524__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39524__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39524__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39524__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e39528){var e_40428 \x3d e39528;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_40428);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_40428.message)].join(\x27\x27)));\n}\n\nvar G__40429 \x3d cljs.core.next(seq__39485__$1);\nvar G__40430 \x3d null;\nvar G__40431 \x3d (0);\nvar G__40432 \x3d (0);\nseq__39485 \x3d G__40429;\nchunk__39486 \x3d G__40430;\ncount__39487 \x3d G__40431;\ni__39488 \x3d G__40432;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.do_js_reload \x3d (function shadow$cljs$devtools$client$browser$do_js_reload(msg,sources,complete_fn,failure_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(msg,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765),(function (fn_sym){\nreturn null;\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call async \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n})], 0)),(function (next){\nshadow.cljs.devtools.client.browser.do_js_load(sources);\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}),complete_fn,failure_fn);\n});\n/**\n * when (require \x27[\x22some-str\x22 :as x]) is done at the REPL we need to manually call the shadow.js.require for it\n * since the file only adds the shadow$provide. only need to do this for shadow-js.\n */\nshadow.cljs.devtools.client.browser.do_js_requires \x3d (function shadow$cljs$devtools$client$browser$do_js_requires(js_requires){\nvar seq__39541 \x3d cljs.core.seq(js_requires);\nvar chunk__39542 \x3d null;\nvar count__39543 \x3d (0);\nvar i__39544 \x3d (0);\nwhile(true){\nif((i__39544 \x3c count__39543)){\nvar js_ns \x3d chunk__39542.cljs$core$IIndexed$_nth$arity$2(null,i__39544);\nvar require_str_40435 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_40435);\n\n\nvar G__40436 \x3d seq__39541;\nvar G__40437 \x3d chunk__39542;\nvar G__40438 \x3d count__39543;\nvar G__40439 \x3d (i__39544 + (1));\nseq__39541 \x3d G__40436;\nchunk__39542 \x3d G__40437;\ncount__39543 \x3d G__40438;\ni__39544 \x3d G__40439;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__39541);\nif(temp__5804__auto__){\nvar seq__39541__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__39541__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__39541__$1);\nvar G__40440 \x3d cljs.core.chunk_rest(seq__39541__$1);\nvar G__40441 \x3d c__5548__auto__;\nvar G__40442 \x3d cljs.core.count(c__5548__auto__);\nvar G__40443 \x3d (0);\nseq__39541 \x3d G__40440;\nchunk__39542 \x3d G__40441;\ncount__39543 \x3d G__40442;\ni__39544 \x3d G__40443;\ncontinue;\n} else {\nvar js_ns \x3d cljs.core.first(seq__39541__$1);\nvar require_str_40445 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_40445);\n\n\nvar G__40449 \x3d cljs.core.next(seq__39541__$1);\nvar G__40450 \x3d null;\nvar G__40451 \x3d (0);\nvar G__40452 \x3d (0);\nseq__39541 \x3d G__40449;\nchunk__39542 \x3d G__40450;\ncount__39543 \x3d G__40451;\ni__39544 \x3d G__40452;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.handle_build_complete \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete(runtime,p__39555){\nvar map__39557 \x3d p__39555;\nvar map__39557__$1 \x3d cljs.core.__destructure_map(map__39557);\nvar msg \x3d map__39557__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39557__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39557__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39560(s__39561){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__39561__$1 \x3d s__39561;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__39561__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__39567 \x3d cljs.core.first(xs__6360__auto__);\nvar map__39567__$1 \x3d cljs.core.__destructure_map(map__39567);\nvar src \x3d map__39567__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39567__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39567__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5499__auto__ \x3d ((function (s__39561__$1,map__39567,map__39567__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__39557,map__39557__$1,msg,info,reload_info){\nreturn (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39560_$_iter__39562(s__39563){\nreturn (new cljs.core.LazySeq(null,((function (s__39561__$1,map__39567,map__39567__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__39557,map__39557__$1,msg,info,reload_info){\nreturn (function (){\nvar s__39563__$1 \x3d s__39563;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__39563__$1);\nif(temp__5804__auto____$1){\nvar s__39563__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__39563__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__39563__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__39565 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__39564 \x3d (0);\nwhile(true){\nif((i__39564 \x3c size__5502__auto__)){\nvar warning \x3d cljs.core._nth(c__5501__auto__,i__39564);\ncljs.core.chunk_append(b__39565,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__40457 \x3d (i__39564 + (1));\ni__39564 \x3d G__40457;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39565),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39560_$_iter__39562(cljs.core.chunk_rest(s__39563__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39565),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__39563__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39560_$_iter__39562(cljs.core.rest(s__39563__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__39561__$1,map__39567,map__39567__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__39557,map__39557__$1,msg,info,reload_info))\n,null,null));\n});})(s__39561__$1,map__39567,map__39567__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__39557,map__39557__$1,msg,info,reload_info))\n;\nvar fs__5500__auto__ \x3d cljs.core.seq(iterys__5499__auto__(warnings));\nif(fs__5500__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5500__auto__,shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39560(cljs.core.rest(s__39561__$1)));\n} else {\nvar G__40459 \x3d cljs.core.rest(s__39561__$1);\ns__39561__$1 \x3d G__40459;\ncontinue;\n}\n} else {\nvar G__40461 \x3d cljs.core.rest(s__39561__$1);\ns__39561__$1 \x3d G__40461;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nif(shadow.cljs.devtools.client.env.log){\nvar seq__39592_40462 \x3d cljs.core.seq(warnings);\nvar chunk__39593_40463 \x3d null;\nvar count__39594_40464 \x3d (0);\nvar i__39595_40465 \x3d (0);\nwhile(true){\nif((i__39595_40465 \x3c count__39594_40464)){\nvar map__39624_40466 \x3d chunk__39593_40463.cljs$core$IIndexed$_nth$arity$2(null,i__39595_40465);\nvar map__39624_40467__$1 \x3d cljs.core.__destructure_map(map__39624_40466);\nvar w_40468 \x3d map__39624_40467__$1;\nvar msg_40469__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39624_40467__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_40470 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39624_40467__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_40471 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39624_40467__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_40472 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39624_40467__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_40472),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_40470),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_40471),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_40469__$1)].join(\x27\x27));\n\n\nvar G__40473 \x3d seq__39592_40462;\nvar G__40474 \x3d chunk__39593_40463;\nvar G__40475 \x3d count__39594_40464;\nvar G__40476 \x3d (i__39595_40465 + (1));\nseq__39592_40462 \x3d G__40473;\nchunk__39593_40463 \x3d G__40474;\ncount__39594_40464 \x3d G__40475;\ni__39595_40465 \x3d G__40476;\ncontinue;\n} else {\nvar temp__5804__auto___40477 \x3d cljs.core.seq(seq__39592_40462);\nif(temp__5804__auto___40477){\nvar seq__39592_40478__$1 \x3d temp__5804__auto___40477;\nif(cljs.core.chunked_seq_QMARK_(seq__39592_40478__$1)){\nvar c__5548__auto___40479 \x3d cljs.core.chunk_first(seq__39592_40478__$1);\nvar G__40480 \x3d cljs.core.chunk_rest(seq__39592_40478__$1);\nvar G__40481 \x3d c__5548__auto___40479;\nvar G__40482 \x3d cljs.core.count(c__5548__auto___40479);\nvar G__40483 \x3d (0);\nseq__39592_40462 \x3d G__40480;\nchunk__39593_40463 \x3d G__40481;\ncount__39594_40464 \x3d G__40482;\ni__39595_40465 \x3d G__40483;\ncontinue;\n} else {\nvar map__39641_40484 \x3d cljs.core.first(seq__39592_40478__$1);\nvar map__39641_40485__$1 \x3d cljs.core.__destructure_map(map__39641_40484);\nvar w_40486 \x3d map__39641_40485__$1;\nvar msg_40487__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39641_40485__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_40488 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39641_40485__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_40489 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39641_40485__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_40490 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39641_40485__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_40490),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_40488),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_40489),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_40487__$1)].join(\x27\x27));\n\n\nvar G__40491 \x3d cljs.core.next(seq__39592_40478__$1);\nvar G__40492 \x3d null;\nvar G__40493 \x3d (0);\nvar G__40494 \x3d (0);\nseq__39592_40462 \x3d G__40491;\nchunk__39593_40463 \x3d G__40492;\ncount__39594_40464 \x3d G__40493;\ni__39595_40465 \x3d G__40494;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif((!(shadow.cljs.devtools.client.env.autoload))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(((cljs.core.empty_QMARK_(warnings)) || (shadow.cljs.devtools.client.env.ignore_warnings))){\nvar sources_to_get \x3d shadow.cljs.devtools.client.env.filter_reload_sources(info,reload_info);\nif(cljs.core.not(cljs.core.seq(sources_to_get))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285)], null)))){\n} else {\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22reloading code but no :after-load hooks are configured!\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22https://shadow-cljs.github.io/docs/UsersGuide.html#_lifecycle_hooks\x22], 0));\n}\n\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime,sources_to_get,(function (p1__39552_SHARP_){\nreturn shadow.cljs.devtools.client.browser.do_js_reload(msg,p1__39552_SHARP_,shadow.cljs.devtools.client.hud.load_end_success,shadow.cljs.devtools.client.hud.load_failure);\n}));\n}\n} else {\nreturn null;\n}\n}\n});\nshadow.cljs.devtools.client.browser.page_load_uri \x3d (cljs.core.truth_(goog.global.document)?goog.Uri.parse(document.location.href):null);\nshadow.cljs.devtools.client.browser.match_paths \x3d (function shadow$cljs$devtools$client$browser$match_paths(old,new$){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22file\x22,shadow.cljs.devtools.client.browser.page_load_uri.getScheme())){\nvar rel_new \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(new$,(1));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(old,rel_new)) || (clojure.string.starts_with_QMARK_(old,[rel_new,\x22?\x22].join(\x27\x27))))){\nreturn rel_new;\n} else {\nreturn null;\n}\n} else {\nvar node_uri \x3d goog.Uri.parse(old);\nvar node_uri_resolved \x3d shadow.cljs.devtools.client.browser.page_load_uri.resolve(node_uri);\nvar node_abs \x3d node_uri_resolved.getPath();\nvar and__5023__auto__ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.browser.page_load_uri.hasSameDomainAs(node_uri))) || (cljs.core.not(node_uri.hasDomain())));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(node_abs,new$);\nif(and__5023__auto____$1){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var G__39658 \x3d node_uri;\nG__39658.setQuery(null);\n\nG__39658.setPath(new$);\n\nreturn G__39658;\n})());\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}\n});\nshadow.cljs.devtools.client.browser.handle_asset_update \x3d (function shadow$cljs$devtools$client$browser$handle_asset_update(p__39669){\nvar map__39670 \x3d p__39669;\nvar map__39670__$1 \x3d cljs.core.__destructure_map(map__39670);\nvar msg \x3d map__39670__$1;\nvar updates \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39670__$1,new cljs.core.Keyword(null,\x22updates\x22,\x22updates\x22,2013983452));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39670__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar seq__39673 \x3d cljs.core.seq(updates);\nvar chunk__39675 \x3d null;\nvar count__39676 \x3d (0);\nvar i__39677 \x3d (0);\nwhile(true){\nif((i__39677 \x3c count__39676)){\nvar path \x3d chunk__39675.cljs$core$IIndexed$_nth$arity$2(null,i__39677);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__40000_40498 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__40004_40499 \x3d null;\nvar count__40005_40500 \x3d (0);\nvar i__40006_40501 \x3d (0);\nwhile(true){\nif((i__40006_40501 \x3c count__40005_40500)){\nvar node_40503 \x3d chunk__40004_40499.cljs$core$IIndexed$_nth$arity$2(null,i__40006_40501);\nif(cljs.core.not(node_40503.shadow$old)){\nvar path_match_40504 \x3d shadow.cljs.devtools.client.browser.match_paths(node_40503.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_40504)){\nvar new_link_40505 \x3d (function (){var G__40055 \x3d node_40503.cloneNode(true);\nG__40055.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_40504),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__40055;\n})();\n(node_40503.shadow$old \x3d true);\n\n(new_link_40505.onload \x3d ((function (seq__40000_40498,chunk__40004_40499,count__40005_40500,i__40006_40501,seq__39673,chunk__39675,count__39676,i__39677,new_link_40505,path_match_40504,node_40503,path,map__39670,map__39670__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__40057_40506 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__40059_40507 \x3d null;\nvar count__40060_40508 \x3d (0);\nvar i__40061_40509 \x3d (0);\nwhile(true){\nif((i__40061_40509 \x3c count__40060_40508)){\nvar map__40073_40511 \x3d chunk__40059_40507.cljs$core$IIndexed$_nth$arity$2(null,i__40061_40509);\nvar map__40073_40512__$1 \x3d cljs.core.__destructure_map(map__40073_40511);\nvar task_40513 \x3d map__40073_40512__$1;\nvar fn_str_40514 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40073_40512__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40515 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40073_40512__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40517 \x3d goog.getObjectByName(fn_str_40514,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40515)].join(\x27\x27));\n\n(fn_obj_40517.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40517.cljs$core$IFn$_invoke$arity$2(path,new_link_40505) : fn_obj_40517.call(null,path,new_link_40505));\n\n\nvar G__40518 \x3d seq__40057_40506;\nvar G__40519 \x3d chunk__40059_40507;\nvar G__40520 \x3d count__40060_40508;\nvar G__40521 \x3d (i__40061_40509 + (1));\nseq__40057_40506 \x3d G__40518;\nchunk__40059_40507 \x3d G__40519;\ncount__40060_40508 \x3d G__40520;\ni__40061_40509 \x3d G__40521;\ncontinue;\n} else {\nvar temp__5804__auto___40522 \x3d cljs.core.seq(seq__40057_40506);\nif(temp__5804__auto___40522){\nvar seq__40057_40523__$1 \x3d temp__5804__auto___40522;\nif(cljs.core.chunked_seq_QMARK_(seq__40057_40523__$1)){\nvar c__5548__auto___40524 \x3d cljs.core.chunk_first(seq__40057_40523__$1);\nvar G__40525 \x3d cljs.core.chunk_rest(seq__40057_40523__$1);\nvar G__40526 \x3d c__5548__auto___40524;\nvar G__40527 \x3d cljs.core.count(c__5548__auto___40524);\nvar G__40528 \x3d (0);\nseq__40057_40506 \x3d G__40525;\nchunk__40059_40507 \x3d G__40526;\ncount__40060_40508 \x3d G__40527;\ni__40061_40509 \x3d G__40528;\ncontinue;\n} else {\nvar map__40074_40529 \x3d cljs.core.first(seq__40057_40523__$1);\nvar map__40074_40530__$1 \x3d cljs.core.__destructure_map(map__40074_40529);\nvar task_40531 \x3d map__40074_40530__$1;\nvar fn_str_40532 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40074_40530__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40533 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40074_40530__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40534 \x3d goog.getObjectByName(fn_str_40532,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40533)].join(\x27\x27));\n\n(fn_obj_40534.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40534.cljs$core$IFn$_invoke$arity$2(path,new_link_40505) : fn_obj_40534.call(null,path,new_link_40505));\n\n\nvar G__40537 \x3d cljs.core.next(seq__40057_40523__$1);\nvar G__40538 \x3d null;\nvar G__40539 \x3d (0);\nvar G__40540 \x3d (0);\nseq__40057_40506 \x3d G__40537;\nchunk__40059_40507 \x3d G__40538;\ncount__40060_40508 \x3d G__40539;\ni__40061_40509 \x3d G__40540;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_40503);\n});})(seq__40000_40498,chunk__40004_40499,count__40005_40500,i__40006_40501,seq__39673,chunk__39675,count__39676,i__39677,new_link_40505,path_match_40504,node_40503,path,map__39670,map__39670__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_40504], 0));\n\ngoog.dom.insertSiblingAfter(new_link_40505,node_40503);\n\n\nvar G__40542 \x3d seq__40000_40498;\nvar G__40543 \x3d chunk__40004_40499;\nvar G__40544 \x3d count__40005_40500;\nvar G__40545 \x3d (i__40006_40501 + (1));\nseq__40000_40498 \x3d G__40542;\nchunk__40004_40499 \x3d G__40543;\ncount__40005_40500 \x3d G__40544;\ni__40006_40501 \x3d G__40545;\ncontinue;\n} else {\nvar G__40547 \x3d seq__40000_40498;\nvar G__40548 \x3d chunk__40004_40499;\nvar G__40549 \x3d count__40005_40500;\nvar G__40550 \x3d (i__40006_40501 + (1));\nseq__40000_40498 \x3d G__40547;\nchunk__40004_40499 \x3d G__40548;\ncount__40005_40500 \x3d G__40549;\ni__40006_40501 \x3d G__40550;\ncontinue;\n}\n} else {\nvar G__40551 \x3d seq__40000_40498;\nvar G__40552 \x3d chunk__40004_40499;\nvar G__40553 \x3d count__40005_40500;\nvar G__40554 \x3d (i__40006_40501 + (1));\nseq__40000_40498 \x3d G__40551;\nchunk__40004_40499 \x3d G__40552;\ncount__40005_40500 \x3d G__40553;\ni__40006_40501 \x3d G__40554;\ncontinue;\n}\n} else {\nvar temp__5804__auto___40555 \x3d cljs.core.seq(seq__40000_40498);\nif(temp__5804__auto___40555){\nvar seq__40000_40556__$1 \x3d temp__5804__auto___40555;\nif(cljs.core.chunked_seq_QMARK_(seq__40000_40556__$1)){\nvar c__5548__auto___40557 \x3d cljs.core.chunk_first(seq__40000_40556__$1);\nvar G__40559 \x3d cljs.core.chunk_rest(seq__40000_40556__$1);\nvar G__40560 \x3d c__5548__auto___40557;\nvar G__40561 \x3d cljs.core.count(c__5548__auto___40557);\nvar G__40562 \x3d (0);\nseq__40000_40498 \x3d G__40559;\nchunk__40004_40499 \x3d G__40560;\ncount__40005_40500 \x3d G__40561;\ni__40006_40501 \x3d G__40562;\ncontinue;\n} else {\nvar node_40563 \x3d cljs.core.first(seq__40000_40556__$1);\nif(cljs.core.not(node_40563.shadow$old)){\nvar path_match_40564 \x3d shadow.cljs.devtools.client.browser.match_paths(node_40563.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_40564)){\nvar new_link_40565 \x3d (function (){var G__40076 \x3d node_40563.cloneNode(true);\nG__40076.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_40564),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__40076;\n})();\n(node_40563.shadow$old \x3d true);\n\n(new_link_40565.onload \x3d ((function (seq__40000_40498,chunk__40004_40499,count__40005_40500,i__40006_40501,seq__39673,chunk__39675,count__39676,i__39677,new_link_40565,path_match_40564,node_40563,seq__40000_40556__$1,temp__5804__auto___40555,path,map__39670,map__39670__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__40078_40567 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__40080_40568 \x3d null;\nvar count__40081_40569 \x3d (0);\nvar i__40082_40570 \x3d (0);\nwhile(true){\nif((i__40082_40570 \x3c count__40081_40569)){\nvar map__40090_40576 \x3d chunk__40080_40568.cljs$core$IIndexed$_nth$arity$2(null,i__40082_40570);\nvar map__40090_40577__$1 \x3d cljs.core.__destructure_map(map__40090_40576);\nvar task_40578 \x3d map__40090_40577__$1;\nvar fn_str_40579 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40090_40577__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40580 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40090_40577__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40581 \x3d goog.getObjectByName(fn_str_40579,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40580)].join(\x27\x27));\n\n(fn_obj_40581.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40581.cljs$core$IFn$_invoke$arity$2(path,new_link_40565) : fn_obj_40581.call(null,path,new_link_40565));\n\n\nvar G__40582 \x3d seq__40078_40567;\nvar G__40583 \x3d chunk__40080_40568;\nvar G__40584 \x3d count__40081_40569;\nvar G__40585 \x3d (i__40082_40570 + (1));\nseq__40078_40567 \x3d G__40582;\nchunk__40080_40568 \x3d G__40583;\ncount__40081_40569 \x3d G__40584;\ni__40082_40570 \x3d G__40585;\ncontinue;\n} else {\nvar temp__5804__auto___40586__$1 \x3d cljs.core.seq(seq__40078_40567);\nif(temp__5804__auto___40586__$1){\nvar seq__40078_40587__$1 \x3d temp__5804__auto___40586__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__40078_40587__$1)){\nvar c__5548__auto___40589 \x3d cljs.core.chunk_first(seq__40078_40587__$1);\nvar G__40590 \x3d cljs.core.chunk_rest(seq__40078_40587__$1);\nvar G__40591 \x3d c__5548__auto___40589;\nvar G__40592 \x3d cljs.core.count(c__5548__auto___40589);\nvar G__40593 \x3d (0);\nseq__40078_40567 \x3d G__40590;\nchunk__40080_40568 \x3d G__40591;\ncount__40081_40569 \x3d G__40592;\ni__40082_40570 \x3d G__40593;\ncontinue;\n} else {\nvar map__40091_40594 \x3d cljs.core.first(seq__40078_40587__$1);\nvar map__40091_40595__$1 \x3d cljs.core.__destructure_map(map__40091_40594);\nvar task_40596 \x3d map__40091_40595__$1;\nvar fn_str_40597 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40091_40595__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40598 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40091_40595__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40599 \x3d goog.getObjectByName(fn_str_40597,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40598)].join(\x27\x27));\n\n(fn_obj_40599.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40599.cljs$core$IFn$_invoke$arity$2(path,new_link_40565) : fn_obj_40599.call(null,path,new_link_40565));\n\n\nvar G__40600 \x3d cljs.core.next(seq__40078_40587__$1);\nvar G__40601 \x3d null;\nvar G__40602 \x3d (0);\nvar G__40603 \x3d (0);\nseq__40078_40567 \x3d G__40600;\nchunk__40080_40568 \x3d G__40601;\ncount__40081_40569 \x3d G__40602;\ni__40082_40570 \x3d G__40603;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_40563);\n});})(seq__40000_40498,chunk__40004_40499,count__40005_40500,i__40006_40501,seq__39673,chunk__39675,count__39676,i__39677,new_link_40565,path_match_40564,node_40563,seq__40000_40556__$1,temp__5804__auto___40555,path,map__39670,map__39670__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_40564], 0));\n\ngoog.dom.insertSiblingAfter(new_link_40565,node_40563);\n\n\nvar G__40604 \x3d cljs.core.next(seq__40000_40556__$1);\nvar G__40605 \x3d null;\nvar G__40606 \x3d (0);\nvar G__40607 \x3d (0);\nseq__40000_40498 \x3d G__40604;\nchunk__40004_40499 \x3d G__40605;\ncount__40005_40500 \x3d G__40606;\ni__40006_40501 \x3d G__40607;\ncontinue;\n} else {\nvar G__40608 \x3d cljs.core.next(seq__40000_40556__$1);\nvar G__40609 \x3d null;\nvar G__40610 \x3d (0);\nvar G__40611 \x3d (0);\nseq__40000_40498 \x3d G__40608;\nchunk__40004_40499 \x3d G__40609;\ncount__40005_40500 \x3d G__40610;\ni__40006_40501 \x3d G__40611;\ncontinue;\n}\n} else {\nvar G__40612 \x3d cljs.core.next(seq__40000_40556__$1);\nvar G__40613 \x3d null;\nvar G__40614 \x3d (0);\nvar G__40615 \x3d (0);\nseq__40000_40498 \x3d G__40612;\nchunk__40004_40499 \x3d G__40613;\ncount__40005_40500 \x3d G__40614;\ni__40006_40501 \x3d G__40615;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__40617 \x3d seq__39673;\nvar G__40618 \x3d chunk__39675;\nvar G__40619 \x3d count__39676;\nvar G__40620 \x3d (i__39677 + (1));\nseq__39673 \x3d G__40617;\nchunk__39675 \x3d G__40618;\ncount__39676 \x3d G__40619;\ni__39677 \x3d G__40620;\ncontinue;\n} else {\nvar G__40622 \x3d seq__39673;\nvar G__40623 \x3d chunk__39675;\nvar G__40624 \x3d count__39676;\nvar G__40625 \x3d (i__39677 + (1));\nseq__39673 \x3d G__40622;\nchunk__39675 \x3d G__40623;\ncount__39676 \x3d G__40624;\ni__39677 \x3d G__40625;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__39673);\nif(temp__5804__auto__){\nvar seq__39673__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__39673__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__39673__$1);\nvar G__40628 \x3d cljs.core.chunk_rest(seq__39673__$1);\nvar G__40629 \x3d c__5548__auto__;\nvar G__40630 \x3d cljs.core.count(c__5548__auto__);\nvar G__40631 \x3d (0);\nseq__39673 \x3d G__40628;\nchunk__39675 \x3d G__40629;\ncount__39676 \x3d G__40630;\ni__39677 \x3d G__40631;\ncontinue;\n} else {\nvar path \x3d cljs.core.first(seq__39673__$1);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__40098_40632 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__40102_40633 \x3d null;\nvar count__40103_40634 \x3d (0);\nvar i__40104_40635 \x3d (0);\nwhile(true){\nif((i__40104_40635 \x3c count__40103_40634)){\nvar node_40637 \x3d chunk__40102_40633.cljs$core$IIndexed$_nth$arity$2(null,i__40104_40635);\nif(cljs.core.not(node_40637.shadow$old)){\nvar path_match_40638 \x3d shadow.cljs.devtools.client.browser.match_paths(node_40637.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_40638)){\nvar new_link_40639 \x3d (function (){var G__40176 \x3d node_40637.cloneNode(true);\nG__40176.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_40638),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__40176;\n})();\n(node_40637.shadow$old \x3d true);\n\n(new_link_40639.onload \x3d ((function (seq__40098_40632,chunk__40102_40633,count__40103_40634,i__40104_40635,seq__39673,chunk__39675,count__39676,i__39677,new_link_40639,path_match_40638,node_40637,path,seq__39673__$1,temp__5804__auto__,map__39670,map__39670__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__40180_40641 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__40182_40642 \x3d null;\nvar count__40183_40643 \x3d (0);\nvar i__40184_40644 \x3d (0);\nwhile(true){\nif((i__40184_40644 \x3c count__40183_40643)){\nvar map__40194_40646 \x3d chunk__40182_40642.cljs$core$IIndexed$_nth$arity$2(null,i__40184_40644);\nvar map__40194_40647__$1 \x3d cljs.core.__destructure_map(map__40194_40646);\nvar task_40648 \x3d map__40194_40647__$1;\nvar fn_str_40649 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40194_40647__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40650 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40194_40647__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40651 \x3d goog.getObjectByName(fn_str_40649,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40650)].join(\x27\x27));\n\n(fn_obj_40651.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40651.cljs$core$IFn$_invoke$arity$2(path,new_link_40639) : fn_obj_40651.call(null,path,new_link_40639));\n\n\nvar G__40652 \x3d seq__40180_40641;\nvar G__40653 \x3d chunk__40182_40642;\nvar G__40654 \x3d count__40183_40643;\nvar G__40655 \x3d (i__40184_40644 + (1));\nseq__40180_40641 \x3d G__40652;\nchunk__40182_40642 \x3d G__40653;\ncount__40183_40643 \x3d G__40654;\ni__40184_40644 \x3d G__40655;\ncontinue;\n} else {\nvar temp__5804__auto___40657__$1 \x3d cljs.core.seq(seq__40180_40641);\nif(temp__5804__auto___40657__$1){\nvar seq__40180_40658__$1 \x3d temp__5804__auto___40657__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__40180_40658__$1)){\nvar c__5548__auto___40659 \x3d cljs.core.chunk_first(seq__40180_40658__$1);\nvar G__40660 \x3d cljs.core.chunk_rest(seq__40180_40658__$1);\nvar G__40661 \x3d c__5548__auto___40659;\nvar G__40662 \x3d cljs.core.count(c__5548__auto___40659);\nvar G__40663 \x3d (0);\nseq__40180_40641 \x3d G__40660;\nchunk__40182_40642 \x3d G__40661;\ncount__40183_40643 \x3d G__40662;\ni__40184_40644 \x3d G__40663;\ncontinue;\n} else {\nvar map__40198_40664 \x3d cljs.core.first(seq__40180_40658__$1);\nvar map__40198_40665__$1 \x3d cljs.core.__destructure_map(map__40198_40664);\nvar task_40666 \x3d map__40198_40665__$1;\nvar fn_str_40667 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40198_40665__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40668 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40198_40665__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40671 \x3d goog.getObjectByName(fn_str_40667,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40668)].join(\x27\x27));\n\n(fn_obj_40671.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40671.cljs$core$IFn$_invoke$arity$2(path,new_link_40639) : fn_obj_40671.call(null,path,new_link_40639));\n\n\nvar G__40674 \x3d cljs.core.next(seq__40180_40658__$1);\nvar G__40675 \x3d null;\nvar G__40676 \x3d (0);\nvar G__40677 \x3d (0);\nseq__40180_40641 \x3d G__40674;\nchunk__40182_40642 \x3d G__40675;\ncount__40183_40643 \x3d G__40676;\ni__40184_40644 \x3d G__40677;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_40637);\n});})(seq__40098_40632,chunk__40102_40633,count__40103_40634,i__40104_40635,seq__39673,chunk__39675,count__39676,i__39677,new_link_40639,path_match_40638,node_40637,path,seq__39673__$1,temp__5804__auto__,map__39670,map__39670__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_40638], 0));\n\ngoog.dom.insertSiblingAfter(new_link_40639,node_40637);\n\n\nvar G__40678 \x3d seq__40098_40632;\nvar G__40679 \x3d chunk__40102_40633;\nvar G__40680 \x3d count__40103_40634;\nvar G__40681 \x3d (i__40104_40635 + (1));\nseq__40098_40632 \x3d G__40678;\nchunk__40102_40633 \x3d G__40679;\ncount__40103_40634 \x3d G__40680;\ni__40104_40635 \x3d G__40681;\ncontinue;\n} else {\nvar G__40682 \x3d seq__40098_40632;\nvar G__40683 \x3d chunk__40102_40633;\nvar G__40684 \x3d count__40103_40634;\nvar G__40685 \x3d (i__40104_40635 + (1));\nseq__40098_40632 \x3d G__40682;\nchunk__40102_40633 \x3d G__40683;\ncount__40103_40634 \x3d G__40684;\ni__40104_40635 \x3d G__40685;\ncontinue;\n}\n} else {\nvar G__40686 \x3d seq__40098_40632;\nvar G__40687 \x3d chunk__40102_40633;\nvar G__40688 \x3d count__40103_40634;\nvar G__40689 \x3d (i__40104_40635 + (1));\nseq__40098_40632 \x3d G__40686;\nchunk__40102_40633 \x3d G__40687;\ncount__40103_40634 \x3d G__40688;\ni__40104_40635 \x3d G__40689;\ncontinue;\n}\n} else {\nvar temp__5804__auto___40690__$1 \x3d cljs.core.seq(seq__40098_40632);\nif(temp__5804__auto___40690__$1){\nvar seq__40098_40691__$1 \x3d temp__5804__auto___40690__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__40098_40691__$1)){\nvar c__5548__auto___40692 \x3d cljs.core.chunk_first(seq__40098_40691__$1);\nvar G__40693 \x3d cljs.core.chunk_rest(seq__40098_40691__$1);\nvar G__40694 \x3d c__5548__auto___40692;\nvar G__40695 \x3d cljs.core.count(c__5548__auto___40692);\nvar G__40696 \x3d (0);\nseq__40098_40632 \x3d G__40693;\nchunk__40102_40633 \x3d G__40694;\ncount__40103_40634 \x3d G__40695;\ni__40104_40635 \x3d G__40696;\ncontinue;\n} else {\nvar node_40698 \x3d cljs.core.first(seq__40098_40691__$1);\nif(cljs.core.not(node_40698.shadow$old)){\nvar path_match_40703 \x3d shadow.cljs.devtools.client.browser.match_paths(node_40698.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_40703)){\nvar new_link_40704 \x3d (function (){var G__40206 \x3d node_40698.cloneNode(true);\nG__40206.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_40703),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__40206;\n})();\n(node_40698.shadow$old \x3d true);\n\n(new_link_40704.onload \x3d ((function (seq__40098_40632,chunk__40102_40633,count__40103_40634,i__40104_40635,seq__39673,chunk__39675,count__39676,i__39677,new_link_40704,path_match_40703,node_40698,seq__40098_40691__$1,temp__5804__auto___40690__$1,path,seq__39673__$1,temp__5804__auto__,map__39670,map__39670__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__40207_40705 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__40209_40706 \x3d null;\nvar count__40210_40707 \x3d (0);\nvar i__40211_40708 \x3d (0);\nwhile(true){\nif((i__40211_40708 \x3c count__40210_40707)){\nvar map__40221_40709 \x3d chunk__40209_40706.cljs$core$IIndexed$_nth$arity$2(null,i__40211_40708);\nvar map__40221_40710__$1 \x3d cljs.core.__destructure_map(map__40221_40709);\nvar task_40711 \x3d map__40221_40710__$1;\nvar fn_str_40712 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40221_40710__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40713 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40221_40710__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40714 \x3d goog.getObjectByName(fn_str_40712,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40713)].join(\x27\x27));\n\n(fn_obj_40714.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40714.cljs$core$IFn$_invoke$arity$2(path,new_link_40704) : fn_obj_40714.call(null,path,new_link_40704));\n\n\nvar G__40715 \x3d seq__40207_40705;\nvar G__40716 \x3d chunk__40209_40706;\nvar G__40717 \x3d count__40210_40707;\nvar G__40718 \x3d (i__40211_40708 + (1));\nseq__40207_40705 \x3d G__40715;\nchunk__40209_40706 \x3d G__40716;\ncount__40210_40707 \x3d G__40717;\ni__40211_40708 \x3d G__40718;\ncontinue;\n} else {\nvar temp__5804__auto___40719__$2 \x3d cljs.core.seq(seq__40207_40705);\nif(temp__5804__auto___40719__$2){\nvar seq__40207_40720__$1 \x3d temp__5804__auto___40719__$2;\nif(cljs.core.chunked_seq_QMARK_(seq__40207_40720__$1)){\nvar c__5548__auto___40721 \x3d cljs.core.chunk_first(seq__40207_40720__$1);\nvar G__40722 \x3d cljs.core.chunk_rest(seq__40207_40720__$1);\nvar G__40723 \x3d c__5548__auto___40721;\nvar G__40724 \x3d cljs.core.count(c__5548__auto___40721);\nvar G__40725 \x3d (0);\nseq__40207_40705 \x3d G__40722;\nchunk__40209_40706 \x3d G__40723;\ncount__40210_40707 \x3d G__40724;\ni__40211_40708 \x3d G__40725;\ncontinue;\n} else {\nvar map__40229_40726 \x3d cljs.core.first(seq__40207_40720__$1);\nvar map__40229_40727__$1 \x3d cljs.core.__destructure_map(map__40229_40726);\nvar task_40728 \x3d map__40229_40727__$1;\nvar fn_str_40729 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40229_40727__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40730 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40229_40727__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40732 \x3d goog.getObjectByName(fn_str_40729,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40730)].join(\x27\x27));\n\n(fn_obj_40732.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40732.cljs$core$IFn$_invoke$arity$2(path,new_link_40704) : fn_obj_40732.call(null,path,new_link_40704));\n\n\nvar G__40735 \x3d cljs.core.next(seq__40207_40720__$1);\nvar G__40736 \x3d null;\nvar G__40737 \x3d (0);\nvar G__40738 \x3d (0);\nseq__40207_40705 \x3d G__40735;\nchunk__40209_40706 \x3d G__40736;\ncount__40210_40707 \x3d G__40737;\ni__40211_40708 \x3d G__40738;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_40698);\n});})(seq__40098_40632,chunk__40102_40633,count__40103_40634,i__40104_40635,seq__39673,chunk__39675,count__39676,i__39677,new_link_40704,path_match_40703,node_40698,seq__40098_40691__$1,temp__5804__auto___40690__$1,path,seq__39673__$1,temp__5804__auto__,map__39670,map__39670__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_40703], 0));\n\ngoog.dom.insertSiblingAfter(new_link_40704,node_40698);\n\n\nvar G__40739 \x3d cljs.core.next(seq__40098_40691__$1);\nvar G__40740 \x3d null;\nvar G__40741 \x3d (0);\nvar G__40742 \x3d (0);\nseq__40098_40632 \x3d G__40739;\nchunk__40102_40633 \x3d G__40740;\ncount__40103_40634 \x3d G__40741;\ni__40104_40635 \x3d G__40742;\ncontinue;\n} else {\nvar G__40743 \x3d cljs.core.next(seq__40098_40691__$1);\nvar G__40744 \x3d null;\nvar G__40745 \x3d (0);\nvar G__40746 \x3d (0);\nseq__40098_40632 \x3d G__40743;\nchunk__40102_40633 \x3d G__40744;\ncount__40103_40634 \x3d G__40745;\ni__40104_40635 \x3d G__40746;\ncontinue;\n}\n} else {\nvar G__40747 \x3d cljs.core.next(seq__40098_40691__$1);\nvar G__40748 \x3d null;\nvar G__40749 \x3d (0);\nvar G__40750 \x3d (0);\nseq__40098_40632 \x3d G__40747;\nchunk__40102_40633 \x3d G__40748;\ncount__40103_40634 \x3d G__40749;\ni__40104_40635 \x3d G__40750;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__40751 \x3d cljs.core.next(seq__39673__$1);\nvar G__40752 \x3d null;\nvar G__40753 \x3d (0);\nvar G__40754 \x3d (0);\nseq__39673 \x3d G__40751;\nchunk__39675 \x3d G__40752;\ncount__39676 \x3d G__40753;\ni__39677 \x3d G__40754;\ncontinue;\n} else {\nvar G__40755 \x3d cljs.core.next(seq__39673__$1);\nvar G__40756 \x3d null;\nvar G__40757 \x3d (0);\nvar G__40758 \x3d (0);\nseq__39673 \x3d G__40755;\nchunk__39675 \x3d G__40756;\ncount__39676 \x3d G__40757;\ni__39677 \x3d G__40758;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.global_eval \x3d (function shadow$cljs$devtools$client$browser$global_eval(js){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(\x22undefined\x22,typeof(module))){\nreturn eval(js);\n} else {\nreturn (0,eval)(js);;\n}\n});\nshadow.cljs.devtools.client.browser.runtime_info \x3d (((typeof SHADOW_CONFIG !\x3d\x3d \x27undefined\x27))?shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1(SHADOW_CONFIG):null);\nshadow.cljs.devtools.client.browser.client_info \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.cljs.devtools.client.browser.runtime_info,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),(cljs.core.truth_(goog.global.document)?new cljs.core.Keyword(null,\x22browser\x22,\x22browser\x22,828191719):new cljs.core.Keyword(null,\x22browser-worker\x22,\x22browser-worker\x22,1638998282)),new cljs.core.Keyword(null,\x22user-agent\x22,\x22user-agent\x22,1220426212),[(cljs.core.truth_(goog.userAgent.OPERA)?\x22Opera\x22:(cljs.core.truth_(goog.userAgent.product.CHROME)?\x22Chrome\x22:(cljs.core.truth_(goog.userAgent.IE)?\x22MSIE\x22:(cljs.core.truth_(goog.userAgent.EDGE)?\x22Edge\x22:(cljs.core.truth_(goog.userAgent.GECKO)?\x22Firefox\x22:(cljs.core.truth_(goog.userAgent.SAFARI)?\x22Safari\x22:(cljs.core.truth_(goog.userAgent.WEBKIT)?\x22Webkit\x22:null))))))),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.VERSION),\x22 [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.PLATFORM),\x22]\x22].join(\x27\x27),new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),(!((goog.global.document \x3d\x3d null)))], null)], 0));\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser.ws_was_welcome_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.browser.ws_was_welcome_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\n}\nif(((shadow.cljs.devtools.client.env.enabled) \x26\x26 ((shadow.cljs.devtools.client.env.worker_client_id \x3e (0))))){\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$4 \x3d (function (this$,code,success,fail){\nvar this$__$1 \x3d this;\ntry{var G__40257 \x3d shadow.cljs.devtools.client.browser.global_eval(code);\nreturn (success.cljs$core$IFn$_invoke$arity$1 ? success.cljs$core$IFn$_invoke$arity$1(G__40257) : success.call(null,G__40257));\n}catch (e40256){var e \x3d e40256;\nreturn (fail.cljs$core$IFn$_invoke$arity$1 ? fail.cljs$core$IFn$_invoke$arity$1(e) : fail.call(null,e));\n}}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$5 \x3d (function (this$,ns,p__40260,success,fail){\nvar map__40261 \x3d p__40260;\nvar map__40261__$1 \x3d cljs.core.__destructure_map(map__40261);\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40261__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\nvar this$__$1 \x3d this;\ntry{var G__40265 \x3d shadow.cljs.devtools.client.browser.global_eval(js);\nreturn (success.cljs$core$IFn$_invoke$arity$1 ? success.cljs$core$IFn$_invoke$arity$1(G__40265) : success.call(null,G__40265));\n}catch (e40264){var e \x3d e40264;\nreturn (fail.cljs$core$IFn$_invoke$arity$1 ? fail.cljs$core$IFn$_invoke$arity$1(e) : fail.call(null,e));\n}}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d (function (runtime,p__40267,done,error){\nvar map__40269 \x3d p__40267;\nvar map__40269__$1 \x3d cljs.core.__destructure_map(map__40269);\nvar repl_sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40269__$1,new cljs.core.Keyword(null,\x22repl-sources\x22,\x22repl-sources\x22,723867535));\nvar runtime__$1 \x3d this;\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime__$1,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_,repl_sources)),(function (sources){\nshadow.cljs.devtools.client.browser.do_js_load(sources);\n\nreturn (done.cljs$core$IFn$_invoke$arity$0 ? done.cljs$core$IFn$_invoke$arity$0() : done.call(null));\n}));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d (function (runtime,p__40280,done,error){\nvar map__40281 \x3d p__40280;\nvar map__40281__$1 \x3d cljs.core.__destructure_map(map__40281);\nvar msg \x3d map__40281__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40281__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar reload_namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40281__$1,new cljs.core.Keyword(null,\x22reload-namespaces\x22,\x22reload-namespaces\x22,250210134));\nvar js_requires \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40281__$1,new cljs.core.Keyword(null,\x22js-requires\x22,\x22js-requires\x22,-1311472051));\nvar runtime__$1 \x3d this;\nvar sources_to_load \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__40291){\nvar map__40294 \x3d p__40291;\nvar map__40294__$1 \x3d cljs.core.__destructure_map(map__40294);\nvar src \x3d map__40294__$1;\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40294__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar and__5023__auto__ \x3d shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(cljs.core.some(reload_namespaces,provides));\n} else {\nreturn and__5023__auto__;\n}\n}),sources));\nif(cljs.core.not(cljs.core.seq(sources_to_load))){\nvar G__40304 \x3d cljs.core.PersistentVector.EMPTY;\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(G__40304) : done.call(null,G__40304));\n} else {\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime__$1,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources_to_load)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__40318){\nvar map__40320 \x3d p__40318;\nvar map__40320__$1 \x3d cljs.core.__destructure_map(map__40320);\nvar msg__$1 \x3d map__40320__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40320__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\ntry{shadow.cljs.devtools.client.browser.do_js_load(sources__$1);\n\nif(cljs.core.seq(js_requires)){\nshadow.cljs.devtools.client.browser.do_js_requires(js_requires);\n} else {\n}\n\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(sources_to_load) : done.call(null,sources_to_load));\n}catch (e40326){var ex \x3d e40326;\nreturn (error.cljs$core$IFn$_invoke$arity$1 ? error.cljs$core$IFn$_invoke$arity$1(ex) : error.call(null,ex));\n}})], null));\n}\n}));\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),cljs.core.PersistentHashSet.EMPTY,(function (p__40337){\nvar map__40339 \x3d p__40337;\nvar map__40339__$1 \x3d cljs.core.__destructure_map(map__40339);\nvar env \x3d map__40339__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40339__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,true);\n\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.env.patch_goog_BANG_();\n\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime)))),\x22 ready!\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814),(function (e){\nif(cljs.core.truth_(cljs.core.deref(shadow.cljs.devtools.client.browser.ws_was_welcome_ref))){\nshadow.cljs.devtools.client.hud.connection_error(\x22The Websocket connection was closed!\x22);\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n} else {\nreturn null;\n}\n}),new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702),(function (e){\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22Reconnecting ...\x22);\n}),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),(function (msg){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22Stale Output! Your loaded JS was not produced by the running shadow-cljs instance.\x22,\x22 Is the watch for this build running?\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22cljs-asset-update\x22,\x22cljs-asset-update\x22,1224093028),(function (msg){\nreturn shadow.cljs.devtools.client.browser.handle_asset_update(msg);\n}),new cljs.core.Keyword(null,\x22cljs-build-configure\x22,\x22cljs-build-configure\x22,-2089891268),(function (msg){\nreturn null;\n}),new cljs.core.Keyword(null,\x22cljs-build-start\x22,\x22cljs-build-start\x22,-725781241),(function (msg){\nshadow.cljs.devtools.client.hud.hud_hide();\n\nshadow.cljs.devtools.client.hud.load_start();\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480)));\n}),new cljs.core.Keyword(null,\x22cljs-build-complete\x22,\x22cljs-build-complete\x22,273626153),(function (msg){\nvar msg__$1 \x3d shadow.cljs.devtools.client.env.add_warnings_to_info(msg);\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.hud.hud_warnings(msg__$1);\n\nshadow.cljs.devtools.client.browser.handle_build_complete(runtime,msg__$1);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472)));\n}),new cljs.core.Keyword(null,\x22cljs-build-failure\x22,\x22cljs-build-failure\x22,1718154990),(function (msg){\nshadow.cljs.devtools.client.hud.load_end();\n\nshadow.cljs.devtools.client.hud.hud_error(msg);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466)));\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),(function (p__40377){\nvar map__40379 \x3d p__40377;\nvar map__40379__$1 \x3d cljs.core.__destructure_map(map__40379);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40379__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40379__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(client_id,shadow.cljs.devtools.client.env.worker_client_id)))){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was stopped!\x22);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-connect\x22,\x22client-connect\x22,-1113973888),event_op)){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was restarted. Reload required!\x22);\n} else {\nreturn null;\n}\n}\n})], null)], null));\n\nreturn svc;\n}),(function (p__40386){\nvar map__40387 \x3d p__40386;\nvar map__40387__$1 \x3d cljs.core.__destructure_map(map__40387);\nvar svc \x3d map__40387__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40387__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282));\n}));\n\nshadow.cljs.devtools.client.shared.init_runtime_BANG_(shadow.cljs.devtools.client.browser.client_info,shadow.cljs.devtools.client.websocket.start,shadow.cljs.devtools.client.websocket.send,shadow.cljs.devtools.client.websocket.stop);\n} else {\n}\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.impl.utils.js", true, "goog.provide(\x27cljs.tools.reader.impl.utils\x27);\ncljs.tools.reader.impl.utils.char$ \x3d (function cljs$tools$reader$impl$utils$char(x){\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.char$(x);\n}\n});\ncljs.tools.reader.impl.utils.ex_info_QMARK_ \x3d (function cljs$tools$reader$impl$utils$ex_info_QMARK_(ex){\nreturn (ex instanceof cljs.core.ExceptionInfo);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.tools.reader.impl.utils.ReaderConditional \x3d (function (splicing_QMARK_,form,__meta,__extmap,__hash){\nthis.splicing_QMARK_ \x3d splicing_QMARK_;\nthis.form \x3d form;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k38696,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__38703 \x3d k38696;\nvar G__38703__$1 \x3d (((G__38703 instanceof cljs.core.Keyword))?G__38703.fqn:null);\nswitch (G__38703__$1) {\ncase \x22splicing?\x22:\nreturn self__.splicing_QMARK_;\n\nbreak;\ncase \x22form\x22:\nreturn self__.form;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k38696,else__5326__auto__);\n\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__38704){\nvar vec__38705 \x3d p__38704;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38705,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38705,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.tools.reader.impl.utils.ReaderConditional{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),self__.splicing_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),self__.form],null))], null),self__.__extmap));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__38695){\nvar self__ \x3d this;\nvar G__38695__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__38695__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-209062840 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this38697,other38698){\nvar self__ \x3d this;\nvar this38697__$1 \x3d this;\nreturn (((!((other38698 \x3d\x3d null)))) \x26\x26 ((((this38697__$1.constructor \x3d\x3d\x3d other38698.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38697__$1.splicing_QMARK_,other38698.splicing_QMARK_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38697__$1.form,other38698.form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38697__$1.__extmap,other38698.__extmap)))))))));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),null,new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k38696){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__38752 \x3d k38696;\nvar G__38752__$1 \x3d (((G__38752 instanceof cljs.core.Keyword))?G__38752.fqn:null);\nswitch (G__38752__$1) {\ncase \x22splicing?\x22:\ncase \x22form\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k38696);\n\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__38695){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__38753 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__38754 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__38753.cljs$core$IFn$_invoke$arity$2 ? pred__38753.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),expr__38754) : pred__38753.call(null,new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),expr__38754)))){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(G__38695,self__.form,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38753.cljs$core$IFn$_invoke$arity$2 ? pred__38753.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),expr__38754) : pred__38753.call(null,new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),expr__38754)))){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,G__38695,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__38695),null));\n}\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),self__.splicing_QMARK_,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),self__.form,null))], null),self__.__extmap));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__38695){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,G__38695,self__.__extmap,self__.__hash));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22splicing?\x22,\x22splicing?\x22,1211935161,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.tools.reader.impl.utils/ReaderConditional\x22,null,(1),null));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.tools.reader.impl.utils/ReaderConditional\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.impl.utils/ReaderConditional.\n */\ncljs.tools.reader.impl.utils.__GT_ReaderConditional \x3d (function cljs$tools$reader$impl$utils$__GT_ReaderConditional(splicing_QMARK_,form){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null));\n});\n\n/**\n * Factory function for cljs.tools.reader.impl.utils/ReaderConditional, taking a map of keywords to field values.\n */\ncljs.tools.reader.impl.utils.map__GT_ReaderConditional \x3d (function cljs$tools$reader$impl$utils$map__GT_ReaderConditional(G__38701){\nvar extmap__5365__auto__ \x3d (function (){var G__38803 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__38701,new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471)], 0));\nif(cljs.core.record_QMARK_(G__38701)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__38803);\n} else {\nreturn G__38803;\n}\n})();\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366).cljs$core$IFn$_invoke$arity$1(G__38701),new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471).cljs$core$IFn$_invoke$arity$1(G__38701),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n/**\n * Return true if the value is the data representation of a reader conditional\n */\ncljs.tools.reader.impl.utils.reader_conditional_QMARK_ \x3d (function cljs$tools$reader$impl$utils$reader_conditional_QMARK_(value){\nreturn (value instanceof cljs.tools.reader.impl.utils.ReaderConditional);\n});\n/**\n * Construct a data representation of a reader conditional.\n *   If true, splicing? indicates read-cond-splicing.\n */\ncljs.tools.reader.impl.utils.reader_conditional \x3d (function cljs$tools$reader$impl$utils$reader_conditional(form,splicing_QMARK_){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null));\n});\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\ncljs.core._write(writer,[\x22#?\x22,(cljs.core.truth_(coll__$1.splicing_QMARK_)?\x22@\x22:null)].join(\x27\x27));\n\nreturn cljs.core.pr_writer(coll__$1.form,writer,opts);\n}));\ncljs.tools.reader.impl.utils.ws_rx \x3d /[\\s]/;\n/**\n * Checks whether a given character is whitespace\n */\ncljs.tools.reader.impl.utils.whitespace_QMARK_ \x3d (function cljs$tools$reader$impl$utils$whitespace_QMARK_(ch){\nif((ch \x3d\x3d null)){\nreturn null;\n} else {\nif((ch \x3d\x3d\x3d \x22,\x22)){\nreturn true;\n} else {\nreturn cljs.tools.reader.impl.utils.ws_rx.test(ch);\n}\n}\n});\n/**\n * Checks whether a given character is numeric\n */\ncljs.tools.reader.impl.utils.numeric_QMARK_ \x3d (function cljs$tools$reader$impl$utils$numeric_QMARK_(ch){\nif((ch \x3d\x3d null)){\nreturn null;\n} else {\nreturn goog.string.isNumeric(ch);\n}\n});\n/**\n * Checks whether the character is a newline\n */\ncljs.tools.reader.impl.utils.newline_QMARK_ \x3d (function cljs$tools$reader$impl$utils$newline_QMARK_(c){\nreturn (((\x22\\n\x22 \x3d\x3d\x3d c)) || ((((\x22\\n\x22 \x3d\x3d\x3d c)) || ((c \x3d\x3d null)))));\n});\n/**\n * Resolves syntactical sugar in metadata\n */\ncljs.tools.reader.impl.utils.desugar_meta \x3d (function cljs$tools$reader$impl$utils$desugar_meta(f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([f,true]);\n} else {\nif((f instanceof cljs.core.Symbol)){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nif(typeof f \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nif(cljs.core.vector_QMARK_(f)){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22param-tags\x22,\x22param-tags\x22,250134169),f], null);\n} else {\nreturn f;\n\n}\n}\n}\n}\n});\ncljs.tools.reader.impl.utils.last_id \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\ncljs.tools.reader.impl.utils.next_id \x3d (function cljs$tools$reader$impl$utils$next_id(){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.impl.utils.last_id,cljs.core.inc);\n});\ncljs.tools.reader.impl.utils.namespace_keys \x3d (function cljs$tools$reader$impl$utils$namespace_keys(ns,keys){\nvar iter__5503__auto__ \x3d (function cljs$tools$reader$impl$utils$namespace_keys_$_iter__38919(s__38920){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__38920__$1 \x3d s__38920;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__38920__$1);\nif(temp__5804__auto__){\nvar s__38920__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__38920__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__38920__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__38922 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__38921 \x3d (0);\nwhile(true){\nif((i__38921 \x3c size__5502__auto__)){\nvar key \x3d cljs.core._nth(c__5501__auto__,i__38921);\ncljs.core.chunk_append(b__38922,(((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword))))?(function (){var vec__38941 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace,cljs.core.name)(key);\nvar key_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38941,(0),null);\nvar key_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38941,(1),null);\nvar __GT_key \x3d (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword);\nif((key_ns \x3d\x3d null)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$2 ? __GT_key.cljs$core$IFn$_invoke$arity$2(ns,key_name) : __GT_key.call(null,ns,key_name));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22_\x22,key_ns)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$1 ? __GT_key.cljs$core$IFn$_invoke$arity$1(key_name) : __GT_key.call(null,key_name));\n} else {\nreturn key;\n\n}\n}\n})():key));\n\nvar G__39026 \x3d (i__38921 + (1));\ni__38921 \x3d G__39026;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__38922),cljs$tools$reader$impl$utils$namespace_keys_$_iter__38919(cljs.core.chunk_rest(s__38920__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__38922),null);\n}\n} else {\nvar key \x3d cljs.core.first(s__38920__$2);\nreturn cljs.core.cons((((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword))))?(function (){var vec__38977 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace,cljs.core.name)(key);\nvar key_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38977,(0),null);\nvar key_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38977,(1),null);\nvar __GT_key \x3d (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword);\nif((key_ns \x3d\x3d null)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$2 ? __GT_key.cljs$core$IFn$_invoke$arity$2(ns,key_name) : __GT_key.call(null,ns,key_name));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22_\x22,key_ns)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$1 ? __GT_key.cljs$core$IFn$_invoke$arity$1(key_name) : __GT_key.call(null,key_name));\n} else {\nreturn key;\n\n}\n}\n})():key),cljs$tools$reader$impl$utils$namespace_keys_$_iter__38919(cljs.core.rest(s__38920__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(keys);\n});\ncljs.tools.reader.impl.utils.second_SINGLEQUOTE_ \x3d (function cljs$tools$reader$impl$utils$second_SINGLEQUOTE_(p__38986){\nvar vec__38987 \x3d p__38986;\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38987,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38987,(1),null);\nif(cljs.core.truth_(a)){\nreturn null;\n} else {\nreturn b;\n}\n});\ncljs.tools.reader.impl.utils.char_code \x3d (function cljs$tools$reader$impl$utils$char_code(ch,base){\nvar code \x3d parseInt(ch,base);\nif(cljs.core.truth_(isNaN(code))){\nreturn (-1);\n} else {\nreturn code;\n}\n});\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.reader_types.js", true, "goog.provide(\x27cljs.tools.reader.reader_types\x27);\n\n/**\n * @interface\n */\ncljs.tools.reader.reader_types.Reader \x3d function(){};\n\nvar cljs$tools$reader$reader_types$Reader$read_char$dyn_39153 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.read_char[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.read_char[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22Reader.read-char\x22,reader);\n}\n}\n});\n/**\n * Returns the next char from the Reader, nil if the end of stream has been reached\n */\ncljs.tools.reader.reader_types.read_char \x3d (function cljs$tools$reader$reader_types$read_char(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$Reader$read_char$dyn_39153(reader);\n}\n});\n\nvar cljs$tools$reader$reader_types$Reader$peek_char$dyn_39154 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.peek_char[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.peek_char[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22Reader.peek-char\x22,reader);\n}\n}\n});\n/**\n * Returns the next char from the Reader without removing it from the reader stream\n */\ncljs.tools.reader.reader_types.peek_char \x3d (function cljs$tools$reader$reader_types$peek_char(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$Reader$peek_char$dyn_39154(reader);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.tools.reader.reader_types.IPushbackReader \x3d function(){};\n\nvar cljs$tools$reader$reader_types$IPushbackReader$unread$dyn_39156 \x3d (function (reader,ch){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.unread[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(reader,ch) : m__5374__auto__.call(null,reader,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.unread[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(reader,ch) : m__5372__auto__.call(null,reader,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22IPushbackReader.unread\x22,reader);\n}\n}\n});\n/**\n * Pushes back a single character on to the stream\n */\ncljs.tools.reader.reader_types.unread \x3d (function cljs$tools$reader$reader_types$unread(reader,ch){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(reader,ch);\n} else {\nreturn cljs$tools$reader$reader_types$IPushbackReader$unread$dyn_39156(reader,ch);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.tools.reader.reader_types.IndexingReader \x3d function(){};\n\nvar cljs$tools$reader$reader_types$IndexingReader$get_line_number$dyn_39158 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.get_line_number[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.get_line_number[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22IndexingReader.get-line-number\x22,reader);\n}\n}\n});\n/**\n * Returns the line number of the next character to be read from the stream\n */\ncljs.tools.reader.reader_types.get_line_number \x3d (function cljs$tools$reader$reader_types$get_line_number(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$IndexingReader$get_line_number$dyn_39158(reader);\n}\n});\n\nvar cljs$tools$reader$reader_types$IndexingReader$get_column_number$dyn_39160 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.get_column_number[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.get_column_number[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22IndexingReader.get-column-number\x22,reader);\n}\n}\n});\n/**\n * Returns the column number of the next character to be read from the stream\n */\ncljs.tools.reader.reader_types.get_column_number \x3d (function cljs$tools$reader$reader_types$get_column_number(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$IndexingReader$get_column_number$dyn_39160(reader);\n}\n});\n\nvar cljs$tools$reader$reader_types$IndexingReader$get_file_name$dyn_39163 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.get_file_name[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.get_file_name[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22IndexingReader.get-file-name\x22,reader);\n}\n}\n});\n/**\n * Returns the file name the reader is reading from, or nil\n */\ncljs.tools.reader.reader_types.get_file_name \x3d (function cljs$tools$reader$reader_types$get_file_name(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$IndexingReader$get_file_name$dyn_39163(reader);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.Reader}\n*/\ncljs.tools.reader.reader_types.StringReader \x3d (function (s,s_len,s_pos){\nthis.s \x3d s;\nthis.s_len \x3d s_len;\nthis.s_pos \x3d s_pos;\n});\n(cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif((self__.s_len \x3e self__.s_pos)){\nvar r \x3d self__.s.charAt(self__.s_pos);\n(self__.s_pos \x3d (self__.s_pos + (1)));\n\nreturn r;\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif((self__.s_len \x3e self__.s_pos)){\nreturn self__.s.charAt(self__.s_pos);\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.StringReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.Symbol(null,\x22s-len\x22,\x22s-len\x22,1869978331,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22s-pos\x22,\x22s-pos\x22,-540562492,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.tools.reader.reader_types.StringReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/StringReader\x22);\n\n(cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/StringReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/StringReader.\n */\ncljs.tools.reader.reader_types.__GT_StringReader \x3d (function cljs$tools$reader$reader_types$__GT_StringReader(s,s_len,s_pos){\nreturn (new cljs.tools.reader.reader_types.StringReader(s,s_len,s_pos));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.Reader}\n*/\ncljs.tools.reader.reader_types.NodeReadableReader \x3d (function (readable,buf){\nthis.readable \x3d readable;\nthis.buf \x3d buf;\n});\n(cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.buf)){\nvar c \x3d (self__.buf[(0)]);\n(self__.buf \x3d null);\n\nreturn cljs.tools.reader.impl.utils.char$(c);\n} else {\nvar c \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.readable.read((1)));\nif(cljs.core.truth_(c)){\nreturn cljs.tools.reader.impl.utils.char$(c);\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.buf)){\n} else {\n(self__.buf \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.readable.read((1))));\n}\n\nif(cljs.core.truth_(self__.buf)){\nreturn cljs.tools.reader.impl.utils.char$((self__.buf[(0)]));\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.NodeReadableReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22readable\x22,\x22readable\x22,2113054478,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/NodeReadableReader\x22);\n\n(cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/NodeReadableReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/NodeReadableReader.\n */\ncljs.tools.reader.reader_types.__GT_NodeReadableReader \x3d (function cljs$tools$reader$reader_types$__GT_NodeReadableReader(readable,buf){\nreturn (new cljs.tools.reader.reader_types.NodeReadableReader(readable,buf));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.Reader}\n * @implements {cljs.tools.reader.reader_types.IPushbackReader}\n*/\ncljs.tools.reader.reader_types.PushbackReader \x3d (function (rdr,buf,buf_len,buf_pos){\nthis.rdr \x3d rdr;\nthis.buf \x3d buf;\nthis.buf_len \x3d buf_len;\nthis.buf_pos \x3d buf_pos;\n});\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar c \x3d (((self__.buf_pos \x3c self__.buf_len))?(self__.buf[self__.buf_pos]):self__.rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null));\nif((self__.buf_pos \x3c self__.buf_len)){\n(self__.buf_pos \x3d (self__.buf_pos + (1)));\n} else {\n}\n\nreturn cljs.tools.reader.impl.utils.char$(c);\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar c \x3d (((self__.buf_pos \x3c self__.buf_len))?(self__.buf[self__.buf_pos]):self__.rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null));\nreturn cljs.tools.reader.impl.utils.char$(c);\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d (function (reader,ch){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(ch)){\nif((self__.buf_pos \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Pushback buffer is full\x22));\n} else {\n}\n\n(self__.buf_pos \x3d (self__.buf_pos - (1)));\n\nreturn (self__.buf[self__.buf_pos] \x3d ch);\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22buf-len\x22,\x22buf-len\x22,404510846,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf-pos\x22,\x22buf-pos\x22,-807229033,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/PushbackReader\x22);\n\n(cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/PushbackReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/PushbackReader.\n */\ncljs.tools.reader.reader_types.__GT_PushbackReader \x3d (function cljs$tools$reader$reader_types$__GT_PushbackReader(rdr,buf,buf_len,buf_pos){\nreturn (new cljs.tools.reader.reader_types.PushbackReader(rdr,buf,buf_len,buf_pos));\n});\n\ncljs.tools.reader.reader_types.normalize_newline \x3d (function cljs$tools$reader$reader_types$normalize_newline(rdr,ch){\nif((\x22\\r\x22 \x3d\x3d\x3d ch)){\nvar c \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif((((\x22\\f\x22 \x3d\x3d\x3d c)) || ((\x22\\n\x22 \x3d\x3d\x3d c)))){\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n} else {\n}\n\nreturn \x22\\n\x22;\n} else {\nreturn ch;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.IndexingReader}\n * @implements {cljs.tools.reader.reader_types.Reader}\n * @implements {cljs.tools.reader.reader_types.IPushbackReader}\n*/\ncljs.tools.reader.reader_types.IndexingPushbackReader \x3d (function (rdr,line,column,line_start_QMARK_,prev,prev_column,file_name){\nthis.rdr \x3d rdr;\nthis.line \x3d line;\nthis.column \x3d column;\nthis.line_start_QMARK_ \x3d line_start_QMARK_;\nthis.prev \x3d prev;\nthis.prev_column \x3d prev_column;\nthis.file_name \x3d file_name;\n});\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar temp__5804__auto__ \x3d self__.rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ch \x3d temp__5804__auto__;\nvar ch__$1 \x3d cljs.tools.reader.reader_types.normalize_newline(self__.rdr,ch);\n(self__.prev \x3d self__.line_start_QMARK_);\n\n(self__.line_start_QMARK_ \x3d cljs.tools.reader.impl.utils.newline_QMARK_(ch__$1));\n\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.prev_column \x3d self__.column);\n\n(self__.column \x3d (0));\n\n(self__.line \x3d (self__.line + (1)));\n} else {\n}\n\n(self__.column \x3d (self__.column + (1)));\n\nreturn ch__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d (function (reader,ch){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.line \x3d (self__.line - (1)));\n\n(self__.column \x3d self__.prev_column);\n} else {\n(self__.column \x3d (self__.column - (1)));\n}\n\n(self__.line_start_QMARK_ \x3d self__.prev);\n\nreturn self__.rdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.line | (0));\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.column | (0));\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.file_name;\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line\x22,\x22line\x22,1852876762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22column\x22,\x22column\x22,-576213674,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line-start?\x22,\x22line-start?\x22,1357012474,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev-column\x22,\x22prev-column\x22,324083974,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22file-name\x22,\x22file-name\x22,-13685732,null)], null);\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/IndexingPushbackReader\x22);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/IndexingPushbackReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/IndexingPushbackReader.\n */\ncljs.tools.reader.reader_types.__GT_IndexingPushbackReader \x3d (function cljs$tools$reader$reader_types$__GT_IndexingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name){\nreturn (new cljs.tools.reader.reader_types.IndexingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name));\n});\n\n/**\n * Returns an object of the same type and value as `obj`, with its\n * metadata merged over `m`.\n */\ncljs.tools.reader.reader_types.merge_meta \x3d (function cljs$tools$reader$reader_types$merge_meta(obj,m){\nvar orig_meta \x3d cljs.core.meta(obj);\nreturn cljs.core.with_meta(obj,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(orig_meta,new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539))], 0)));\n});\n/**\n * Returns a string containing the contents of the top most source\n * logging frame.\n */\ncljs.tools.reader.reader_types.peek_source_log \x3d (function cljs$tools$reader$reader_types$peek_source_log(frames){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(frames)),cljs.core.first(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(frames)));\n});\n/**\n * Logs `char` to all currently active source logging frames.\n */\ncljs.tools.reader.reader_types.log_source_char \x3d (function cljs$tools$reader$reader_types$log_source_char(frames,char$){\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(frames);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar buffer \x3d temp__5804__auto__;\nreturn buffer.append(char$);\n} else {\nreturn null;\n}\n});\n/**\n * Removes the last logged character from all currently active source\n * logging frames. Called when pushing a character back.\n */\ncljs.tools.reader.reader_types.drop_last_logged_char \x3d (function cljs$tools$reader$reader_types$drop_last_logged_char(frames){\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(frames);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar buffer \x3d temp__5804__auto__;\nreturn buffer.set(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.str.cljs$core$IFn$_invoke$arity$1(buffer),(0),(buffer.getLength() - (1))));\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.IndexingReader}\n * @implements {cljs.tools.reader.reader_types.Reader}\n * @implements {cljs.tools.reader.reader_types.IPushbackReader}\n*/\ncljs.tools.reader.reader_types.SourceLoggingPushbackReader \x3d (function (rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames){\nthis.rdr \x3d rdr;\nthis.line \x3d line;\nthis.column \x3d column;\nthis.line_start_QMARK_ \x3d line_start_QMARK_;\nthis.prev \x3d prev;\nthis.prev_column \x3d prev_column;\nthis.file_name \x3d file_name;\nthis.frames \x3d frames;\n});\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar temp__5804__auto__ \x3d self__.rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ch \x3d temp__5804__auto__;\nvar ch__$1 \x3d cljs.tools.reader.reader_types.normalize_newline(self__.rdr,ch);\n(self__.prev \x3d self__.line_start_QMARK_);\n\n(self__.line_start_QMARK_ \x3d cljs.tools.reader.impl.utils.newline_QMARK_(ch__$1));\n\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.prev_column \x3d self__.column);\n\n(self__.column \x3d (0));\n\n(self__.line \x3d (self__.line + (1)));\n} else {\n}\n\n(self__.column \x3d (self__.column + (1)));\n\ncljs.tools.reader.reader_types.log_source_char(cljs.core.deref(self__.frames),ch__$1);\n\nreturn ch__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d (function (reader,ch){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.line \x3d (self__.line - (1)));\n\n(self__.column \x3d self__.prev_column);\n} else {\n(self__.column \x3d (self__.column - (1)));\n}\n\n(self__.line_start_QMARK_ \x3d self__.prev);\n\nif(cljs.core.truth_(ch)){\ncljs.tools.reader.reader_types.drop_last_logged_char(cljs.core.deref(self__.frames));\n} else {\n}\n\nreturn self__.rdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.line | (0));\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.column | (0));\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.file_name;\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line\x22,\x22line\x22,1852876762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22column\x22,\x22column\x22,-576213674,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line-start?\x22,\x22line-start?\x22,1357012474,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev-column\x22,\x22prev-column\x22,324083974,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22file-name\x22,\x22file-name\x22,-13685732,null),new cljs.core.Symbol(null,\x22frames\x22,\x22frames\x22,-888748272,null)], null);\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/SourceLoggingPushbackReader\x22);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/SourceLoggingPushbackReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/SourceLoggingPushbackReader.\n */\ncljs.tools.reader.reader_types.__GT_SourceLoggingPushbackReader \x3d (function cljs$tools$reader$reader_types$__GT_SourceLoggingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames){\nreturn (new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames));\n});\n\n/**\n * Returns true if the reader satisfies IndexingReader\n */\ncljs.tools.reader.reader_types.indexing_reader_QMARK_ \x3d (function cljs$tools$reader$reader_types$indexing_reader_QMARK_(rdr){\nif((!((rdr \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d rdr.cljs$tools$reader$reader_types$IndexingReader$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n/**\n * Creates a StringReader from a given string\n */\ncljs.tools.reader.reader_types.string_reader \x3d (function cljs$tools$reader$reader_types$string_reader(s){\nreturn (new cljs.tools.reader.reader_types.StringReader(s,cljs.core.count(s),(0)));\n});\n/**\n * Creates a PushbackReader from a given string\n */\ncljs.tools.reader.reader_types.string_push_back_reader \x3d (function cljs$tools$reader$reader_types$string_push_back_reader(var_args){\nvar G__39111 \x3d arguments.length;\nswitch (G__39111) {\ncase 1:\nreturn cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(s,(1));\n}));\n\n(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,buf_len){\nreturn (new cljs.tools.reader.reader_types.PushbackReader(cljs.tools.reader.reader_types.string_reader(s),cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(buf_len),buf_len,buf_len));\n}));\n\n(cljs.tools.reader.reader_types.string_push_back_reader.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.tools.reader.reader_types.node_readable_push_back_reader \x3d (function cljs$tools$reader$reader_types$node_readable_push_back_reader(readable){\nreturn (new cljs.tools.reader.reader_types.PushbackReader((new cljs.tools.reader.reader_types.NodeReadableReader(readable,null)),cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((1)),(1),(1)));\n});\n/**\n * Creates an IndexingPushbackReader from a given string or PushbackReader\n */\ncljs.tools.reader.reader_types.indexing_push_back_reader \x3d (function cljs$tools$reader$reader_types$indexing_push_back_reader(var_args){\nvar G__39127 \x3d arguments.length;\nswitch (G__39127) {\ncase 1:\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (s_or_rdr){\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,(1));\n}));\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (s_or_rdr,buf_len){\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3(s_or_rdr,buf_len,null);\n}));\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3 \x3d (function (s_or_rdr,buf_len,file_name){\nreturn (new cljs.tools.reader.reader_types.IndexingPushbackReader(((typeof s_or_rdr \x3d\x3d\x3d \x27string\x27)?cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,buf_len):s_or_rdr),(1),(1),true,null,(0),file_name));\n}));\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates a SourceLoggingPushbackReader from a given string or PushbackReader\n */\ncljs.tools.reader.reader_types.source_logging_push_back_reader \x3d (function cljs$tools$reader$reader_types$source_logging_push_back_reader(var_args){\nvar G__39134 \x3d arguments.length;\nswitch (G__39134) {\ncase 1:\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (s_or_rdr){\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,(1));\n}));\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (s_or_rdr,buf_len){\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3(s_or_rdr,buf_len,null);\n}));\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3 \x3d (function (s_or_rdr,buf_len,file_name){\nreturn (new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(((typeof s_or_rdr \x3d\x3d\x3d \x27string\x27)?cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,buf_len):s_or_rdr),(1),(1),true,null,(0),file_name,cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),(new goog.string.StringBuffer()),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),cljs.core.list((0))], null))));\n}));\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reads a line from the reader or from *in* if no reader is specified\n */\ncljs.tools.reader.reader_types.read_line \x3d (function cljs$tools$reader$reader_types$read_line(rdr){\nvar c \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar s \x3d (new goog.string.StringBuffer());\nwhile(true){\nif(cljs.tools.reader.impl.utils.newline_QMARK_(c)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(s);\n} else {\nvar G__39206 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar G__39207 \x3d s.append(c);\nc \x3d G__39206;\ns \x3d G__39207;\ncontinue;\n}\nbreak;\n}\n});\ncljs.tools.reader.reader_types.source_logging_reader_QMARK_ \x3d (function cljs$tools$reader$reader_types$source_logging_reader_QMARK_(rdr){\nreturn (rdr instanceof cljs.tools.reader.reader_types.SourceLoggingPushbackReader);\n});\n/**\n * Returns true if rdr is an IndexingReader and the current char starts a new line\n */\ncljs.tools.reader.reader_types.line_start_QMARK_ \x3d (function cljs$tools$reader$reader_types$line_start_QMARK_(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn ((1) \x3d\x3d\x3d rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null));\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.reader_types.log_source_STAR_ \x3d (function cljs$tools$reader$reader_types$log_source_STAR_(reader,f){\nvar buffer \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(reader.frames));\ntry{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(reader.frames,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([buffer.getLength()], 0));\n\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\nif((((!((ret \x3d\x3d null))))?(((((ret.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d ret.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.tools.reader.reader_types.merge_meta(ret,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),cljs.tools.reader.reader_types.peek_source_log(cljs.core.deref(reader.frames))], null));\n} else {\nreturn ret;\n}\n}finally {cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(reader.frames,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),cljs.core.rest);\n}});\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.impl.inspect.js", true, "goog.provide(\x27cljs.tools.reader.impl.inspect\x27);\ncljs.tools.reader.impl.inspect.inspect_STAR__col \x3d (function cljs$tools$reader$impl$inspect$inspect_STAR__col(truncate,col,start,end){\nvar n \x3d cljs.core.count(col);\nvar l \x3d (cljs.core.truth_(truncate)?(0):(function (){var x__5113__auto__ \x3d (10);\nvar y__5114__auto__ \x3d n;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})());\nvar elements \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.impl.inspect.inspect_STAR_,true),cljs.core.take.cljs$core$IFn$_invoke$arity$2(l,col));\nvar content \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22 \x22,elements));\nvar suffix \x3d (((l \x3c n))?\x22...\x22:null);\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(start),cljs.core.str.cljs$core$IFn$_invoke$arity$1(content),suffix,cljs.core.str.cljs$core$IFn$_invoke$arity$1(end)].join(\x27\x27);\n});\ncljs.tools.reader.impl.inspect.dispatch_inspect \x3d (function cljs$tools$reader$impl$inspect$dispatch_inspect(_,x){\nif((x \x3d\x3d null)){\nreturn new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501);\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586);\n} else {\nif((x instanceof cljs.core.Keyword)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif((x instanceof cljs.core.Symbol)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif(cljs.core.vector_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158);\n} else {\nif(cljs.core.list_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683);\n} else {\nif(cljs.core.map_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif(cljs.core.set_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,true)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,false)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nreturn cljs.core.type(x);\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.impl.inspect !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.impl.inspect.inspect_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.impl.inspect.inspect_STAR_ \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__39033 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__39033.cljs$core$IFn$_invoke$arity$0 ? fexpr__39033.cljs$core$IFn$_invoke$arity$0() : fexpr__39033.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.tools.reader.impl.inspect\x22,\x22inspect*\x22),cljs.tools.reader.impl.inspect.dispatch_inspect,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),(function (truncate,x){\nvar n \x3d (cljs.core.truth_(truncate)?(5):(20));\nvar suffix \x3d (((x.length \x3e n))?\x22...\\\x22\x22:\x22\\\x22\x22);\nreturn [\x22\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x.substring((0),(function (){var x__5113__auto__ \x3d n;\nvar y__5114__auto__ \x3d x.length;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})())),suffix].join(\x27\x27);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047),(function (truncate,x){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(x);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.IndexedSeq,(function (truncate,x){\nreturn \x22\x3cindexed seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.PersistentArrayMapSeq,(function (truncate,x){\nreturn \x22\x3cmap seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.NodeSeq,(function (truncate,x){\nreturn \x22\x3cmap seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.Cons,(function (truncate,x){\nreturn \x22\x3ccons\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.LazySeq,(function (truncate,x){\nreturn \x22\x3clazy seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501),(function (_,___$1){\nreturn \x22nil\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),(function (truncate,col){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,col,\x22(\x22,\x22)\x22);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),(function (truncate,m){\nvar len \x3d cljs.core.count(m);\nvar n_shown \x3d (cljs.core.truth_(truncate)?(0):len);\nvar contents \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n_shown,m));\nvar suffix \x3d (((len \x3e n_shown))?\x22...}\x22:\x22}\x22);\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,contents,\x22{\x22,suffix);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),(function (truncate,col){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,col,\x22#{\x22,\x22}\x22);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),(function (truncate,col){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,col,\x22[\x22,\x22]\x22);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (truncate,x){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(x)], 0));\n}));\n/**\n * Return a string description of the value supplied.\n * May be the a string version of the value itself (e.g. \x22true\x22)\n * or it may be a description (e.g. \x22an instance of Foo\x22).\n * If truncate is true then return a very terse version of\n * the inspection.\n */\ncljs.tools.reader.impl.inspect.inspect \x3d (function cljs$tools$reader$impl$inspect$inspect(var_args){\nvar G__39042 \x3d arguments.length;\nswitch (G__39042) {\ncase 1:\nreturn cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2(false,x);\n}));\n\n(cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2 \x3d (function (truncate,x){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2(truncate,x);\n}));\n\n(cljs.tools.reader.impl.inspect.inspect.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.impl.errors.js", true, "goog.provide(\x27cljs.tools.reader.impl.errors\x27);\ncljs.tools.reader.impl.errors.ex_details \x3d (function cljs$tools$reader$impl$errors$ex_details(rdr,ex_type){\nvar details \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098),new cljs.core.Keyword(null,\x22ex-kind\x22,\x22ex-kind\x22,1581199296),ex_type], null);\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(details,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.tools.reader.reader_types.get_file_name(rdr),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.tools.reader.reader_types.get_line_number(rdr),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),cljs.tools.reader.reader_types.get_column_number(rdr)], 0));\n} else {\nreturn details;\n}\n});\n/**\n * Throw an ex-info error.\n */\ncljs.tools.reader.impl.errors.throw_ex \x3d (function cljs$tools$reader$impl$errors$throw_ex(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39354 \x3d arguments.length;\nvar i__5750__auto___39355 \x3d (0);\nwhile(true){\nif((i__5750__auto___39355 \x3c len__5749__auto___39354)){\nargs__5755__auto__.push((arguments[i__5750__auto___39355]));\n\nvar G__39356 \x3d (i__5750__auto___39355 + (1));\ni__5750__auto___39355 \x3d G__39356;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,ex_type,msg){\nvar details \x3d cljs.tools.reader.impl.errors.ex_details(rdr,ex_type);\nvar file \x3d new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(details);\nvar line \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(details);\nvar col \x3d new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$1(details);\nvar msg1 \x3d (cljs.core.truth_(file)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(file),\x22 \x22].join(\x27\x27):null);\nvar msg2 \x3d (cljs.core.truth_(line)?[\x22[line \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22, col \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col),\x22]\x22].join(\x27\x27):null);\nvar msg3 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d msg1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn msg2;\n}\n})())?\x22 \x22:null);\nvar full_msg \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,msg1,msg2,msg3,msg);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(full_msg,details);\n}));\n\n(cljs.tools.reader.impl.errors.throw_ex.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.throw_ex.cljs$lang$applyTo \x3d (function (seq39171){\nvar G__39172 \x3d cljs.core.first(seq39171);\nvar seq39171__$1 \x3d cljs.core.next(seq39171);\nvar G__39173 \x3d cljs.core.first(seq39171__$1);\nvar seq39171__$2 \x3d cljs.core.next(seq39171__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39172,G__39173,seq39171__$2);\n}));\n\n/**\n * Throws an ExceptionInfo with the given message.\n * If rdr is an IndexingReader, additional information about column and line number is provided\n */\ncljs.tools.reader.impl.errors.reader_error \x3d (function cljs$tools$reader$impl$errors$reader_error(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39366 \x3d arguments.length;\nvar i__5750__auto___39367 \x3d (0);\nwhile(true){\nif((i__5750__auto___39367 \x3c len__5749__auto___39366)){\nargs__5755__auto__.push((arguments[i__5750__auto___39367]));\n\nvar G__39368 \x3d (i__5750__auto___39367 + (1));\ni__5750__auto___39367 \x3d G__39368;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,msgs){\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22reader-error\x22,\x22reader-error\x22,1610253121),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msgs)], 0));\n}));\n\n(cljs.tools.reader.impl.errors.reader_error.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.reader_error.cljs$lang$applyTo \x3d (function (seq39195){\nvar G__39196 \x3d cljs.core.first(seq39195);\nvar seq39195__$1 \x3d cljs.core.next(seq39195);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39196,seq39195__$1);\n}));\n\n/**\n * Throws an ExceptionInfo with the given message.\n * If rdr is an IndexingReader, additional information about column and line number is provided\n */\ncljs.tools.reader.impl.errors.illegal_arg_error \x3d (function cljs$tools$reader$impl$errors$illegal_arg_error(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39373 \x3d arguments.length;\nvar i__5750__auto___39374 \x3d (0);\nwhile(true){\nif((i__5750__auto___39374 \x3c len__5749__auto___39373)){\nargs__5755__auto__.push((arguments[i__5750__auto___39374]));\n\nvar G__39375 \x3d (i__5750__auto___39374 + (1));\ni__5750__auto___39374 \x3d G__39375;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,msgs){\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22illegal-argument\x22,\x22illegal-argument\x22,-1845493170),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msgs)], 0));\n}));\n\n(cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$applyTo \x3d (function (seq39201){\nvar G__39202 \x3d cljs.core.first(seq39201);\nvar seq39201__$1 \x3d cljs.core.next(seq39201);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39202,seq39201__$1);\n}));\n\n/**\n * Throws an ExceptionInfo with the given message.\n * If rdr is an IndexingReader, additional information about column and line number is provided\n */\ncljs.tools.reader.impl.errors.eof_error \x3d (function cljs$tools$reader$impl$errors$eof_error(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39379 \x3d arguments.length;\nvar i__5750__auto___39380 \x3d (0);\nwhile(true){\nif((i__5750__auto___39380 \x3c len__5749__auto___39379)){\nargs__5755__auto__.push((arguments[i__5750__auto___39380]));\n\nvar G__39381 \x3d (i__5750__auto___39380 + (1));\ni__5750__auto___39380 \x3d G__39381;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,msgs){\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msgs)], 0));\n}));\n\n(cljs.tools.reader.impl.errors.eof_error.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.eof_error.cljs$lang$applyTo \x3d (function (seq39208){\nvar G__39209 \x3d cljs.core.first(seq39208);\nvar seq39208__$1 \x3d cljs.core.next(seq39208);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39209,seq39208__$1);\n}));\n\ncljs.tools.reader.impl.errors.throw_eof_delimited \x3d (function cljs$tools$reader$impl$errors$throw_eof_delimited(var_args){\nvar G__39217 \x3d arguments.length;\nswitch (G__39217) {\ncase 4:\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4 \x3d (function (rdr,kind,column,line){\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,line,column,null);\n}));\n\n(cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5 \x3d (function (rdr,kind,line,column,n){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading \x22,(cljs.core.truth_(n)?[\x22item \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 of \x22].join(\x27\x27):null),cljs.core.name(kind),(cljs.core.truth_(line)?[\x22, starting at line \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22 and column \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):null),\x22.\x22], 0));\n}));\n\n(cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.tools.reader.impl.errors.throw_odd_map \x3d (function cljs$tools$reader$impl$errors$throw_odd_map(rdr,line,col,elements){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22The map literal starting with \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(cljs.core.first(elements)),(cljs.core.truth_(line)?[\x22 on line \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22 column \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)].join(\x27\x27):null),\x22 contains \x22,cljs.core.count(elements),\x22 form(s). Map literals must contain an even number of forms.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_number \x3d (function cljs$tools$reader$impl$errors$throw_invalid_number(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid number: \x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_literal \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_literal(rdr,token){\nthrow cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode literal: \\\\\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_escape \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_escape(rdr,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode escape: \\\\u\x22,ch,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid \x3d (function cljs$tools$reader$impl$errors$throw_invalid(rdr,kind,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid \x22,cljs.core.name(kind),\x22: \x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_at_start \x3d (function cljs$tools$reader$impl$errors$throw_eof_at_start(rdr,kind){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading start of \x22,cljs.core.name(kind),\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_char \x3d (function cljs$tools$reader$impl$errors$throw_bad_char(rdr,kind,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid character: \x22,ch,\x22 found while reading \x22,cljs.core.name(kind),\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_at_dispatch \x3d (function cljs$tools$reader$impl$errors$throw_eof_at_dispatch(rdr){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading dispatch character.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_unmatch_delimiter \x3d (function cljs$tools$reader$impl$errors$throw_unmatch_delimiter(rdr,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unmatched delimiter \x22,ch,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_reading \x3d (function cljs$tools$reader$impl$errors$throw_eof_reading(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39394 \x3d arguments.length;\nvar i__5750__auto___39395 \x3d (0);\nwhile(true){\nif((i__5750__auto___39395 \x3c len__5749__auto___39394)){\nargs__5755__auto__.push((arguments[i__5750__auto___39395]));\n\nvar G__39396 \x3d (i__5750__auto___39395 + (1));\ni__5750__auto___39395 \x3d G__39396;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,kind,start){\nvar init \x3d (function (){var G__39246 \x3d kind;\nvar G__39246__$1 \x3d (((G__39246 instanceof cljs.core.Keyword))?G__39246.fqn:null);\nswitch (G__39246__$1) {\ncase \x22regex\x22:\nreturn \x22#\\\x22\x22;\n\nbreak;\ncase \x22string\x22:\nreturn \x22\\\x22\x22;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__39246__$1)].join(\x27\x27)));\n\n}\n})();\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF reading \x22,cljs.core.name(kind),\x22 starting \x22,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,init,start),\x22.\x22], 0));\n}));\n\n(cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$applyTo \x3d (function (seq39243){\nvar G__39244 \x3d cljs.core.first(seq39243);\nvar seq39243__$1 \x3d cljs.core.next(seq39243);\nvar G__39245 \x3d cljs.core.first(seq39243__$1);\nvar seq39243__$2 \x3d cljs.core.next(seq39243__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39244,G__39245,seq39243__$2);\n}));\n\ncljs.tools.reader.impl.errors.throw_invalid_unicode_char \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_char(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode character \\\\\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_digit_in_token(rdr,ch,token){\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid digit \x22,ch,\x22 in unicode character \\\\\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_digit \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_digit(rdr,ch){\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid digit \x22,ch,\x22 in unicode character.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_len \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_len(rdr,actual,expected){\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode literal. Unicode literals should be \x22,expected,\x22characters long. \x22,\x22Value supplied is \x22,actual,\x22 characters long.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_character_literal \x3d (function cljs$tools$reader$impl$errors$throw_invalid_character_literal(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid character literal \\\\u\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_octal_len \x3d (function cljs$tools$reader$impl$errors$throw_invalid_octal_len(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid octal escape sequence in a character literal: \x22,token,\x22. Octal escape sequences must be 3 or fewer digits.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_octal_number \x3d (function cljs$tools$reader$impl$errors$throw_bad_octal_number(rdr){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Octal escape sequence must be in range [0, 377].\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_unsupported_character \x3d (function cljs$tools$reader$impl$errors$throw_unsupported_character(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unsupported character: \x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_in_character \x3d (function cljs$tools$reader$impl$errors$throw_eof_in_character(rdr){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading character.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_escape_char \x3d (function cljs$tools$reader$impl$errors$throw_bad_escape_char(rdr,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unsupported escape character: \\\\\x22,ch,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_single_colon \x3d (function cljs$tools$reader$impl$errors$throw_single_colon(rdr){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22A single colon is not a valid keyword.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_metadata \x3d (function cljs$tools$reader$impl$errors$throw_bad_metadata(rdr,x){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Metadata cannot be \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(x),\x22. Metadata must be a Symbol, Keyword, String, Map or Vector.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_metadata_target \x3d (function cljs$tools$reader$impl$errors$throw_bad_metadata_target(rdr,target){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Metadata can not be applied to \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(target),\x22. \x22,\x22Metadata can only be applied to IMetas.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_feature_not_keyword \x3d (function cljs$tools$reader$impl$errors$throw_feature_not_keyword(rdr,feature){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature cannot be \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(feature),\x22. Features must be keywords.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_ns_map_no_map \x3d (function cljs$tools$reader$impl$errors$throw_ns_map_no_map(rdr,ns_name){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Namespaced map with namespace \x22,ns_name,\x22 does not specify a map.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_ns \x3d (function cljs$tools$reader$impl$errors$throw_bad_ns(rdr,ns_name){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid value used as namespace in namespaced map: \x22,ns_name,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_reader_tag \x3d (function cljs$tools$reader$impl$errors$throw_bad_reader_tag(rdr,tag){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid reader tag: \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(tag),\x22. Reader tags must be symbols.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_unknown_reader_tag \x3d (function cljs$tools$reader$impl$errors$throw_unknown_reader_tag(rdr,tag){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22No reader function for tag \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(tag),\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.duplicate_keys_error \x3d (function cljs$tools$reader$impl$errors$duplicate_keys_error(msg,coll){\nvar duplicates \x3d (function cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates(seq){\nvar iter__5503__auto__ \x3d (function cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__39308(s__39309){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__39309__$1 \x3d s__39309;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__39309__$1);\nif(temp__5804__auto__){\nvar s__39309__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__39309__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__39309__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__39311 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__39310 \x3d (0);\nwhile(true){\nif((i__39310 \x3c size__5502__auto__)){\nvar vec__39321 \x3d cljs.core._nth(c__5501__auto__,i__39310);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39321,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39321,(1),null);\nif((freq \x3e (1))){\ncljs.core.chunk_append(b__39311,id);\n\nvar G__39406 \x3d (i__39310 + (1));\ni__39310 \x3d G__39406;\ncontinue;\n} else {\nvar G__39407 \x3d (i__39310 + (1));\ni__39310 \x3d G__39407;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39311),cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__39308(cljs.core.chunk_rest(s__39309__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39311),null);\n}\n} else {\nvar vec__39328 \x3d cljs.core.first(s__39309__$2);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39328,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39328,(1),null);\nif((freq \x3e (1))){\nreturn cljs.core.cons(id,cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__39308(cljs.core.rest(s__39309__$2)));\n} else {\nvar G__39410 \x3d cljs.core.rest(s__39309__$2);\ns__39309__$1 \x3d G__39410;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(cljs.core.frequencies(seq));\n});\nvar dups \x3d duplicates(coll);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,msg,(((cljs.core.count(dups) \x3e (1)))?\x22s\x22:null),\x22: \x22,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,dups));\n});\ncljs.tools.reader.impl.errors.throw_dup_keys \x3d (function cljs$tools$reader$impl$errors$throw_dup_keys(rdr,kind,ks){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.impl.errors.duplicate_keys_error([clojure.string.capitalize(cljs.core.name(kind)),\x22 literal contains duplicate key\x22].join(\x27\x27),ks)], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_error \x3d (function cljs$tools$reader$impl$errors$throw_eof_error(rdr,line){\nif(cljs.core.truth_(line)){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22EOF while reading, starting at line \x22,line,\x22.\x22], 0));\n} else {\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22EOF while reading.\x22], 0));\n}\n});\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.impl.commons.js", true, "goog.provide(\x27cljs.tools.reader.impl.commons\x27);\n/**\n * Checks whether the reader is at the start of a number literal\n */\ncljs.tools.reader.impl.commons.number_literal_QMARK_ \x3d (function cljs$tools$reader$impl$commons$number_literal_QMARK_(reader,initch){\nreturn ((cljs.tools.reader.impl.utils.numeric_QMARK_(initch)) || ((((((\x22+\x22 \x3d\x3d\x3d initch)) || ((\x22-\x22 \x3d\x3d\x3d initch)))) \x26\x26 (cljs.tools.reader.impl.utils.numeric_QMARK_(reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null))))));\n});\n/**\n * Read until first character that doesn\x27t match pred, returning\n * char.\n */\ncljs.tools.reader.impl.commons.read_past \x3d (function cljs$tools$reader$impl$commons$read_past(pred,rdr){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(ch) : pred.call(null,ch))){\nvar G__39437 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch \x3d G__39437;\ncontinue;\n} else {\nreturn ch;\n}\nbreak;\n}\n});\n/**\n * Advances the reader to the end of a line. Returns the reader\n */\ncljs.tools.reader.impl.commons.skip_line \x3d (function cljs$tools$reader$impl$commons$skip_line(reader){\nwhile(true){\nif(cljs.tools.reader.impl.utils.newline_QMARK_(reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null))){\n} else {\ncontinue;\n}\nbreak;\n}\n\nreturn reader;\n});\ncljs.tools.reader.impl.commons.int_pattern \x3d /^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+)|0[0-9]+)(N)?$/;\ncljs.tools.reader.impl.commons.ratio_pattern \x3d /([-+]?[0-9]+)\\/([0-9]+)/;\ncljs.tools.reader.impl.commons.float_pattern \x3d /([-+]?[0-9]+(\\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?/;\ncljs.tools.reader.impl.commons.match_int \x3d (function cljs$tools$reader$impl$commons$match_int(s){\nvar m \x3d cljs.core.vec(cljs.core.re_find(cljs.tools.reader.impl.commons.int_pattern,s));\nif((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((2)) : m.call(null,(2))) \x3d\x3d null)))){\nreturn (0);\n} else {\nvar negate_QMARK_ \x3d (\x22-\x22 \x3d\x3d\x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((1)) : m.call(null,(1))));\nvar a \x3d (((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((3)) : m.call(null,(3))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((3)) : m.call(null,(3))),(10)], null):(((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((4)) : m.call(null,(4))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((4)) : m.call(null,(4))),(16)], null):(((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((5)) : m.call(null,(5))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((5)) : m.call(null,(5))),(8)], null):(((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((7)) : m.call(null,(7))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((7)) : m.call(null,(7))),parseInt((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((6)) : m.call(null,(6))))], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null)\n))));\nvar n \x3d (a.cljs$core$IFn$_invoke$arity$1 ? a.cljs$core$IFn$_invoke$arity$1((0)) : a.call(null,(0)));\nif((n \x3d\x3d null)){\nreturn null;\n} else {\nvar bn \x3d parseInt(n,(a.cljs$core$IFn$_invoke$arity$1 ? a.cljs$core$IFn$_invoke$arity$1((1)) : a.call(null,(1))));\nvar bn__$1 \x3d ((negate_QMARK_)?((-1) * bn):bn);\nif(cljs.core.truth_(isNaN(bn__$1))){\nreturn null;\n} else {\nreturn bn__$1;\n}\n}\n}\n});\ncljs.tools.reader.impl.commons.match_ratio \x3d (function cljs$tools$reader$impl$commons$match_ratio(s){\nvar m \x3d cljs.core.vec(cljs.core.re_find(cljs.tools.reader.impl.commons.ratio_pattern,s));\nvar numerator \x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((1)) : m.call(null,(1)));\nvar denominator \x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((2)) : m.call(null,(2)));\nvar numerator__$1 \x3d (cljs.core.truth_(cljs.core.re_find(/^\\+/,numerator))?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(numerator,(1)):numerator);\nreturn (parseInt(numerator__$1) / parseInt(denominator));\n});\ncljs.tools.reader.impl.commons.match_float \x3d (function cljs$tools$reader$impl$commons$match_float(s){\nvar m \x3d cljs.core.vec(cljs.core.re_find(cljs.tools.reader.impl.commons.float_pattern,s));\nif((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((4)) : m.call(null,(4))) \x3d\x3d null)))){\nreturn parseFloat((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((1)) : m.call(null,(1))));\n} else {\nreturn parseFloat(s);\n}\n});\ncljs.tools.reader.impl.commons.matches_QMARK_ \x3d (function cljs$tools$reader$impl$commons$matches_QMARK_(pattern,s){\nvar vec__39414 \x3d cljs.core.re_find(pattern,s);\nvar match \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39414,(0),null);\nreturn (match \x3d\x3d\x3d s);\n});\ncljs.tools.reader.impl.commons.match_number \x3d (function cljs$tools$reader$impl$commons$match_number(s){\nif(cljs.tools.reader.impl.commons.matches_QMARK_(cljs.tools.reader.impl.commons.int_pattern,s)){\nreturn cljs.tools.reader.impl.commons.match_int(s);\n} else {\nif(cljs.tools.reader.impl.commons.matches_QMARK_(cljs.tools.reader.impl.commons.float_pattern,s)){\nreturn cljs.tools.reader.impl.commons.match_float(s);\n} else {\nif(cljs.tools.reader.impl.commons.matches_QMARK_(cljs.tools.reader.impl.commons.ratio_pattern,s)){\nreturn cljs.tools.reader.impl.commons.match_ratio(s);\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * Parses a string into a vector of the namespace and symbol\n */\ncljs.tools.reader.impl.commons.parse_symbol \x3d (function cljs$tools$reader$impl$commons$parse_symbol(token){\nif((((\x22\x22 \x3d\x3d\x3d token)) || (((/:$/.test(token) \x3d\x3d\x3d true) || (/^::/.test(token) \x3d\x3d\x3d true))))){\nreturn null;\n} else {\nvar ns_idx \x3d token.indexOf(\x22/\x22);\nvar ns \x3d (((ns_idx \x3e (0)))?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(token,(0),ns_idx):null);\nif((!((ns \x3d\x3d null)))){\nvar ns_idx__$1 \x3d (ns_idx + (1));\nif((ns_idx__$1 \x3d\x3d\x3d cljs.core.count(token))){\nreturn null;\n} else {\nvar sym \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,ns_idx__$1);\nif((((!(cljs.tools.reader.impl.utils.numeric_QMARK_(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(sym,(0)))))) \x26\x26 ((((!((\x22\x22 \x3d\x3d\x3d sym)))) \x26\x26 (((/:$/.test(ns) \x3d\x3d\x3d false) \x26\x26 ((((sym \x3d\x3d\x3d \x22/\x22)) || (((-1) \x3d\x3d\x3d sym.indexOf(\x22/\x22))))))))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,sym], null);\n} else {\nreturn null;\n}\n}\n} else {\nif((((token \x3d\x3d\x3d \x22/\x22)) || (((-1) \x3d\x3d\x3d token.indexOf(\x22/\x22))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,token], null);\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.tools.reader.impl.commons.read_comment \x3d (function cljs$tools$reader$impl$commons$read_comment(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39441 \x3d arguments.length;\nvar i__5750__auto___39442 \x3d (0);\nwhile(true){\nif((i__5750__auto___39442 \x3c len__5749__auto___39441)){\nargs__5755__auto__.push((arguments[i__5750__auto___39442]));\n\nvar G__39443 \x3d (i__5750__auto___39442 + (1));\ni__5750__auto___39442 \x3d G__39443;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,_){\nreturn cljs.tools.reader.impl.commons.skip_line(rdr);\n}));\n\n(cljs.tools.reader.impl.commons.read_comment.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.commons.read_comment.cljs$lang$applyTo \x3d (function (seq39435){\nvar G__39436 \x3d cljs.core.first(seq39435);\nvar seq39435__$1 \x3d cljs.core.next(seq39435);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39436,seq39435__$1);\n}));\n\ncljs.tools.reader.impl.commons.throwing_reader \x3d (function cljs$tools$reader$impl$commons$throwing_reader(msg){\nreturn (function() { \nvar G__39444__delegate \x3d function (rdr,_){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg], 0));\n};\nvar G__39444 \x3d function (rdr,var_args){\nvar _ \x3d null;\nif (arguments.length \x3e 1) {\nvar G__39446__i \x3d 0, G__39446__a \x3d new Array(arguments.length -  1);\nwhile (G__39446__i \x3c G__39446__a.length) {G__39446__a[G__39446__i] \x3d arguments[G__39446__i + 1]; ++G__39446__i;}\n  _ \x3d new cljs.core.IndexedSeq(G__39446__a,0,null);\n} \nreturn G__39444__delegate.call(this,rdr,_);};\nG__39444.cljs$lang$maxFixedArity \x3d 1;\nG__39444.cljs$lang$applyTo \x3d (function (arglist__39448){\nvar rdr \x3d cljs.core.first(arglist__39448);\nvar _ \x3d cljs.core.rest(arglist__39448);\nreturn G__39444__delegate(rdr,_);\n});\nG__39444.cljs$core$IFn$_invoke$arity$variadic \x3d G__39444__delegate;\nreturn G__39444;\n})()\n;\n});\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.js", true, "goog.provide(\x27cljs.tools.reader\x27);\ngoog.scope(function(){\n  cljs.tools.reader.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\n\n\n\n\n\n\ncljs.tools.reader.macro_terminating_QMARK_ \x3d (function cljs$tools$reader$macro_terminating_QMARK_(ch){\nvar G__39477 \x3d ch;\nswitch (G__39477) {\ncase \x22\\\x22\x22:\ncase \x22;\x22:\ncase \x22@\x22:\ncase \x22^\x22:\ncase \x22`\x22:\ncase \x22~\x22:\ncase \x22(\x22:\ncase \x22)\x22:\ncase \x22[\x22:\ncase \x22]\x22:\ncase \x22{\x22:\ncase \x22}\x22:\ncase \x22\\\\\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\ncljs.tools.reader.sb \x3d (new goog.string.StringBuffer());\n/**\n * Read in a single logical token from the reader\n */\ncljs.tools.reader.read_token \x3d (function cljs$tools$reader$read_token(rdr,kind,initch){\nif((initch \x3d\x3d null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_at_start(rdr,kind);\n} else {\ncljs.tools.reader.sb.clear();\n\nvar ch \x3d initch;\nwhile(true){\nif(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (((cljs.tools.reader.macro_terminating_QMARK_(ch)) || ((ch \x3d\x3d null)))))){\nif((ch \x3d\x3d null)){\n} else {\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}\n\nreturn cljs.tools.reader.sb.toString();\n} else {\ncljs.tools.reader.sb.append(ch);\n\nvar G__40163 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch \x3d G__40163;\ncontinue;\n}\nbreak;\n}\n}\n});\ncljs.tools.reader.read_dispatch \x3d (function cljs$tools$reader$read_dispatch(rdr,_,opts,pending_forms){\nvar temp__5802__auto__ \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ch \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.dispatch_macros.call(null,ch));\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar dm \x3d temp__5802__auto____$1;\nreturn (dm.cljs$core$IFn$_invoke$arity$4 ? dm.cljs$core$IFn$_invoke$arity$4(rdr,ch,opts,pending_forms) : dm.call(null,rdr,ch,opts,pending_forms));\n} else {\nvar G__39491 \x3d (function (){var G__39495 \x3d rdr;\nG__39495.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n\nreturn G__39495;\n})();\nvar G__39492 \x3d ch;\nvar G__39493 \x3d opts;\nvar G__39494 \x3d pending_forms;\nreturn (cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4(G__39491,G__39492,G__39493,G__39494) : cljs.tools.reader.read_tagged.call(null,G__39491,G__39492,G__39493,G__39494));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_at_dispatch(rdr);\n}\n});\ncljs.tools.reader.read_unmatched_delimiter \x3d (function cljs$tools$reader$read_unmatched_delimiter(rdr,ch,opts,pending_forms){\nreturn cljs.tools.reader.impl.errors.throw_unmatch_delimiter(rdr,ch);\n});\ncljs.tools.reader.read_regex \x3d (function cljs$tools$reader$read_regex(rdr,ch,opts,pending_forms){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch__$1 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((\x22\\\x22\x22 \x3d\x3d\x3d ch__$1)){\nreturn cljs.core.re_pattern(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\nif((ch__$1 \x3d\x3d null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0));\n} else {\nsb.append(ch__$1);\n\nif((\x22\\\\\x22 \x3d\x3d\x3d ch__$1)){\nvar ch_40168__$2 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((ch_40168__$2 \x3d\x3d null)){\ncljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0));\n} else {\n}\n\nsb.append(ch_40168__$2);\n} else {\n}\n\nvar G__40169 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch__$1 \x3d G__40169;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.read_unicode_char \x3d (function cljs$tools$reader$read_unicode_char(var_args){\nvar G__39515 \x3d arguments.length;\nswitch (G__39515) {\ncase 4:\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4 \x3d (function (token,offset,length,base){\nvar l \x3d (offset + length);\nif((cljs.core.count(token) \x3d\x3d\x3d l)){\n} else {\ncljs.tools.reader.impl.errors.throw_invalid_unicode_literal(null,token);\n}\n\nvar i \x3d offset;\nvar uc \x3d (0);\nwhile(true){\nif((i \x3d\x3d\x3d l)){\nreturn String.fromCharCode(uc);\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),base);\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token(null,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),token);\n} else {\nvar G__40171 \x3d (i + (1));\nvar G__40172 \x3d (d + (uc * base));\ni \x3d G__40171;\nuc \x3d G__40172;\ncontinue;\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5 \x3d (function (rdr,initch,base,length,exact_QMARK_){\nvar i \x3d (1);\nvar uc \x3d cljs.tools.reader.impl.utils.char_code(initch,base);\nwhile(true){\nif((uc \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,initch);\n} else {\nif((!((i \x3d\x3d\x3d length)))){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nif(cljs.core.truth_(exact_QMARK_)){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_len(rdr,i,length);\n} else {\nreturn String.fromCharCode(uc);\n}\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(ch,base);\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,ch);\n} else {\nvar G__40178 \x3d (i + (1));\nvar G__40179 \x3d (d + (uc * base));\ni \x3d G__40178;\nuc \x3d G__40179;\ncontinue;\n}\n}\n} else {\nreturn String.fromCharCode(uc);\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.read_unicode_char.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.tools.reader.upper_limit \x3d \x22\\uD7FF\x22.charCodeAt((0));\ncljs.tools.reader.lower_limit \x3d \x22\\uE000\x22.charCodeAt((0));\ncljs.tools.reader.valid_octal_QMARK_ \x3d (function cljs$tools$reader$valid_octal_QMARK_(token,base){\nreturn (parseInt(token,base) \x3c\x3d (255));\n});\n/**\n * Read in a character literal\n */\ncljs.tools.reader.read_char_STAR_ \x3d (function cljs$tools$reader$read_char_STAR_(rdr,backslash,opts,pending_forms){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((!((ch \x3d\x3d null)))){\nvar token \x3d ((((cljs.tools.reader.macro_terminating_QMARK_(ch)) || (cljs.tools.reader.impl.utils.whitespace_QMARK_(ch))))?cljs.core.str.cljs$core$IFn$_invoke$arity$1(ch):cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\x22character\x22,\x22character\x22,380652989),ch));\nvar token_len \x3d token.length;\nif(((1) \x3d\x3d\x3d token_len)){\nreturn token.charAt((0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22newline\x22)){\nreturn \x22\\n\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22space\x22)){\nreturn \x22 \x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22tab\x22)){\nreturn \x22\\t\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22backspace\x22)){\nreturn \x22\\b\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22formfeed\x22)){\nreturn \x22\\f\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22return\x22)){\nreturn \x22\\r\x22;\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22u\x22))){\nvar c \x3d cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,(1),(4),(16));\nvar ic \x3d c.charCodeAt((0));\nif((((ic \x3e cljs.tools.reader.upper_limit)) \x26\x26 ((ic \x3c cljs.tools.reader.lower_limit)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_character_literal(rdr,ic.toString((16)));\n} else {\nreturn c;\n}\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22o\x22))){\nvar len \x3d (token_len - (1));\nif((len \x3e (3))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_octal_len(rdr,token);\n} else {\nvar offset \x3d (1);\nvar base \x3d (8);\nvar uc \x3d cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,offset,len,base);\nif((!(cljs.tools.reader.valid_octal_QMARK_(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,offset),base)))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn uc;\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unsupported_character(rdr,token);\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.starting_line_col_info \x3d (function cljs$tools$reader$starting_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),((rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null) - (1)) | (0))], null);\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.ending_line_col_info \x3d (function cljs$tools$reader$ending_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null)], null);\n} else {\nreturn null;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.READ_EOF !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.READ_EOF \x3d (new Object());\n}\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.READ_FINISHED !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.READ_FINISHED \x3d (new Object());\n}\ncljs.tools.reader._STAR_read_delim_STAR_ \x3d false;\ncljs.tools.reader.read_delimited_internal \x3d (function cljs$tools$reader$read_delimited_internal(kind,delim,rdr,opts,pending_forms){\nvar vec__39568 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39568,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39568,(1),null);\nvar delim__$1 \x3d cljs.tools.reader.impl.utils.char$(delim);\nvar a \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nvar form \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms));\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn cljs.core.persistent_BANG_(a);\n} else {\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_EOF)){\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,start_line,start_column,cljs.core.count(a));\n} else {\nvar G__40195 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,form);\na \x3d G__40195;\ncontinue;\n}\n}\nbreak;\n}\n});\n/**\n * Reads and returns a collection ended with delim\n */\ncljs.tools.reader.read_delimited \x3d (function cljs$tools$reader$read_delimited(kind,delim,rdr,opts,pending_forms){\nvar _STAR_read_delim_STAR__orig_val__39575 \x3d cljs.tools.reader._STAR_read_delim_STAR_;\nvar _STAR_read_delim_STAR__temp_val__39576 \x3d true;\n(cljs.tools.reader._STAR_read_delim_STAR_ \x3d _STAR_read_delim_STAR__temp_val__39576);\n\ntry{return cljs.tools.reader.read_delimited_internal(kind,delim,rdr,opts,pending_forms);\n}finally {(cljs.tools.reader._STAR_read_delim_STAR_ \x3d _STAR_read_delim_STAR__orig_val__39575);\n}});\n/**\n * Read in a list, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_list \x3d (function cljs$tools$reader$read_list(rdr,_,opts,pending_forms){\nvar vec__39586 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39586,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39586,(1),null);\nvar the_list \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),\x22)\x22,rdr,opts,pending_forms);\nvar vec__39589 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39589,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39589,(1),null);\nreturn cljs.core.with_meta(((cljs.core.empty_QMARK_(the_list))?cljs.core.List.EMPTY:cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,the_list)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read in a vector, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_vector \x3d (function cljs$tools$reader$read_vector(rdr,_,opts,pending_forms){\nvar vec__39610 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39610,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39610,(1),null);\nvar the_vector \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),\x22]\x22,rdr,opts,pending_forms);\nvar vec__39613 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39613,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39613,(1),null);\nreturn cljs.core.with_meta(the_vector,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read in a map, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_map \x3d (function cljs$tools$reader$read_map(rdr,_,opts,pending_forms){\nvar vec__39635 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39635,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39635,(1),null);\nvar the_map \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),\x22}\x22,rdr,opts,pending_forms);\nvar map_count \x3d cljs.core.count(the_map);\nvar ks \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),the_map);\nvar key_set \x3d cljs.core.set(ks);\nvar vec__39638 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39638,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39638,(1),null);\nif(cljs.core.odd_QMARK_(map_count)){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,start_line,start_column,the_map);\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(key_set),cljs.core.count(ks))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),ks);\n}\n\nreturn cljs.core.with_meta((((map_count \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)))?cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array(the_map),true,true):cljs.core.PersistentHashMap.fromArray(cljs.core.to_array(the_map),true)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\ncljs.tools.reader.read_number \x3d (function cljs$tools$reader$read_number(rdr,initch){\nvar sb \x3d (function (){var G__39647 \x3d (new goog.string.StringBuffer());\nG__39647.append(initch);\n\nreturn G__39647;\n})();\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\nif((ch \x3d\x3d null)){\n} else {\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}\n\nvar or__5025__auto__ \x3d cljs.tools.reader.impl.commons.match_number(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid_number(rdr,s);\n}\n} else {\nvar G__40214 \x3d (function (){var G__39650 \x3d sb;\nG__39650.append(ch);\n\nreturn G__39650;\n})();\nvar G__40215 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__40214;\nch \x3d G__40215;\ncontinue;\n}\nbreak;\n}\n});\ncljs.tools.reader.escape_char \x3d (function cljs$tools$reader$escape_char(sb,rdr){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar G__39653 \x3d ch;\nswitch (G__39653) {\ncase \x22t\x22:\nreturn \x22\\t\x22;\n\nbreak;\ncase \x22r\x22:\nreturn \x22\\r\x22;\n\nbreak;\ncase \x22n\x22:\nreturn \x22\\n\x22;\n\nbreak;\ncase \x22\\\\\x22:\nreturn \x22\\\\\x22;\n\nbreak;\ncase \x22\\\x22\x22:\nreturn \x22\\\x22\x22;\n\nbreak;\ncase \x22b\x22:\nreturn \x22\\b\x22;\n\nbreak;\ncase \x22f\x22:\nreturn \x22\\f\x22;\n\nbreak;\ncase \x22u\x22:\nvar ch__$1 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(((-1) \x3d\x3d\x3d parseInt((ch__$1 | (0)),(16)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_escape(rdr,ch__$1);\n} else {\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch__$1,(16),(4),true);\n}\n\nbreak;\ndefault:\nif(cljs.tools.reader.impl.utils.numeric_QMARK_(ch)){\nvar ch__$1 \x3d cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch,(8),(3),false);\nif(((ch__$1 | (0)) \x3e (255))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn ch__$1;\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_escape_char(rdr,ch);\n}\n\n}\n});\ncljs.tools.reader.read_string_STAR_ \x3d (function cljs$tools$reader$read_string_STAR_(reader,_,opts,pending_forms){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((ch \x3d\x3d null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(reader,new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\\x22\x22,sb], 0));\n} else {\nvar G__39659 \x3d ch;\nswitch (G__39659) {\ncase \x22\\\\\x22:\nvar G__40219 \x3d (function (){var G__39664 \x3d sb;\nG__39664.append(cljs.tools.reader.escape_char(sb,reader));\n\nreturn G__39664;\n})();\nvar G__40220 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__40219;\nch \x3d G__40220;\ncontinue;\n\nbreak;\ncase \x22\\\x22\x22:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n\nbreak;\ndefault:\nvar G__40222 \x3d (function (){var G__39668 \x3d sb;\nG__39668.append(ch);\n\nreturn G__39668;\n})();\nvar G__40223 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__40222;\nch \x3d G__40223;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.loc_info \x3d (function cljs$tools$reader$loc_info(rdr,line,column){\nif((line \x3d\x3d null)){\nreturn null;\n} else {\nvar file \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nvar filem \x3d (((file \x3d\x3d null))?null:new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null));\nvar vec__39681 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39681,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39681,(1),null);\nvar lcm \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([filem,lcm], 0));\n}\n});\ncljs.tools.reader.read_symbol \x3d (function cljs$tools$reader$read_symbol(rdr,initch){\nvar vec__39708 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39708,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39708,(1),null);\nvar token \x3d cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),initch);\nif((token \x3d\x3d null)){\nreturn null;\n} else {\nvar G__39716 \x3d token;\nswitch (G__39716) {\ncase \x22nil\x22:\nreturn null;\n\nbreak;\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ncase \x22/\x22:\nreturn new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null);\n\nbreak;\ndefault:\nvar p \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif((!((p \x3d\x3d null)))){\nvar sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(p.cljs$core$IIndexed$_nth$arity$2(null,(0)),p.cljs$core$IIndexed$_nth$arity$2(null,(1)));\nreturn sym.cljs$core$IWithMeta$_with_meta$arity$2(null,cljs.tools.reader.loc_info(rdr,line,column));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),token);\n}\n\n}\n}\n});\n/**\n * Map from ns alias to ns, if non-nil, it will be used to resolve read-time\n * ns aliases.\n * \n * Defaults to nil\n */\ncljs.tools.reader._STAR_alias_map_STAR_ \x3d null;\ncljs.tools.reader.resolve_alias \x3d (function cljs$tools$reader$resolve_alias(sym){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader._STAR_alias_map_STAR_,sym);\n});\ncljs.tools.reader.resolve_ns \x3d (function cljs$tools$reader$resolve_ns(sym){\nvar or__5025__auto__ \x3d cljs.tools.reader.resolve_alias(sym);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.find_ns(sym);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(ns));\n} else {\nreturn null;\n}\n}\n});\ncljs.tools.reader.read_keyword \x3d (function cljs$tools$reader$read_keyword(reader,initch,opts,pending_forms){\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)))){\nvar token \x3d cljs.tools.reader.read_token(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),ch);\nvar s \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif((!((s \x3d\x3d null)))){\nvar ns \x3d s.cljs$core$IIndexed$_nth$arity$2(null,(0));\nvar name \x3d s.cljs$core$IIndexed$_nth$arity$2(null,(1));\nif((\x22:\x22 \x3d\x3d\x3d token.charAt((0)))){\nif((!((ns \x3d\x3d null)))){\nvar temp__5802__auto__ \x3d cljs.tools.reader.resolve_alias(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(ns,(1))));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns__$1 \x3d temp__5802__auto__;\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),name);\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.core._STAR_ns_STAR_;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns__$1 \x3d temp__5802__auto__;\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(name,(1)));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(reader,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid token: :\x22,token], 0));\n}\n}\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(ns,name);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_single_colon(reader);\n}\n});\n/**\n * Returns a function which wraps a reader in a call to sym\n */\ncljs.tools.reader.wrapping_reader \x3d (function cljs$tools$reader$wrapping_reader(sym){\nreturn (function (rdr,_,opts,pending_forms){\nreturn (new cljs.core.List(null,sym,(new cljs.core.List(null,(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)),null,(1),null)),(2),null));\n});\n});\n/**\n * Read metadata and return the following object with the metadata applied\n */\ncljs.tools.reader.read_meta \x3d (function cljs$tools$reader$read_meta(rdr,_,opts,pending_forms){\nif(((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(rdr)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(rdr))))))){\nreturn cljs.tools.reader.reader_types.log_source_STAR_(rdr,(function (){\nvar vec__39779 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39779,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39779,(1),null);\nvar m \x3d cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$))))?true:false):false)){\nvar m__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d line;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.seq_QMARK_(o);\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], 0)):m);\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0)));\n} else {\nreturn cljs.core.reset_meta_BANG_(o,m__$1);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n}));\n} else {\nvar vec__39798 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39798,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39798,(1),null);\nvar m \x3d cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$))))?true:false):false)){\nvar m__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d line;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.seq_QMARK_(o);\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], 0)):m);\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0)));\n} else {\nreturn cljs.core.reset_meta_BANG_(o,m__$1);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n}\n});\ncljs.tools.reader.read_set \x3d (function cljs$tools$reader$read_set(rdr,_,opts,pending_forms){\nvar vec__39835 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39835,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39835,(1),null);\nvar start_column__$1 \x3d (cljs.core.truth_(start_column)?((start_column - (1)) | (0)):null);\nvar coll \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),\x22}\x22,rdr,opts,pending_forms);\nvar the_set \x3d cljs.core.set(coll);\nvar vec__39838 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39838,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39838,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(coll),cljs.core.count(the_set))){\n} else {\ncljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),coll)], 0));\n}\n\nreturn cljs.core.with_meta(the_set,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column__$1,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read and discard the first object from rdr\n */\ncljs.tools.reader.read_discard \x3d (function cljs$tools$reader$read_discard(rdr,_,opts,pending_forms){\nvar G__39853 \x3d rdr;\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__39853,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,G__39853,true,null,opts,pending_forms));\n\nreturn G__39853;\n});\ncljs.tools.reader.read_symbolic_value \x3d (function cljs$tools$reader$read_symbolic_value(rdr,_,opts,pending_forms){\nvar sym \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nvar G__39856 \x3d sym;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22NaN\x22,\x22NaN\x22,666918153,null),G__39856)){\nreturn Number.NaN;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-Inf\x22,\x22-Inf\x22,-2123243689,null),G__39856)){\nreturn Number.NEGATIVE_INFINITY;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22Inf\x22,\x22Inf\x22,647172781,null),G__39856)){\nreturn Number.POSITIVE_INFINITY;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22Invalid token: ##\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)], 0));\n\n}\n}\n}\n});\ncljs.tools.reader.RESERVED_FEATURES \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null,new cljs.core.Keyword(null,\x22none\x22,\x22none\x22,1333468478),null], null), null);\ncljs.tools.reader.has_feature_QMARK_ \x3d (function cljs$tools$reader$has_feature_QMARK_(rdr,feature,opts){\nif((feature instanceof cljs.core.Keyword)){\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),feature)) || (cljs.core.contains_QMARK_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336)),feature)));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature should be a keyword: \x22,feature], 0));\n}\n});\ncljs.tools.reader.check_eof_error \x3d (function cljs$tools$reader$check_eof_error(form,rdr,first_line){\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_EOF)){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(rdr,(function (){var and__5023__auto__ \x3d (first_line \x3c (0));\nif(and__5023__auto__){\nreturn first_line;\n} else {\nreturn and__5023__auto__;\n}\n})());\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.check_reserved_features \x3d (function cljs$tools$reader$check_reserved_features(rdr,form){\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.RESERVED_FEATURES,form))){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature name \x22,form,\x22 is reserved\x22], 0));\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.check_invalid_read_cond \x3d (function cljs$tools$reader$check_invalid_read_cond(form,rdr,first_line){\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nif((first_line \x3c (0))){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22read-cond requires an even number of forms\x22], 0));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22read-cond starting on line \x22,first_line,\x22 requires an even number of forms\x22], 0));\n}\n} else {\nreturn null;\n}\n});\n/**\n * Read next form and suppress. Return nil or READ_FINISHED.\n */\ncljs.tools.reader.read_suppress \x3d (function cljs$tools$reader$read_suppress(first_line,rdr,opts,pending_forms){\nvar _STAR_suppress_read_STAR__orig_val__39888 \x3d cljs.tools.reader._STAR_suppress_read_STAR_;\nvar _STAR_suppress_read_STAR__temp_val__39889 \x3d true;\n(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__temp_val__39889);\n\ntry{var form \x3d (function (){var G__39894 \x3d rdr;\nvar G__39895 \x3d false;\nvar G__39896 \x3d cljs.tools.reader.READ_EOF;\nvar G__39897 \x3d \x22)\x22;\nvar G__39898 \x3d opts;\nvar G__39899 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__39894,G__39895,G__39896,G__39897,G__39898,G__39899) : cljs.tools.reader.read_STAR_.call(null,G__39894,G__39895,G__39896,G__39897,G__39898,G__39899));\n})();\ncljs.tools.reader.check_eof_error(form,rdr,first_line);\n\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nreturn null;\n}\n}finally {(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__orig_val__39888);\n}});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.NO_MATCH !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.NO_MATCH \x3d (new Object());\n}\n/**\n * Read next feature. If matched, read next form and return.\n * Otherwise, read and skip next form, returning READ_FINISHED or nil.\n */\ncljs.tools.reader.match_feature \x3d (function cljs$tools$reader$match_feature(first_line,rdr,opts,pending_forms){\nvar feature \x3d (function (){var G__39925 \x3d rdr;\nvar G__39926 \x3d false;\nvar G__39927 \x3d cljs.tools.reader.READ_EOF;\nvar G__39928 \x3d \x22)\x22;\nvar G__39929 \x3d opts;\nvar G__39930 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__39925,G__39926,G__39927,G__39928,G__39929,G__39930) : cljs.tools.reader.read_STAR_.call(null,G__39925,G__39926,G__39927,G__39928,G__39929,G__39930));\n})();\ncljs.tools.reader.check_eof_error(feature,rdr,first_line);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(feature,cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\ncljs.tools.reader.check_reserved_features(rdr,feature);\n\nif(cljs.tools.reader.has_feature_QMARK_(rdr,feature,opts)){\nvar G__39935 \x3d (function (){var G__39937 \x3d rdr;\nvar G__39938 \x3d false;\nvar G__39939 \x3d cljs.tools.reader.READ_EOF;\nvar G__39940 \x3d \x22)\x22;\nvar G__39941 \x3d opts;\nvar G__39942 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__39937,G__39938,G__39939,G__39940,G__39941,G__39942) : cljs.tools.reader.read_STAR_.call(null,G__39937,G__39938,G__39939,G__39940,G__39941,G__39942));\n})();\ncljs.tools.reader.check_eof_error(G__39935,rdr,first_line);\n\ncljs.tools.reader.check_invalid_read_cond(G__39935,rdr,first_line);\n\nreturn G__39935;\n} else {\nvar or__5025__auto__ \x3d cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.NO_MATCH;\n}\n}\n}\n});\ncljs.tools.reader.read_cond_delimited \x3d (function cljs$tools$reader$read_cond_delimited(rdr,splicing,opts,pending_forms){\nvar first_line \x3d ((cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr))?cljs.tools.reader.reader_types.get_line_number(rdr):(-1));\nvar result \x3d (function (){var matched \x3d cljs.tools.reader.NO_MATCH;\nvar finished \x3d null;\nwhile(true){\nif((matched \x3d\x3d\x3d cljs.tools.reader.NO_MATCH)){\nvar match \x3d cljs.tools.reader.match_feature(first_line,rdr,opts,pending_forms);\nif((match \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nvar G__40305 \x3d match;\nvar G__40306 \x3d null;\nmatched \x3d G__40305;\nfinished \x3d G__40306;\ncontinue;\n}\n} else {\nif((!((finished \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)))){\nvar G__40309 \x3d matched;\nvar G__40310 \x3d cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms);\nmatched \x3d G__40309;\nfinished \x3d G__40310;\ncontinue;\n} else {\nreturn matched;\n\n}\n}\nbreak;\n}\n})();\nif((result \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn rdr;\n} else {\nif(cljs.core.truth_(splicing)){\nif((((!((result \x3d\x3d null))))?(((((result.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d result.cljs$core$ISequential$))))?true:false):false)){\ncljs.tools.reader.goog$module$goog$array.insertArrayAt(pending_forms,cljs.core.to_array(result),(0));\n\nreturn rdr;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spliced form list in read-cond-splicing must implement ISequential\x22], 0));\n}\n} else {\nreturn result;\n}\n}\n});\ncljs.tools.reader.read_cond \x3d (function cljs$tools$reader$read_cond(rdr,_,opts,pending_forms){\nif(cljs.core.not((function (){var and__5023__auto__ \x3d opts;\nif(cljs.core.truth_(and__5023__auto__)){\nvar G__39948 \x3d new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(opts);\nvar fexpr__39947 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22preserve\x22,\x22preserve\x22,1276846509),null,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),null], null), null);\nreturn (fexpr__39947.cljs$core$IFn$_invoke$arity$1 ? fexpr__39947.cljs$core$IFn$_invoke$arity$1(G__39948) : fexpr__39947.call(null,G__39948));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Conditional read not allowed\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime-exception\x22,\x22runtime-exception\x22,-1495664514)], null));\n} else {\n}\n\nvar temp__5802__auto__ \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ch \x3d temp__5802__auto__;\nvar splicing \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ch,\x22@\x22);\nvar ch__$1 \x3d ((splicing)?rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null):ch);\nif(splicing){\nif(cljs.core.truth_(cljs.tools.reader._STAR_read_delim_STAR_)){\n} else {\ncljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22cond-splice not in list\x22], 0));\n}\n} else {\n}\n\nvar temp__5802__auto____$1 \x3d ((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch__$1))?cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr):ch__$1);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar ch__$2 \x3d temp__5802__auto____$1;\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(ch__$2,\x22(\x22)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22read-cond body must be a list\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime-exception\x22,\x22runtime-exception\x22,-1495664514)], null));\n} else {\nvar _STAR_suppress_read_STAR__orig_val__39957 \x3d cljs.tools.reader._STAR_suppress_read_STAR_;\nvar _STAR_suppress_read_STAR__temp_val__39958 \x3d (function (){var or__5025__auto__ \x3d cljs.tools.reader._STAR_suppress_read_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22preserve\x22,\x22preserve\x22,1276846509),new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(opts));\n}\n})();\n(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__temp_val__39958);\n\ntry{if(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)){\nreturn cljs.tools.reader.impl.utils.reader_conditional(cljs.tools.reader.read_list(rdr,ch__$2,opts,pending_forms),splicing);\n} else {\nreturn cljs.tools.reader.read_cond_delimited(rdr,splicing,opts,pending_forms);\n}\n}finally {(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__orig_val__39957);\n}}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.arg_env \x3d null;\n/**\n * Get a symbol for an anonymous ?argument?\n */\ncljs.tools.reader.garg \x3d (function cljs$tools$reader$garg(n){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([((((-1) \x3d\x3d\x3d n))?\x22rest\x22:[\x22p\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)),\x22__\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),\x22#\x22].join(\x27\x27));\n});\ncljs.tools.reader.read_fn \x3d (function cljs$tools$reader$read_fn(rdr,_,opts,pending_forms){\nif(cljs.core.truth_(cljs.tools.reader.arg_env)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Nested #()s are not allowed\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n} else {\n}\n\nvar arg_env_orig_val__39962 \x3d cljs.tools.reader.arg_env;\nvar arg_env_temp_val__39963 \x3d cljs.core.sorted_map();\n(cljs.tools.reader.arg_env \x3d arg_env_temp_val__39963);\n\ntry{var form \x3d (function (){var G__39964 \x3d (function (){var G__39969 \x3d rdr;\ncljs.tools.reader.reader_types.unread(G__39969,\x22(\x22);\n\nreturn G__39969;\n})();\nvar G__39965 \x3d true;\nvar G__39966 \x3d null;\nvar G__39967 \x3d opts;\nvar G__39968 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__39964,G__39965,G__39966,G__39967,G__39968) : cljs.tools.reader.read_STAR_.call(null,G__39964,G__39965,G__39966,G__39967,G__39968));\n})();\nvar rargs \x3d cljs.core.rseq(cljs.tools.reader.arg_env);\nvar args \x3d ((rargs)?(function (){var higharg \x3d cljs.core.key(cljs.core.first(rargs));\nvar args \x3d (function (){var i \x3d (1);\nvar args \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif((i \x3e higharg)){\nreturn cljs.core.persistent_BANG_(args);\n} else {\nvar G__40358 \x3d (i + (1));\nvar G__40359 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(args,(function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.arg_env,i);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.garg(i);\n}\n})());\ni \x3d G__40358;\nargs \x3d G__40359;\ncontinue;\n}\nbreak;\n}\n})();\nvar args__$1 \x3d (cljs.core.truth_(cljs.tools.reader.arg_env.call(null,(-1)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.arg_env.call(null,(-1))], 0)):args);\nreturn args__$1;\n})():cljs.core.PersistentVector.EMPTY);\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),(new cljs.core.List(null,args,(new cljs.core.List(null,form,null,(1),null)),(2),null)),(3),null));\n}finally {(cljs.tools.reader.arg_env \x3d arg_env_orig_val__39962);\n}});\n/**\n * Registers an argument to the arg-env\n */\ncljs.tools.reader.register_arg \x3d (function cljs$tools$reader$register_arg(n){\nif(cljs.core.truth_(cljs.tools.reader.arg_env)){\nvar temp__5802__auto__ \x3d cljs.tools.reader.arg_env.call(null,n);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ret \x3d temp__5802__auto__;\nreturn ret;\n} else {\nvar g \x3d cljs.tools.reader.garg(n);\n(cljs.tools.reader.arg_env \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.tools.reader.arg_env,n,g));\n\nreturn g;\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Arg literal not in #()\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n}\n});\ncljs.tools.reader.read_arg \x3d (function cljs$tools$reader$read_arg(rdr,pct,opts,pending_forms){\nif((cljs.tools.reader.arg_env \x3d\x3d null)){\nreturn cljs.tools.reader.read_symbol(rdr,pct);\n} else {\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (((cljs.tools.reader.macro_terminating_QMARK_(ch)) || ((ch \x3d\x3d null)))))){\nreturn cljs.tools.reader.register_arg((1));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ch,\x22\x26\x22)){\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn cljs.tools.reader.register_arg((-1));\n} else {\nvar n \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((!(cljs.core.integer_QMARK_(n)))){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Arg literal must be %, %\x26 or %integer\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n} else {\nreturn cljs.tools.reader.register_arg(n);\n}\n\n}\n}\n}\n});\ncljs.tools.reader.gensym_env \x3d null;\ncljs.tools.reader.read_unquote \x3d (function cljs$tools$reader$read_unquote(rdr,comma,opts,pending_forms){\nvar temp__5802__auto__ \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ch \x3d temp__5802__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22@\x22,ch)){\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null))((function (){var G__39980 \x3d rdr;\nG__39980.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn G__39980;\n})(),\x22@\x22,opts,pending_forms);\n} else {\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null))(rdr,\x22~\x22,opts,pending_forms);\n}\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.unquote_splicing_QMARK_ \x3d (function cljs$tools$reader$unquote_splicing_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null))));\n});\ncljs.tools.reader.unquote_QMARK_ \x3d (function cljs$tools$reader$unquote_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null))));\n});\n/**\n * Expand a list by resolving its syntax quotes and unquotes\n */\ncljs.tools.reader.expand_list \x3d (function cljs$tools$reader$expand_list(s){\nvar s__$1 \x3d cljs.core.seq(s);\nvar r \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s__$1){\nvar item \x3d cljs.core.first(s__$1);\nvar ret \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(r,((cljs.tools.reader.unquote_QMARK_(item))?(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,cljs.core.second(item),null,(1),null)),(2),null)):((cljs.tools.reader.unquote_splicing_QMARK_(item))?cljs.core.second(item):(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,(cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1(item) : cljs.tools.reader.syntax_quote_STAR_.call(null,item)),null,(1),null)),(2),null))\n)));\nvar G__40370 \x3d cljs.core.next(s__$1);\nvar G__40371 \x3d ret;\ns__$1 \x3d G__40370;\nr \x3d G__40371;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(r));\n}\nbreak;\n}\n});\n/**\n * Flatten a map into a seq of alternate keys and values\n */\ncljs.tools.reader.flatten_map \x3d (function cljs$tools$reader$flatten_map(form){\nvar s \x3d cljs.core.seq(form);\nvar key_vals \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__40373 \x3d cljs.core.next(s);\nvar G__40374 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(key_vals,cljs.core.key(e)),cljs.core.val(e));\ns \x3d G__40373;\nkey_vals \x3d G__40374;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(key_vals));\n}\nbreak;\n}\n});\ncljs.tools.reader.register_gensym \x3d (function cljs$tools$reader$register_gensym(sym){\nif(cljs.core.not(cljs.tools.reader.gensym_env)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Gensym literal not in syntax-quote\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n} else {\n}\n\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.gensym_env,sym);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar gs \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.name(sym),(0),(((cljs.core.name(sym)).length) - (1))),\x22__\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),\x22__auto__\x22].join(\x27\x27));\n(cljs.tools.reader.gensym_env \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.tools.reader.gensym_env,sym,gs));\n\nreturn gs;\n}\n});\ncljs.tools.reader.add_meta \x3d (function cljs$tools$reader$add_meta(form,ret){\nif((function (){var and__5023__auto__ \x3d (((!((form \x3d\x3d null))))?(((((form.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d form.cljs$core$IWithMeta$))))?true:false):false);\nif(and__5023__auto__){\nreturn cljs.core.seq(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(form),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539)], 0)));\n} else {\nreturn and__5023__auto__;\n}\n})()){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-meta\x22,\x22cljs.core/with-meta\x22,749126446,null),(new cljs.core.List(null,ret,(new cljs.core.List(null,(function (){var G__39999 \x3d cljs.core.meta(form);\nreturn (cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1(G__39999) : cljs.tools.reader.syntax_quote_STAR_.call(null,G__39999));\n})(),null,(1),null)),(2),null)),(3),null));\n} else {\nreturn ret;\n}\n});\ncljs.tools.reader.syntax_quote_coll \x3d (function cljs$tools$reader$syntax_quote_coll(type,coll){\nvar res \x3d (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22sequence\x22,\x22cljs.core/sequence\x22,1908459032,null),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(\x22cljs.core\x22,\x22concat\x22,\x22cljs.core/concat\x22,-1133584918,null),cljs.tools.reader.expand_list(coll)),null,(1),null)),(2),null));\nif(cljs.core.truth_(type)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),(new cljs.core.List(null,type,(new cljs.core.List(null,res,null,(1),null)),(2),null)),(3),null));\n} else {\nreturn res;\n}\n});\n/**\n * Decide which map type to use, array-map if less than 16 elements\n */\ncljs.tools.reader.map_func \x3d (function cljs$tools$reader$map_func(coll){\nif((cljs.core.count(coll) \x3e\x3d (16))){\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-map\x22,\x22cljs.core/hash-map\x22,303385767,null);\n} else {\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22array-map\x22,\x22cljs.core/array-map\x22,-1519210683,null);\n}\n});\ncljs.tools.reader.bool_QMARK_ \x3d (function cljs$tools$reader$bool_QMARK_(x){\nreturn (((x instanceof Boolean)) || (((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false))));\n});\n/**\n * Resolve a symbol s into its fully qualified namespace version\n */\ncljs.tools.reader.resolve_symbol \x3d (function cljs$tools$reader$resolve_symbol(s){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22resolve-symbol is not implemented\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22sym\x22,\x22sym\x22,-1444860305),s], null));\n});\ncljs.tools.reader.syntax_quote_STAR_ \x3d (function cljs$tools$reader$syntax_quote_STAR_(form){\nreturn cljs.tools.reader.add_meta(form,((cljs.core.special_symbol_QMARK_(form))?(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null)):(((form instanceof cljs.core.Symbol))?(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(cljs.core.namespace(form));\nif(and__5023__auto__){\nreturn goog.string.endsWith(cljs.core.name(form),\x22#\x22);\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.tools.reader.register_gensym(form):(function (){var sym \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(form);\nif(cljs.core.truth_(goog.string.endsWith(sym,\x22.\x22))){\nvar csym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym,(0),(((sym).length) - (1))));\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.resolve_symbol.call(null,csym)),\x22.\x22].join(\x27\x27));\n} else {\nreturn cljs.tools.reader.resolve_symbol.call(null,form);\n}\n})()),null,(1),null)),(2),null)):((cljs.tools.reader.unquote_QMARK_(form))?cljs.core.second(form):((cljs.tools.reader.unquote_splicing_QMARK_(form))?(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unquote-splice not in list\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null))})():((cljs.core.coll_QMARK_(form))?(((((!((form \x3d\x3d null))))?(((((form.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d form.cljs$core$IRecord$))))?true:false):false))?form:((cljs.core.map_QMARK_(form))?cljs.tools.reader.syntax_quote_coll(cljs.tools.reader.map_func(form),cljs.tools.reader.flatten_map(form)):((cljs.core.vector_QMARK_(form))?(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22vec\x22,\x22cljs.core/vec\x22,307622519,null),(new cljs.core.List(null,cljs.tools.reader.syntax_quote_coll(null,form),null,(1),null)),(2),null)):((cljs.core.set_QMARK_(form))?cljs.tools.reader.syntax_quote_coll(new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-set\x22,\x22cljs.core/hash-set\x22,1130426749,null),form):((((cljs.core.seq_QMARK_(form)) || (cljs.core.list_QMARK_(form))))?(function (){var seq \x3d cljs.core.seq(form);\nif(seq){\nreturn cljs.tools.reader.syntax_quote_coll(null,seq);\n} else {\nreturn cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22list\x22,\x22cljs.core/list\x22,-1331406371,null));\n}\n})():(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Unknown Collection type\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22unsupported-operation\x22,\x22unsupported-operation\x22,1890540953)], null))})()\n))))):(((((form instanceof cljs.core.Keyword)) || (((typeof form \x3d\x3d\x3d \x27number\x27) || (((typeof form \x3d\x3d\x3d \x27string\x27) || ((((form \x3d\x3d null)) || (((cljs.tools.reader.bool_QMARK_(form)) || ((form instanceof RegExp))))))))))))?form:(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null))\n)))))));\n});\ncljs.tools.reader.read_syntax_quote \x3d (function cljs$tools$reader$read_syntax_quote(rdr,backquote,opts,pending_forms){\nvar gensym_env_orig_val__40038 \x3d cljs.tools.reader.gensym_env;\nvar gensym_env_temp_val__40039 \x3d cljs.core.PersistentArrayMap.EMPTY;\n(cljs.tools.reader.gensym_env \x3d gensym_env_temp_val__40039);\n\ntry{return cljs.tools.reader.syntax_quote_STAR_((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\n}finally {(cljs.tools.reader.gensym_env \x3d gensym_env_orig_val__40038);\n}});\ncljs.tools.reader.read_namespaced_map \x3d (function cljs$tools$reader$read_namespaced_map(rdr,_,opts,pending_forms){\nvar vec__40045 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40045,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40045,(1),null);\nvar token \x3d cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),cljs.tools.reader.reader_types.read_char(rdr));\nvar temp__5802__auto__ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22:\x22))?cljs.core.ns_name(cljs.core._STAR_ns_STAR_):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22:\x22,cljs.core.first(token)))?(function (){var G__40049 \x3d token;\nvar G__40049__$1 \x3d (((G__40049 \x3d\x3d null))?null:cljs.core.subs.cljs$core$IFn$_invoke$arity$2(G__40049,(1)));\nvar G__40049__$2 \x3d (((G__40049__$1 \x3d\x3d null))?null:cljs.tools.reader.impl.commons.parse_symbol(G__40049__$1));\nvar G__40049__$3 \x3d (((G__40049__$2 \x3d\x3d null))?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(G__40049__$2));\nvar G__40049__$4 \x3d (((G__40049__$3 \x3d\x3d null))?null:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(G__40049__$3));\nif((G__40049__$4 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.tools.reader.resolve_ns(G__40049__$4);\n}\n})():(function (){var G__40050 \x3d token;\nvar G__40050__$1 \x3d (((G__40050 \x3d\x3d null))?null:cljs.tools.reader.impl.commons.parse_symbol(G__40050));\nif((G__40050__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(G__40050__$1);\n}\n})()\n));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns \x3d temp__5802__auto__;\nvar ch \x3d cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr);\nif((ch \x3d\x3d\x3d \x22{\x22)){\nvar items \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),\x22}\x22,rdr,opts,pending_forms);\nvar vec__40052 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40052,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40052,(1),null);\nif(cljs.core.odd_QMARK_(cljs.core.count(items))){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,null,null,items);\n} else {\n}\n\nvar keys \x3d cljs.tools.reader.impl.utils.namespace_keys(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),items));\nvar vals \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(items));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(cljs.core.set(keys)),cljs.core.count(keys))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),keys);\n}\n\nreturn cljs.core.with_meta(cljs.core.zipmap(keys,vals),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_ns_map_no_map(rdr,token);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_ns(rdr,token);\n}\n});\ncljs.tools.reader.macros \x3d (function cljs$tools$reader$macros(ch){\nvar G__40056 \x3d ch;\nswitch (G__40056) {\ncase \x22\\\x22\x22:\nreturn cljs.tools.reader.read_string_STAR_;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.read_keyword;\n\nbreak;\ncase \x22;\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22\x27\x22:\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null));\n\nbreak;\ncase \x22@\x22:\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null));\n\nbreak;\ncase \x22^\x22:\nreturn cljs.tools.reader.read_meta;\n\nbreak;\ncase \x22`\x22:\nreturn cljs.tools.reader.read_syntax_quote;\n\nbreak;\ncase \x22~\x22:\nreturn cljs.tools.reader.read_unquote;\n\nbreak;\ncase \x22(\x22:\nreturn cljs.tools.reader.read_list;\n\nbreak;\ncase \x22)\x22:\nreturn cljs.tools.reader.read_unmatched_delimiter;\n\nbreak;\ncase \x22[\x22:\nreturn cljs.tools.reader.read_vector;\n\nbreak;\ncase \x22]\x22:\nreturn cljs.tools.reader.read_unmatched_delimiter;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.read_map;\n\nbreak;\ncase \x22}\x22:\nreturn cljs.tools.reader.read_unmatched_delimiter;\n\nbreak;\ncase \x22\\\\\x22:\nreturn cljs.tools.reader.read_char_STAR_;\n\nbreak;\ncase \x22%\x22:\nreturn cljs.tools.reader.read_arg;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.read_dispatch;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.dispatch_macros \x3d (function cljs$tools$reader$dispatch_macros(ch){\nvar G__40063 \x3d ch;\nswitch (G__40063) {\ncase \x22^\x22:\nreturn cljs.tools.reader.read_meta;\n\nbreak;\ncase \x22\x27\x22:\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null));\n\nbreak;\ncase \x22(\x22:\nreturn cljs.tools.reader.read_fn;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.read_set;\n\nbreak;\ncase \x22\x3c\x22:\nreturn cljs.tools.reader.impl.commons.throwing_reader(\x22Unreadable form\x22);\n\nbreak;\ncase \x22\x3d\x22:\nreturn cljs.tools.reader.impl.commons.throwing_reader(\x22read-eval not supported\x22);\n\nbreak;\ncase \x22\\\x22\x22:\nreturn cljs.tools.reader.read_regex;\n\nbreak;\ncase \x22!\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22_\x22:\nreturn cljs.tools.reader.read_discard;\n\nbreak;\ncase \x22?\x22:\nreturn cljs.tools.reader.read_cond;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.read_namespaced_map;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.read_symbolic_value;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.read_tagged \x3d (function cljs$tools$reader$read_tagged(rdr,initch,opts,pending_forms){\nvar tag \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((!((tag instanceof cljs.core.Symbol)))){\ncljs.tools.reader.impl.errors.throw_bad_reader_tag(rdr,tag);\n} else {\n}\n\nif(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)){\nreturn cljs.core.tagged_literal(tag,(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\n} else {\nvar temp__5802__auto__ \x3d (function (){var or__5025__auto__ \x3d cljs.tools.reader._STAR_data_readers_STAR_.call(null,tag);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1(tag) : cljs.tools.reader.default_data_readers.call(null,tag));\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f \x3d temp__5802__auto__;\nvar G__40069 \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__40069) : f.call(null,G__40069));\n} else {\nvar temp__5802__auto____$1 \x3d cljs.tools.reader._STAR_default_data_reader_fn_STAR_;\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar f \x3d temp__5802__auto____$1;\nvar G__40071 \x3d tag;\nvar G__40072 \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__40071,G__40072) : f.call(null,G__40071,G__40072));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unknown_reader_tag(rdr,tag);\n}\n}\n}\n});\n/**\n * Map from reader tag symbols to data reader Vars.\n *   Reader tags without namespace qualifiers are reserved for Clojure.\n *   This light version of tools.reader has no implementation for default\n *   reader tags such as #inst and #uuid.\n */\ncljs.tools.reader._STAR_data_readers_STAR_ \x3d cljs.core.PersistentArrayMap.EMPTY;\n/**\n * When no data reader is found for a tag and *default-data-reader-fn*\n *   is non-nil, it will be called with two arguments, the tag and the value.\n *   If *default-data-reader-fn* is nil (the default value), an exception\n *   will be thrown for the unknown tag.\n */\ncljs.tools.reader._STAR_default_data_reader_fn_STAR_ \x3d null;\ncljs.tools.reader._STAR_suppress_read_STAR_ \x3d false;\n/**\n * Default map of data reader functions provided by Clojure.\n *   May be overridden by binding *data-readers*\n */\ncljs.tools.reader.default_data_readers \x3d cljs.core.PersistentArrayMap.EMPTY;\ncljs.tools.reader.read_STAR__internal \x3d (function cljs$tools$reader$read_STAR__internal(reader,eof_error_QMARK_,sentinel,return_on,opts,pending_forms){\nwhile(true){\nif(((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(reader)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null))))))){\nreturn cljs.tools.reader.reader_types.log_source_STAR_(reader,(function (){\nwhile(true){\nif((!(cljs.tools.reader.goog$module$goog$array.isEmpty(pending_forms)))){\nvar form \x3d (pending_forms[(0)]);\ncljs.tools.reader.goog$module$goog$array.removeAt(pending_forms,(0));\n\nreturn form;\n} else {\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)){\ncontinue;\n} else {\nif((ch \x3d\x3d null)){\nif(eof_error_QMARK_){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(reader,null);\n} else {\nreturn sentinel;\n}\n} else {\nif((ch \x3d\x3d\x3d return_on)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nif(cljs.tools.reader.impl.commons.number_literal_QMARK_(reader,ch)){\nreturn cljs.tools.reader.read_number(reader,ch);\n} else {\nvar f \x3d cljs.tools.reader.macros(ch);\nif((!((f \x3d\x3d null)))){\nvar res \x3d (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(reader,ch,opts,pending_forms) : f.call(null,reader,ch,opts,pending_forms));\nif((res \x3d\x3d\x3d reader)){\ncontinue;\n} else {\nreturn res;\n}\n} else {\nreturn cljs.tools.reader.read_symbol(reader,ch);\n}\n\n}\n}\n}\n}\n}\nbreak;\n}\n}));\n} else {\nif((!(cljs.tools.reader.goog$module$goog$array.isEmpty(pending_forms)))){\nvar form \x3d (pending_forms[(0)]);\ncljs.tools.reader.goog$module$goog$array.removeAt(pending_forms,(0));\n\nreturn form;\n} else {\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)){\ncontinue;\n} else {\nif((ch \x3d\x3d null)){\nif(eof_error_QMARK_){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(reader,null);\n} else {\nreturn sentinel;\n}\n} else {\nif((ch \x3d\x3d\x3d return_on)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nif(cljs.tools.reader.impl.commons.number_literal_QMARK_(reader,ch)){\nreturn cljs.tools.reader.read_number(reader,ch);\n} else {\nvar f \x3d cljs.tools.reader.macros(ch);\nif((!((f \x3d\x3d null)))){\nvar res \x3d (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(reader,ch,opts,pending_forms) : f.call(null,reader,ch,opts,pending_forms));\nif((res \x3d\x3d\x3d reader)){\ncontinue;\n} else {\nreturn res;\n}\n} else {\nreturn cljs.tools.reader.read_symbol(reader,ch);\n}\n\n}\n}\n}\n}\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.read_STAR_ \x3d (function cljs$tools$reader$read_STAR_(var_args){\nvar G__40087 \x3d arguments.length;\nswitch (G__40087) {\ncase 5:\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 \x3d (function (reader,eof_error_QMARK_,sentinel,opts,pending_forms){\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(reader,eof_error_QMARK_,sentinel,null,opts,pending_forms);\n}));\n\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 \x3d (function (reader,eof_error_QMARK_,sentinel,return_on,opts,pending_forms){\ntry{return cljs.tools.reader.read_STAR__internal(reader,eof_error_QMARK_,sentinel,return_on,opts,pending_forms);\n}catch (e40089){if((e40089 instanceof Error)){\nvar e \x3d e40089;\nif(cljs.tools.reader.impl.utils.ex_info_QMARK_(e)){\nvar d \x3d cljs.core.ex_data(e);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(d))){\nthrow e;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),d,((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(null)], null):null)], 0)),e);\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(null)], null):null)], 0)),e);\n}\n} else {\nthrow e40089;\n\n}\n}}));\n\n(cljs.tools.reader.read_STAR_.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Reads the first object from an IPushbackReader.\n * Returns the object read. If EOF, throws if eof-error? is true.\n * Otherwise returns sentinel. If no stream is provided, *in* will be used.\n * \n * Opts is a persistent map with valid keys:\n *  :read-cond - :allow to process reader conditionals, or\n *               :preserve to keep all branches\n *  :features - persistent set of feature keywords for reader conditionals\n *  :eof - on eof, return value unless :eofthrow, then throw.\n *         if not specified, will throw\n * \n * To read data structures only, use cljs.tools.reader.edn/read\n * \n * Note that the function signature of cljs.tools.reader/read and\n * cljs.tools.reader.edn/read is not the same for eof-handling\n */\ncljs.tools.reader.read \x3d (function cljs$tools$reader$read(var_args){\nvar G__40095 \x3d arguments.length;\nswitch (G__40095) {\ncase 1:\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(reader,true,null);\n}));\n\n(cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2 \x3d (function (p__40109,reader){\nvar map__40110 \x3d p__40109;\nvar map__40110__$1 \x3d cljs.core.__destructure_map(map__40110);\nvar opts \x3d map__40110__$1;\nvar eof \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__40110__$1,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),new cljs.core.Keyword(null,\x22eofthrow\x22,\x22eofthrow\x22,-334166531));\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(reader,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(eof,new cljs.core.Keyword(null,\x22eofthrow\x22,\x22eofthrow\x22,-334166531)),eof,null,opts,cljs.core.to_array(cljs.core.PersistentVector.EMPTY));\n}));\n\n(cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3 \x3d (function (reader,eof_error_QMARK_,sentinel){\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(reader,eof_error_QMARK_,sentinel,null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.to_array(cljs.core.PersistentVector.EMPTY));\n}));\n\n(cljs.tools.reader.read.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reads one object from the string s.\n * Returns nil when s is nil or empty.\n * \n * To read data structures only, use cljs.tools.reader.edn/read-string\n * \n * Note that the function signature of cljs.tools.reader/read-string and\n * cljs.tools.reader.edn/read-string is not the same for eof-handling\n */\ncljs.tools.reader.read_string \x3d (function cljs$tools$reader$read_string(var_args){\nvar G__40122 \x3d arguments.length;\nswitch (G__40122) {\ncase 1:\nreturn cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,s);\n}));\n\n(cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,s){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d s;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!((s \x3d\x3d\x3d \x22\x22)));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(opts,cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.read_string.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Like read, and taking the same args. reader must be a SourceLoggingPushbackReader.\n *   Returns a vector containing the object read and the (whitespace-trimmed) string read.\n */\ncljs.tools.reader.read_PLUS_string \x3d (function cljs$tools$reader$read_PLUS_string(var_args){\nvar G__40133 \x3d arguments.length;\nswitch (G__40133) {\ncase 1:\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (stream){\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$3(stream,true,null);\n}));\n\n(cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,eof_error_QMARK_,eof_value){\nvar buf \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(stream.frames));\nvar _ \x3d buf.clear();\nvar o \x3d ((((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(stream)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(stream)))))))?cljs.tools.reader.reader_types.log_source_STAR_(stream,(function (){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(stream,eof_error_QMARK_,eof_value);\n})):cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(stream,eof_error_QMARK_,eof_value));\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(buf).trim();\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [o,s], null);\n}));\n\n(cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,stream){\nvar buf \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(stream.frames));\nvar _ \x3d buf.clear();\nvar o \x3d ((((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(stream)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(stream)))))))?cljs.tools.reader.reader_types.log_source_STAR_(stream,(function (){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(opts,stream);\n})):cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(opts,stream));\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(buf).trim();\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [o,s], null);\n}));\n\n(cljs.tools.reader.read_PLUS_string.cljs$lang$maxFixedArity \x3d 3);\n\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.edn.js", true, "goog.provide(\x27cljs.tools.reader.edn\x27);\n\n\ncljs.tools.reader.edn.macro_terminating_QMARK_ \x3d (function cljs$tools$reader$edn$macro_terminating_QMARK_(ch){\nvar and__5023__auto__ \x3d (!((\x22#\x22 \x3d\x3d\x3d ch)));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (!((\x22\x27\x22 \x3d\x3d\x3d ch)));\nif(and__5023__auto____$1){\nvar and__5023__auto____$2 \x3d (!((\x22:\x22 \x3d\x3d\x3d ch)));\nif(and__5023__auto____$2){\nreturn (cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.macros.call(null,ch));\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ncljs.tools.reader.edn.not_constituent_QMARK_ \x3d (function cljs$tools$reader$edn$not_constituent_QMARK_(ch){\nreturn (((\x22@\x22 \x3d\x3d\x3d ch)) || ((((\x22`\x22 \x3d\x3d\x3d ch)) || ((\x22~\x22 \x3d\x3d\x3d ch)))));\n});\ncljs.tools.reader.edn.read_token \x3d (function cljs$tools$reader$edn$read_token(var_args){\nvar G__40760 \x3d arguments.length;\nswitch (G__40760) {\ncase 3:\nreturn cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3 \x3d (function (rdr,kind,initch){\nreturn cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4(rdr,kind,initch,true);\n}));\n\n(cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4 \x3d (function (rdr,kind,initch,validate_leading_QMARK_){\nif(cljs.core.not(initch)){\nreturn cljs.tools.reader.impl.errors.throw_eof_at_start(rdr,kind);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d validate_leading_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.tools.reader.edn.not_constituent_QMARK_(initch);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.tools.reader.impl.errors.throw_bad_char(rdr,kind,initch);\n} else {\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d initch;\nwhile(true){\nif(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (((cljs.tools.reader.edn.macro_terminating_QMARK_(ch)) || ((ch \x3d\x3d null)))))){\nif((ch \x3d\x3d null)){\n} else {\ncljs.tools.reader.reader_types.unread(rdr,ch);\n}\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nif(cljs.tools.reader.edn.not_constituent_QMARK_(ch)){\nreturn cljs.tools.reader.impl.errors.throw_bad_char(rdr,kind,ch);\n} else {\nvar G__40840 \x3d (function (){var G__40761 \x3d sb;\nG__40761.append(ch);\n\nreturn G__40761;\n})();\nvar G__40841 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nsb \x3d G__40840;\nch \x3d G__40841;\ncontinue;\n}\n}\nbreak;\n}\n\n}\n}\n}));\n\n(cljs.tools.reader.edn.read_token.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.tools.reader.edn.read_dispatch \x3d (function cljs$tools$reader$edn$read_dispatch(rdr,_,opts){\nvar temp__5802__auto__ \x3d cljs.tools.reader.reader_types.read_char(rdr);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ch \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (cljs.tools.reader.edn.dispatch_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.dispatch_macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.dispatch_macros.call(null,ch));\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar dm \x3d temp__5802__auto____$1;\nreturn (dm.cljs$core$IFn$_invoke$arity$3 ? dm.cljs$core$IFn$_invoke$arity$3(rdr,ch,opts) : dm.call(null,rdr,ch,opts));\n} else {\nvar G__40762 \x3d (function (){var G__40765 \x3d rdr;\ncljs.tools.reader.reader_types.unread(G__40765,ch);\n\nreturn G__40765;\n})();\nvar G__40763 \x3d ch;\nvar G__40764 \x3d opts;\nreturn (cljs.tools.reader.edn.read_tagged.cljs$core$IFn$_invoke$arity$3 ? cljs.tools.reader.edn.read_tagged.cljs$core$IFn$_invoke$arity$3(G__40762,G__40763,G__40764) : cljs.tools.reader.edn.read_tagged.call(null,G__40762,G__40763,G__40764));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_at_dispatch(rdr);\n}\n});\ncljs.tools.reader.edn.read_unmatched_delimiter \x3d (function cljs$tools$reader$edn$read_unmatched_delimiter(rdr,ch,opts){\nreturn cljs.tools.reader.impl.errors.throw_unmatch_delimiter(rdr,ch);\n});\ncljs.tools.reader.edn.read_unicode_char \x3d (function cljs$tools$reader$edn$read_unicode_char(var_args){\nvar G__40767 \x3d arguments.length;\nswitch (G__40767) {\ncase 4:\nreturn cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4 \x3d (function (token,offset,length,base){\nvar l \x3d (offset + length);\nif((cljs.core.count(token) \x3d\x3d\x3d l)){\n} else {\ncljs.tools.reader.impl.errors.throw_invalid_unicode_literal(null,token);\n}\n\nvar i \x3d offset;\nvar uc \x3d (0);\nwhile(true){\nif((i \x3d\x3d\x3d l)){\nreturn String.fromCharCode(uc);\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),base);\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token(null,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),token);\n} else {\nvar G__40843 \x3d (i + (1));\nvar G__40844 \x3d (d + (uc * base));\ni \x3d G__40843;\nuc \x3d G__40844;\ncontinue;\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5 \x3d (function (rdr,initch,base,length,exact_QMARK_){\nvar i \x3d (1);\nvar uc \x3d cljs.tools.reader.impl.utils.char_code(initch,base);\nwhile(true){\nif((uc \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,initch);\n} else {\nif((!((i \x3d\x3d\x3d length)))){\nvar ch \x3d cljs.tools.reader.reader_types.peek_char(rdr);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.macros.call(null,ch));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nif(cljs.core.truth_(exact_QMARK_)){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_len(rdr,i,length);\n} else {\nreturn String.fromCharCode(uc);\n}\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(ch,base);\ncljs.tools.reader.reader_types.read_char(rdr);\n\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,ch);\n} else {\nvar G__40845 \x3d (i + (1));\nvar G__40846 \x3d (d + (uc * base));\ni \x3d G__40845;\nuc \x3d G__40846;\ncontinue;\n}\n}\n} else {\nreturn String.fromCharCode(uc);\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.edn.read_unicode_char.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.tools.reader.edn.upper_limit \x3d \x22\\uD7FF\x22.charCodeAt((0));\ncljs.tools.reader.edn.lower_limit \x3d \x22\\uE000\x22.charCodeAt((0));\ncljs.tools.reader.edn.read_char_STAR_ \x3d (function cljs$tools$reader$edn$read_char_STAR_(rdr,backslash,opts){\nvar ch \x3d cljs.tools.reader.reader_types.read_char(rdr);\nif((!((ch \x3d\x3d null)))){\nvar token \x3d ((((cljs.tools.reader.edn.macro_terminating_QMARK_(ch)) || (((cljs.tools.reader.edn.not_constituent_QMARK_(ch)) || (cljs.tools.reader.impl.utils.whitespace_QMARK_(ch))))))?cljs.core.str.cljs$core$IFn$_invoke$arity$1(ch):cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4(rdr,new cljs.core.Keyword(null,\x22character\x22,\x22character\x22,380652989),ch,false));\nvar token_len \x3d ((token).length);\nif(((1) \x3d\x3d\x3d token_len)){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,(0));\n} else {\nif((token \x3d\x3d\x3d \x22newline\x22)){\nreturn \x22\\n\x22;\n} else {\nif((token \x3d\x3d\x3d \x22space\x22)){\nreturn \x22 \x22;\n} else {\nif((token \x3d\x3d\x3d \x22tab\x22)){\nreturn \x22\\t\x22;\n} else {\nif((token \x3d\x3d\x3d \x22backspace\x22)){\nreturn \x22\\b\x22;\n} else {\nif((token \x3d\x3d\x3d \x22formfeed\x22)){\nreturn \x22\\f\x22;\n} else {\nif((token \x3d\x3d\x3d \x22return\x22)){\nreturn \x22\\r\x22;\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22u\x22))){\nvar c \x3d cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,(1),(4),(16));\nvar ic \x3d c.charCodeAt();\nif((((ic \x3e cljs.tools.reader.edn.upper_limit)) \x26\x26 ((ic \x3c cljs.tools.reader.edn.lower_limit)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_character_literal(rdr,ic.toString((16)));\n} else {\nreturn c;\n}\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22o\x22))){\nvar len \x3d (token_len - (1));\nif((len \x3e (3))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_octal_len(rdr,token);\n} else {\nvar uc \x3d cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,(1),len,(8));\nif(((uc | (0)) \x3e (255))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn uc;\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unsupported_character(rdr,token);\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.edn.starting_line_col_info \x3d (function cljs$tools$reader$edn$starting_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.tools.reader.reader_types.get_line_number(rdr),(((cljs.tools.reader.reader_types.get_column_number(rdr) | (0)) - (1)) | (0))], null);\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.edn.read_delimited \x3d (function cljs$tools$reader$edn$read_delimited(kind,delim,rdr,opts){\nvar vec__40778 \x3d cljs.tools.reader.edn.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40778,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40778,(1),null);\nvar delim__$1 \x3d cljs.tools.reader.impl.utils.char$(delim);\nvar a \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nvar ch \x3d cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr);\nif(cljs.core.truth_(ch)){\n} else {\ncljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,start_line,start_column,cljs.core.count(a));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(delim__$1,cljs.tools.reader.impl.utils.char$(ch))){\nreturn cljs.core.persistent_BANG_(a);\n} else {\nvar temp__5802__auto__ \x3d (cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.macros.call(null,ch));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar macrofn \x3d temp__5802__auto__;\nvar mret \x3d (macrofn.cljs$core$IFn$_invoke$arity$3 ? macrofn.cljs$core$IFn$_invoke$arity$3(rdr,ch,opts) : macrofn.call(null,rdr,ch,opts));\nvar G__40857 \x3d (((!((mret \x3d\x3d\x3d rdr))))?cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,mret):a);\na \x3d G__40857;\ncontinue;\n} else {\nvar o \x3d (function (){var G__40781 \x3d (function (){var G__40785 \x3d rdr;\ncljs.tools.reader.reader_types.unread(G__40785,ch);\n\nreturn G__40785;\n})();\nvar G__40782 \x3d true;\nvar G__40783 \x3d null;\nvar G__40784 \x3d opts;\nreturn (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(G__40781,G__40782,G__40783,G__40784) : cljs.tools.reader.edn.read.call(null,G__40781,G__40782,G__40783,G__40784));\n})();\nvar G__40858 \x3d (((!((o \x3d\x3d\x3d rdr))))?cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,o):a);\na \x3d G__40858;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.edn.read_list \x3d (function cljs$tools$reader$edn$read_list(rdr,_,opts){\nvar the_list \x3d cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),\x22)\x22,rdr,opts);\nif(cljs.core.empty_QMARK_(the_list)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,the_list);\n}\n});\ncljs.tools.reader.edn.read_vector \x3d (function cljs$tools$reader$edn$read_vector(rdr,_,opts){\nreturn cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),\x22]\x22,rdr,opts);\n});\ncljs.tools.reader.edn.read_map \x3d (function cljs$tools$reader$edn$read_map(rdr,_,opts){\nvar vec__40788 \x3d cljs.tools.reader.edn.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40788,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40788,(1),null);\nvar the_map \x3d cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),\x22}\x22,rdr,opts);\nvar map_count \x3d cljs.core.count(the_map);\nvar ks \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),the_map);\nvar key_set \x3d cljs.core.set(ks);\nif(cljs.core.odd_QMARK_(map_count)){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,start_line,start_column,the_map);\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(key_set),cljs.core.count(ks))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),ks);\n}\n\nif((map_count \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD))){\nreturn cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array(the_map),true,true);\n} else {\nreturn cljs.core.PersistentHashMap.fromArray(cljs.core.to_array(the_map),true);\n}\n});\ncljs.tools.reader.edn.read_number \x3d (function cljs$tools$reader$edn$read_number(rdr,initch,opts){\nvar sb \x3d (function (){var G__40791 \x3d (new goog.string.StringBuffer());\nG__40791.append(initch);\n\nreturn G__40791;\n})();\nvar ch \x3d cljs.tools.reader.reader_types.read_char(rdr);\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.macros.call(null,ch));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\nif((ch \x3d\x3d null)){\n} else {\ncljs.tools.reader.reader_types.unread(rdr,ch);\n}\n\nvar or__5025__auto__ \x3d cljs.tools.reader.impl.commons.match_number(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid_number(rdr,s);\n}\n} else {\nvar G__40861 \x3d (function (){var G__40792 \x3d sb;\nG__40792.append(ch);\n\nreturn G__40792;\n})();\nvar G__40862 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nsb \x3d G__40861;\nch \x3d G__40862;\ncontinue;\n}\nbreak;\n}\n});\ncljs.tools.reader.edn.escape_char \x3d (function cljs$tools$reader$edn$escape_char(sb,rdr){\nvar ch \x3d cljs.tools.reader.reader_types.read_char(rdr);\nvar G__40793 \x3d ch;\nswitch (G__40793) {\ncase \x22t\x22:\nreturn \x22\\t\x22;\n\nbreak;\ncase \x22r\x22:\nreturn \x22\\r\x22;\n\nbreak;\ncase \x22n\x22:\nreturn \x22\\n\x22;\n\nbreak;\ncase \x22\\\\\x22:\nreturn \x22\\\\\x22;\n\nbreak;\ncase \x22\\\x22\x22:\nreturn \x22\\\x22\x22;\n\nbreak;\ncase \x22b\x22:\nreturn \x22\\b\x22;\n\nbreak;\ncase \x22f\x22:\nreturn \x22\\f\x22;\n\nbreak;\ncase \x22u\x22:\nvar ch__$1 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nif(((-1) \x3d\x3d\x3d parseInt((ch__$1 | (0)),(16)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_escape(rdr,ch__$1);\n} else {\nreturn cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch__$1,(16),(4),true);\n}\n\nbreak;\ndefault:\nif(cljs.tools.reader.impl.utils.numeric_QMARK_(ch)){\nvar ch__$1 \x3d cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch,(8),(3),false);\nif(((ch__$1 | (0)) \x3e (255))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn ch__$1;\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_escape_char(rdr,ch);\n}\n\n}\n});\ncljs.tools.reader.edn.read_string_STAR_ \x3d (function cljs$tools$reader$edn$read_string_STAR_(rdr,_,opts){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d cljs.tools.reader.reader_types.read_char(rdr);\nwhile(true){\nvar G__40794 \x3d ch;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__40794)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\\x22\x22,sb], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\\\x22,G__40794)){\nvar G__40867 \x3d (function (){var G__40795 \x3d sb;\nG__40795.append(cljs.tools.reader.edn.escape_char(sb,rdr));\n\nreturn G__40795;\n})();\nvar G__40868 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nsb \x3d G__40867;\nch \x3d G__40868;\ncontinue;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\x22\x22,G__40794)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nvar G__40870 \x3d (function (){var G__40796 \x3d sb;\nG__40796.append(ch);\n\nreturn G__40796;\n})();\nvar G__40871 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nsb \x3d G__40870;\nch \x3d G__40871;\ncontinue;\n\n}\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.edn.read_symbol \x3d (function cljs$tools$reader$edn$read_symbol(rdr,initch){\nvar temp__5804__auto__ \x3d cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),initch);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar token \x3d temp__5804__auto__;\nvar G__40797 \x3d token;\nswitch (G__40797) {\ncase \x22nil\x22:\nreturn null;\n\nbreak;\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ncase \x22/\x22:\nreturn new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null);\n\nbreak;\ndefault:\nvar or__5025__auto__ \x3d (function (){var temp__5804__auto____$1 \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar p \x3d temp__5804__auto____$1;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1((0)) : p.call(null,(0))),(p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1((1)) : p.call(null,(1))));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),token);\n}\n\n}\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.edn.read_keyword \x3d (function cljs$tools$reader$edn$read_keyword(reader,initch,opts){\nvar ch \x3d cljs.tools.reader.reader_types.read_char(reader);\nif((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)))){\nvar token \x3d cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),ch);\nvar s \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d s;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((-1) \x3d\x3d\x3d token.indexOf(\x22::\x22));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar ns \x3d (s.cljs$core$IFn$_invoke$arity$1 ? s.cljs$core$IFn$_invoke$arity$1((0)) : s.call(null,(0)));\nvar name \x3d (s.cljs$core$IFn$_invoke$arity$1 ? s.cljs$core$IFn$_invoke$arity$1((1)) : s.call(null,(1)));\nif((\x22:\x22 \x3d\x3d\x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,(0)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(ns,name);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_single_colon(reader);\n}\n});\ncljs.tools.reader.edn.wrapping_reader \x3d (function cljs$tools$reader$edn$wrapping_reader(sym){\nreturn (function (rdr,_,opts){\nreturn (new cljs.core.List(null,sym,(new cljs.core.List(null,(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts)),null,(1),null)),(2),null));\n});\n});\ncljs.tools.reader.edn.read_meta \x3d (function cljs$tools$reader$edn$read_meta(rdr,_,opts){\nvar m \x3d cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o \x3d (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts));\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m], 0)));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n});\ncljs.tools.reader.edn.read_set \x3d (function cljs$tools$reader$edn$read_set(rdr,_,opts){\nvar coll \x3d cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),\x22}\x22,rdr,opts);\nvar the_set \x3d cljs.core.set(coll);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(coll),cljs.core.count(the_set))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),coll);\n}\n\nreturn the_set;\n});\ncljs.tools.reader.edn.read_discard \x3d (function cljs$tools$reader$edn$read_discard(rdr,_,opts){\nvar G__40804 \x3d rdr;\n(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(G__40804,true,null,true) : cljs.tools.reader.edn.read.call(null,G__40804,true,null,true));\n\nreturn G__40804;\n});\ncljs.tools.reader.edn.read_namespaced_map \x3d (function cljs$tools$reader$edn$read_namespaced_map(rdr,_,opts){\nvar token \x3d cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),cljs.tools.reader.reader_types.read_char(rdr));\nvar temp__5802__auto__ \x3d (function (){var G__40806 \x3d token;\nvar G__40806__$1 \x3d (((G__40806 \x3d\x3d null))?null:cljs.tools.reader.impl.commons.parse_symbol(G__40806));\nif((G__40806__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(G__40806__$1);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns \x3d temp__5802__auto__;\nvar ch \x3d cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr);\nif((ch \x3d\x3d\x3d \x22{\x22)){\nvar items \x3d cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),\x22}\x22,rdr,opts);\nif(cljs.core.odd_QMARK_(cljs.core.count(items))){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,null,null,items);\n} else {\n}\n\nvar keys \x3d cljs.tools.reader.impl.utils.namespace_keys(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),items));\nvar vals \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(items));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(cljs.core.set(keys)),cljs.core.count(keys))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),keys);\n}\n\nreturn cljs.core.zipmap(keys,vals);\n} else {\nreturn cljs.tools.reader.impl.errors.throw_ns_map_no_map(rdr,token);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_ns(rdr,token);\n}\n});\ncljs.tools.reader.edn.read_symbolic_value \x3d (function cljs$tools$reader$edn$read_symbolic_value(rdr,_,opts){\nvar sym \x3d (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts));\nvar G__40812 \x3d sym;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22NaN\x22,\x22NaN\x22,666918153,null),G__40812)){\nreturn Number.NaN;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-Inf\x22,\x22-Inf\x22,-2123243689,null),G__40812)){\nreturn Number.NEGATIVE_INFINITY;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22Inf\x22,\x22Inf\x22,647172781,null),G__40812)){\nreturn Number.POSITIVE_INFINITY;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22Invalid token: ##\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)], 0));\n\n}\n}\n}\n});\ncljs.tools.reader.edn.macros \x3d (function cljs$tools$reader$edn$macros(ch){\nvar G__40813 \x3d ch;\nswitch (G__40813) {\ncase \x22\\\x22\x22:\nreturn cljs.tools.reader.edn.read_string_STAR_;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.edn.read_keyword;\n\nbreak;\ncase \x22;\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22^\x22:\nreturn cljs.tools.reader.edn.read_meta;\n\nbreak;\ncase \x22(\x22:\nreturn cljs.tools.reader.edn.read_list;\n\nbreak;\ncase \x22)\x22:\nreturn cljs.tools.reader.edn.read_unmatched_delimiter;\n\nbreak;\ncase \x22[\x22:\nreturn cljs.tools.reader.edn.read_vector;\n\nbreak;\ncase \x22]\x22:\nreturn cljs.tools.reader.edn.read_unmatched_delimiter;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.edn.read_map;\n\nbreak;\ncase \x22}\x22:\nreturn cljs.tools.reader.edn.read_unmatched_delimiter;\n\nbreak;\ncase \x22\\\\\x22:\nreturn cljs.tools.reader.edn.read_char_STAR_;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.edn.read_dispatch;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.edn.dispatch_macros \x3d (function cljs$tools$reader$edn$dispatch_macros(ch){\nvar G__40814 \x3d ch;\nswitch (G__40814) {\ncase \x22^\x22:\nreturn cljs.tools.reader.edn.read_meta;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.edn.read_set;\n\nbreak;\ncase \x22\x3c\x22:\nreturn cljs.tools.reader.impl.commons.throwing_reader(\x22Unreadable form\x22);\n\nbreak;\ncase \x22!\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22_\x22:\nreturn cljs.tools.reader.edn.read_discard;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.edn.read_namespaced_map;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.edn.read_symbolic_value;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.edn.read_tagged \x3d (function cljs$tools$reader$edn$read_tagged(rdr,initch,opts){\nvar tag \x3d (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts));\nvar object \x3d (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts));\nif((!((tag instanceof cljs.core.Symbol)))){\ncljs.tools.reader.impl.errors.throw_bad_reader_tag(rdr,\x22Reader tag must be a symbol\x22);\n} else {\n}\n\nvar temp__5802__auto__ \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030).cljs$core$IFn$_invoke$arity$1(opts),tag);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1(tag) : cljs.tools.reader.default_data_readers.call(null,tag));\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f \x3d temp__5802__auto__;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(object) : f.call(null,object));\n} else {\nvar temp__5802__auto____$1 \x3d new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar d \x3d temp__5802__auto____$1;\nreturn (d.cljs$core$IFn$_invoke$arity$2 ? d.cljs$core$IFn$_invoke$arity$2(tag,object) : d.call(null,tag,object));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unknown_reader_tag(rdr,tag);\n}\n}\n});\n/**\n * Reads the first object from an IPushbackReader.\n * Returns the object read. If EOF, throws if eof-error? is true otherwise returns eof.\n * If no reader is provided, *in* will be used.\n * \n * Reads data in the edn format (subset of Clojure data):\n * http://edn-format.org\n * \n * cljs.tools.reader.edn/read doesn\x27t depend on dynamic Vars, all configuration\n * is done by passing an opt map.\n * \n * opts is a map that can include the following keys:\n * :eof - value to return on end-of-file. When not supplied, eof throws an exception.\n * :readers  - a map of tag symbols to data-reader functions to be considered before default-data-readers.\n *            When not supplied, only the default-data-readers will be used.\n * :default - A function of two args, that will, if present and no reader is found for a tag,\n *            be called with the tag and the value.\n */\ncljs.tools.reader.edn.read \x3d (function cljs$tools$reader$edn$read(var_args){\nvar G__40819 \x3d arguments.length;\nswitch (G__40819) {\ncase 1:\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,reader);\n}));\n\n(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2 \x3d (function (p__40823,reader){\nvar map__40824 \x3d p__40823;\nvar map__40824__$1 \x3d cljs.core.__destructure_map(map__40824);\nvar opts \x3d map__40824__$1;\nvar eof \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40824__$1,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237));\nvar eof_error_QMARK_ \x3d (!(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237))));\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(reader,eof_error_QMARK_,eof,opts);\n}));\n\n(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 \x3d (function (reader,eof_error_QMARK_,eof,opts){\ntry{while(true){\nvar ch \x3d cljs.tools.reader.reader_types.read_char(reader);\nif(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)){\ncontinue;\n} else {\nif((ch \x3d\x3d null)){\nif(cljs.core.truth_(eof_error_QMARK_)){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(reader,null);\n} else {\nreturn eof;\n}\n} else {\nif(cljs.tools.reader.impl.commons.number_literal_QMARK_(reader,ch)){\nreturn cljs.tools.reader.edn.read_number(reader,ch,opts);\n} else {\nvar f \x3d cljs.tools.reader.edn.macros(ch);\nif(cljs.core.truth_(f)){\nvar res \x3d (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(reader,ch,opts) : f.call(null,reader,ch,opts));\nif((res \x3d\x3d\x3d reader)){\ncontinue;\n} else {\nreturn res;\n}\n} else {\nreturn cljs.tools.reader.edn.read_symbol(reader,ch);\n}\n\n}\n}\n}\nbreak;\n}\n}catch (e40826){if((e40826 instanceof Error)){\nvar e \x3d e40826;\nif(cljs.tools.reader.impl.utils.ex_info_QMARK_(e)){\nvar d \x3d cljs.core.ex_data(e);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(d))){\nthrow e;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),d,((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.tools.reader.reader_types.get_line_number(reader),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),cljs.tools.reader.reader_types.get_column_number(reader),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.tools.reader.reader_types.get_file_name(reader)], null):null)], 0)),e);\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.tools.reader.reader_types.get_line_number(reader),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),cljs.tools.reader.reader_types.get_column_number(reader),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.tools.reader.reader_types.get_file_name(reader)], null):null)], 0)),e);\n}\n} else {\nthrow e40826;\n\n}\n}}));\n\n(cljs.tools.reader.edn.read.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Reads one object from the string s.\n * Returns nil when s is nil or empty.\n * \n * Reads data in the edn format (subset of Clojure data):\n * http://edn-format.org\n * \n * opts is a map as per cljs.tools.reader.edn/read\n */\ncljs.tools.reader.edn.read_string \x3d (function cljs$tools$reader$edn$read_string(var_args){\nvar G__40834 \x3d arguments.length;\nswitch (G__40834) {\ncase 1:\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),null], null),s);\n}));\n\n(cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,s){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d s;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\x22);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(opts,cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.edn.read_string.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("cljs.reader.js", true, "goog.provide(\x27cljs.reader\x27);\ngoog.scope(function(){\n  cljs.reader.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ncljs.reader.zero_fill_right_and_truncate \x3d (function cljs$reader$zero_fill_right_and_truncate(s,width){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(width,cljs.core.count(s))){\nreturn s;\n} else {\nif((width \x3c cljs.core.count(s))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),width);\n} else {\nvar b \x3d (new goog.string.StringBuffer(s));\nwhile(true){\nif((b.getLength() \x3c width)){\nvar G__40946 \x3d b.append(\x220\x22);\nb \x3d G__40946;\ncontinue;\n} else {\nreturn b.toString();\n}\nbreak;\n}\n\n}\n}\n});\ncljs.reader.divisible_QMARK_ \x3d (function cljs$reader$divisible_QMARK_(num,div){\nreturn (cljs.core.mod(num,div) \x3d\x3d\x3d (0));\n});\ncljs.reader.indivisible_QMARK_ \x3d (function cljs$reader$indivisible_QMARK_(num,div){\nreturn (!(cljs.reader.divisible_QMARK_(num,div)));\n});\ncljs.reader.leap_year_QMARK_ \x3d (function cljs$reader$leap_year_QMARK_(year){\nreturn ((cljs.reader.divisible_QMARK_(year,(4))) \x26\x26 (((cljs.reader.indivisible_QMARK_(year,(100))) || (cljs.reader.divisible_QMARK_(year,(400))))));\n});\ncljs.reader.days_in_month \x3d (function (){var dim_norm \x3d new cljs.core.PersistentVector(null, 13, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,(31),(28),(31),(30),(31),(30),(31),(31),(30),(31),(30),(31)], null);\nvar dim_leap \x3d new cljs.core.PersistentVector(null, 13, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,(31),(29),(31),(30),(31),(30),(31),(31),(30),(31),(30),(31)], null);\nreturn (function (month,leap_year_QMARK_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(leap_year_QMARK_)?dim_leap:dim_norm),month);\n});\n})();\ncljs.reader.timestamp_regex \x3d /(\\d\\d\\d\\d)(?:-(\\d\\d)(?:-(\\d\\d)(?:[T](\\d\\d)(?::(\\d\\d)(?::(\\d\\d)(?:[.](\\d+))?)?)?)?)?)?(?:[Z]|([-+])(\\d\\d):(\\d\\d))?/;\ncljs.reader.parse_int \x3d (function cljs$reader$parse_int(s){\nvar n \x3d parseInt(s,(10));\nif(cljs.core.not(isNaN(n))){\nreturn n;\n} else {\nreturn null;\n}\n});\ncljs.reader.check \x3d (function cljs$reader$check(low,n,high,msg){\nif((((low \x3c\x3d n)) \x26\x26 ((n \x3c\x3d high)))){\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg),\x22 Failed:  \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(low),\x22\x3c\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22\x3c\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(high)].join(\x27\x27)));\n}\n\nreturn n;\n});\ncljs.reader.parse_and_validate_timestamp \x3d (function cljs$reader$parse_and_validate_timestamp(s){\nvar vec__40891 \x3d cljs.core.re_matches(cljs.reader.timestamp_regex,s);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(0),null);\nvar years \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(1),null);\nvar months \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(2),null);\nvar days \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(3),null);\nvar hours \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(4),null);\nvar minutes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(5),null);\nvar seconds \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(6),null);\nvar fraction \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(7),null);\nvar offset_sign \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(8),null);\nvar offset_hours \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(9),null);\nvar offset_minutes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40891,(10),null);\nvar v \x3d vec__40891;\nif(cljs.core.not(v)){\nthrow (new Error([\x22Unrecognized date/time syntax: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(s)].join(\x27\x27)));\n} else {\nvar years__$1 \x3d cljs.reader.parse_int(years);\nvar months__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(months);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (1);\n}\n})();\nvar days__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(days);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (1);\n}\n})();\nvar hours__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(hours);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar minutes__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(minutes);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar seconds__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(seconds);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar fraction__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(cljs.reader.zero_fill_right_and_truncate(fraction,(3)));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar offset_sign__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(offset_sign,\x22-\x22))?(-1):(1));\nvar offset_hours__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(offset_hours);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar offset_minutes__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(offset_minutes);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar offset \x3d (offset_sign__$1 * ((offset_hours__$1 * (60)) + offset_minutes__$1));\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [years__$1,cljs.reader.check((1),months__$1,(12),\x22timestamp month field must be in range 1..12\x22),cljs.reader.check((1),days__$1,cljs.reader.days_in_month(months__$1,cljs.reader.leap_year_QMARK_(years__$1)),\x22timestamp day field must be in range 1..last day in month\x22),cljs.reader.check((0),hours__$1,(23),\x22timestamp hour field must be in range 0..23\x22),cljs.reader.check((0),minutes__$1,(59),\x22timestamp minute field must be in range 0..59\x22),cljs.reader.check((0),seconds__$1,((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(minutes__$1,(59)))?(60):(59)),\x22timestamp second field must be in range 0..60\x22),cljs.reader.check((0),fraction__$1,(999),\x22timestamp millisecond field must be in range 0..999\x22),offset], null);\n}\n});\ncljs.reader.parse_timestamp \x3d (function cljs$reader$parse_timestamp(ts){\nvar temp__5802__auto__ \x3d cljs.reader.parse_and_validate_timestamp(ts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__40894 \x3d temp__5802__auto__;\nvar years \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40894,(0),null);\nvar months \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40894,(1),null);\nvar days \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40894,(2),null);\nvar hours \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40894,(3),null);\nvar minutes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40894,(4),null);\nvar seconds \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40894,(5),null);\nvar ms \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40894,(6),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40894,(7),null);\nreturn (new Date((Date.UTC(years,(months - (1)),days,hours,minutes,seconds,ms) - ((offset * (60)) * (1000)))));\n} else {\nthrow (new Error([\x22Unrecognized date/time syntax: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ts)].join(\x27\x27)));\n}\n});\ncljs.reader.read_date \x3d (function cljs$reader$read_date(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nreturn cljs.reader.parse_timestamp(s);\n} else {\nthrow (new Error(\x22Instance literal expects a string for its timestamp.\x22));\n}\n});\ncljs.reader.read_queue \x3d (function cljs$reader$read_queue(elems){\nif(cljs.core.vector_QMARK_(elems)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentQueue.EMPTY,elems);\n} else {\nthrow (new Error(\x22Queue literal expects a vector for its elements.\x22));\n}\n});\ncljs.reader.read_js \x3d (function cljs$reader$read_js(form){\nif(cljs.core.vector_QMARK_(form)){\nvar arr \x3d [];\nvar seq__40897_40947 \x3d cljs.core.seq(form);\nvar chunk__40898_40948 \x3d null;\nvar count__40899_40949 \x3d (0);\nvar i__40900_40950 \x3d (0);\nwhile(true){\nif((i__40900_40950 \x3c count__40899_40949)){\nvar x_40951 \x3d chunk__40898_40948.cljs$core$IIndexed$_nth$arity$2(null,i__40900_40950);\narr.push(x_40951);\n\n\nvar G__40952 \x3d seq__40897_40947;\nvar G__40953 \x3d chunk__40898_40948;\nvar G__40954 \x3d count__40899_40949;\nvar G__40955 \x3d (i__40900_40950 + (1));\nseq__40897_40947 \x3d G__40952;\nchunk__40898_40948 \x3d G__40953;\ncount__40899_40949 \x3d G__40954;\ni__40900_40950 \x3d G__40955;\ncontinue;\n} else {\nvar temp__5804__auto___40956 \x3d cljs.core.seq(seq__40897_40947);\nif(temp__5804__auto___40956){\nvar seq__40897_40957__$1 \x3d temp__5804__auto___40956;\nif(cljs.core.chunked_seq_QMARK_(seq__40897_40957__$1)){\nvar c__5548__auto___40958 \x3d cljs.core.chunk_first(seq__40897_40957__$1);\nvar G__40959 \x3d cljs.core.chunk_rest(seq__40897_40957__$1);\nvar G__40960 \x3d c__5548__auto___40958;\nvar G__40961 \x3d cljs.core.count(c__5548__auto___40958);\nvar G__40962 \x3d (0);\nseq__40897_40947 \x3d G__40959;\nchunk__40898_40948 \x3d G__40960;\ncount__40899_40949 \x3d G__40961;\ni__40900_40950 \x3d G__40962;\ncontinue;\n} else {\nvar x_40963 \x3d cljs.core.first(seq__40897_40957__$1);\narr.push(x_40963);\n\n\nvar G__40964 \x3d cljs.core.next(seq__40897_40957__$1);\nvar G__40965 \x3d null;\nvar G__40966 \x3d (0);\nvar G__40967 \x3d (0);\nseq__40897_40947 \x3d G__40964;\nchunk__40898_40948 \x3d G__40965;\ncount__40899_40949 \x3d G__40966;\ni__40900_40950 \x3d G__40967;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn arr;\n} else {\nif(cljs.core.map_QMARK_(form)){\nvar obj \x3d ({});\nvar seq__40908_40968 \x3d cljs.core.seq(form);\nvar chunk__40909_40969 \x3d null;\nvar count__40910_40970 \x3d (0);\nvar i__40911_40971 \x3d (0);\nwhile(true){\nif((i__40911_40971 \x3c count__40910_40970)){\nvar vec__40922_40972 \x3d chunk__40909_40969.cljs$core$IIndexed$_nth$arity$2(null,i__40911_40971);\nvar k_40973 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40922_40972,(0),null);\nvar v_40974 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40922_40972,(1),null);\ncljs.reader.goog$module$goog$object.set(obj,cljs.core.name(k_40973),v_40974);\n\n\nvar G__40975 \x3d seq__40908_40968;\nvar G__40976 \x3d chunk__40909_40969;\nvar G__40977 \x3d count__40910_40970;\nvar G__40978 \x3d (i__40911_40971 + (1));\nseq__40908_40968 \x3d G__40975;\nchunk__40909_40969 \x3d G__40976;\ncount__40910_40970 \x3d G__40977;\ni__40911_40971 \x3d G__40978;\ncontinue;\n} else {\nvar temp__5804__auto___40979 \x3d cljs.core.seq(seq__40908_40968);\nif(temp__5804__auto___40979){\nvar seq__40908_40980__$1 \x3d temp__5804__auto___40979;\nif(cljs.core.chunked_seq_QMARK_(seq__40908_40980__$1)){\nvar c__5548__auto___40981 \x3d cljs.core.chunk_first(seq__40908_40980__$1);\nvar G__40982 \x3d cljs.core.chunk_rest(seq__40908_40980__$1);\nvar G__40983 \x3d c__5548__auto___40981;\nvar G__40984 \x3d cljs.core.count(c__5548__auto___40981);\nvar G__40985 \x3d (0);\nseq__40908_40968 \x3d G__40982;\nchunk__40909_40969 \x3d G__40983;\ncount__40910_40970 \x3d G__40984;\ni__40911_40971 \x3d G__40985;\ncontinue;\n} else {\nvar vec__40926_40986 \x3d cljs.core.first(seq__40908_40980__$1);\nvar k_40987 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40926_40986,(0),null);\nvar v_40988 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40926_40986,(1),null);\ncljs.reader.goog$module$goog$object.set(obj,cljs.core.name(k_40987),v_40988);\n\n\nvar G__40989 \x3d cljs.core.next(seq__40908_40980__$1);\nvar G__40990 \x3d null;\nvar G__40991 \x3d (0);\nvar G__40992 \x3d (0);\nseq__40908_40968 \x3d G__40989;\nchunk__40909_40969 \x3d G__40990;\ncount__40910_40970 \x3d G__40991;\ni__40911_40971 \x3d G__40992;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn obj;\n} else {\nthrow (new Error([\x22JS literal expects a vector or map containing \x22,\x22only string or unqualified keyword keys\x22].join(\x27\x27)));\n\n}\n}\n});\ncljs.reader.read_uuid \x3d (function cljs$reader$read_uuid(uuid){\nif(typeof uuid \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.uuid(uuid);\n} else {\nthrow (new Error(\x22UUID literal expects a string as its representation.\x22));\n}\n});\ncljs.reader._STAR_default_data_reader_fn_STAR_ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\ncljs.reader._STAR_tag_table_STAR_ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22inst\x22,\x22inst\x22,-2008473268,null),cljs.reader.read_date,new cljs.core.Symbol(null,\x22uuid\x22,\x22uuid\x22,-504564192,null),cljs.reader.read_uuid,new cljs.core.Symbol(null,\x22queue\x22,\x22queue\x22,-1198599890,null),cljs.reader.read_queue,new cljs.core.Symbol(null,\x22js\x22,\x22js\x22,-886355190,null),cljs.reader.read_js], null),cljs.core.PersistentArrayMap.EMPTY], 0)));\n/**\n * Reads the first object from an cljs.tools.reader.reader-types/IPushbackReader.\n * Returns the object read. If EOF, throws if eof-error? is true otherwise returns eof.\n * If no reader is provided, *in* will be used.\n * \n * Reads data in the edn format (subset of Clojure data):\n * http://edn-format.org\n * \n * cljs.tools.reader.edn/read doesn\x27t depend on dynamic Vars, all configuration\n * is done by passing an opt map.\n * \n * opts is a map that can include the following keys:\n * :eof - value to return on end-of-file. When not supplied, eof throws an exception.\n * :readers  - a map of tag symbols to data-reader functions to be considered before default-data-readers.\n *            When not supplied, only the default-data-readers will be used.\n * :default - A function of two args, that will, if present and no reader is found for a tag,\n *            be called with the tag and the value.\n */\ncljs.reader.read \x3d (function cljs$reader$read(var_args){\nvar G__40934 \x3d arguments.length;\nswitch (G__40934) {\ncase 1:\nreturn cljs.reader.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.reader.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.reader.read.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.reader.read.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_),new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),null], null),reader);\n}));\n\n(cljs.reader.read.cljs$core$IFn$_invoke$arity$2 \x3d (function (p__40937,reader){\nvar map__40938 \x3d p__40937;\nvar map__40938__$1 \x3d cljs.core.__destructure_map(map__40938);\nvar opts \x3d map__40938__$1;\nvar eof \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40938__$1,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237));\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([opts,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_)], null)], 0)),new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),(function (m){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),m], 0));\n})),reader);\n}));\n\n(cljs.reader.read.cljs$core$IFn$_invoke$arity$4 \x3d (function (reader,eof_error_QMARK_,eof,opts){\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(reader,eof_error_QMARK_,eof,cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([opts,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_)], null)], 0)),new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),(function (m){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),m], 0));\n})));\n}));\n\n(cljs.reader.read.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Reads one object from the string s.\n * Returns nil when s is nil or empty.\n * \n * Reads data in the edn format (subset of Clojure data):\n * http://edn-format.org\n * \n * opts is a map as per cljs.tools.reader.edn/read\n */\ncljs.reader.read_string \x3d (function cljs$reader$read_string(var_args){\nvar G__40943 \x3d arguments.length;\nswitch (G__40943) {\ncase 1:\nreturn cljs.reader.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.reader.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.reader.read_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_),new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),null], null),s);\n}));\n\n(cljs.reader.read_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,s){\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_)], null),opts], 0)),new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),(function (m){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),m], 0));\n})),s);\n}));\n\n(cljs.reader.read_string.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.reader.register_tag_parser_BANG_ \x3d (function cljs$reader$register_tag_parser_BANG_(tag,f){\nvar old_parser \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),tag);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.reader._STAR_tag_table_STAR_,cljs.core.assoc,tag,f);\n\nreturn old_parser;\n});\ncljs.reader.deregister_tag_parser_BANG_ \x3d (function cljs$reader$deregister_tag_parser_BANG_(tag){\nvar old_parser \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),tag);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.reader._STAR_tag_table_STAR_,cljs.core.dissoc,tag);\n\nreturn old_parser;\n});\ncljs.reader.register_default_tag_parser_BANG_ \x3d (function cljs$reader$register_default_tag_parser_BANG_(f){\nvar old_parser \x3d cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.reader._STAR_default_data_reader_fn_STAR_,(function (_){\nreturn f;\n}));\n\nreturn old_parser;\n});\ncljs.reader.deregister_default_tag_parser_BANG_ \x3d (function cljs$reader$deregister_default_tag_parser_BANG_(){\nvar old_parser \x3d cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.reader._STAR_default_data_reader_fn_STAR_,(function (_){\nreturn null;\n}));\n\nreturn old_parser;\n});\n");
SHADOW_ENV.evalLoad("edamame.impl.ns_parser.js", true, "goog.provide(\x27edamame.impl.ns_parser\x27);\n/**\n * Returns true if x is a libspec\n */\nedamame.impl.ns_parser.libspec_QMARK_ \x3d (function edamame$impl$ns_parser$libspec_QMARK_(x){\nreturn (((x instanceof cljs.core.Symbol)) || (((cljs.core.vector_QMARK_(x)) \x26\x26 ((((cljs.core.second(x) \x3d\x3d null)) || ((cljs.core.second(x) instanceof cljs.core.Keyword)))))));\n});\n/**\n * Prepends a symbol or a seq to coll\n */\nedamame.impl.ns_parser.prependss \x3d (function edamame$impl$ns_parser$prependss(x,coll){\nif((x instanceof cljs.core.Symbol)){\nreturn cljs.core.cons(x,coll);\n} else {\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,coll);\n}\n});\nedamame.impl.ns_parser.load_lib \x3d (function edamame$impl$ns_parser$load_lib(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39144 \x3d arguments.length;\nvar i__5750__auto___39145 \x3d (0);\nwhile(true){\nif((i__5750__auto___39145 \x3c len__5749__auto___39144)){\nargs__5755__auto__.push((arguments[i__5750__auto___39145]));\n\nvar G__39146 \x3d (i__5750__auto___39145 + (1));\ni__5750__auto___39145 \x3d G__39146;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn edamame.impl.ns_parser.load_lib.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(edamame.impl.ns_parser.load_lib.cljs$core$IFn$_invoke$arity$variadic \x3d (function (prefix,lib,options){\nvar lib__$1 \x3d (cljs.core.truth_(prefix)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib)].join(\x27\x27)):lib);\nvar opts \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,options);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22lib\x22,\x22lib\x22,191808726),lib__$1);\n}));\n\n(edamame.impl.ns_parser.load_lib.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(edamame.impl.ns_parser.load_lib.cljs$lang$applyTo \x3d (function (seq39091){\nvar G__39093 \x3d cljs.core.first(seq39091);\nvar seq39091__$1 \x3d cljs.core.next(seq39091);\nvar G__39094 \x3d cljs.core.first(seq39091__$1);\nvar seq39091__$2 \x3d cljs.core.next(seq39091__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39093,G__39094,seq39091__$2);\n}));\n\nedamame.impl.ns_parser.load_libs \x3d (function edamame$impl$ns_parser$load_libs(kw,args){\nvar args_STAR_ \x3d cljs.core.cons(kw,args);\nvar flags \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword_QMARK_,args_STAR_);\nvar opts \x3d cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(flags,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(true));\nvar args_STAR___$1 \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(cljs.core.keyword_QMARK_),args_STAR_);\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (arg){\nif(edamame.impl.ns_parser.libspec_QMARK_(arg)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$3(edamame.impl.ns_parser.load_lib,null,edamame.impl.ns_parser.prependss(arg,opts))], null);\n} else {\nvar vec__39106 \x3d arg;\nvar seq__39107 \x3d cljs.core.seq(vec__39106);\nvar first__39108 \x3d cljs.core.first(seq__39107);\nvar seq__39107__$1 \x3d cljs.core.next(seq__39107);\nvar prefix \x3d first__39108;\nvar args_STAR___$2 \x3d seq__39107__$1;\nif((prefix \x3d\x3d null)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22prefix cannot be nil\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n} else {\n}\n\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (arg__$1){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$3(edamame.impl.ns_parser.load_lib,prefix,edamame.impl.ns_parser.prependss(arg__$1,opts))], null);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args_STAR___$2], 0));\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args_STAR___$1], 0));\n});\nedamame.impl.ns_parser._ns \x3d (function edamame$impl$ns_parser$_ns(p__39118){\nvar vec__39119 \x3d p__39118;\nvar seq__39120 \x3d cljs.core.seq(vec__39119);\nvar first__39121 \x3d cljs.core.first(seq__39120);\nvar seq__39120__$1 \x3d cljs.core.next(seq__39120);\nvar _ns \x3d first__39121;\nvar first__39121__$1 \x3d cljs.core.first(seq__39120__$1);\nvar seq__39120__$2 \x3d cljs.core.next(seq__39120__$1);\nvar name \x3d first__39121__$1;\nvar references \x3d seq__39120__$2;\nvar docstring \x3d ((typeof cljs.core.first(references) \x3d\x3d\x3d \x27string\x27)?cljs.core.first(references):null);\nvar references__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.next(references):references);\nvar name__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(name,cljs.core.assoc,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):name);\nvar metadata \x3d ((cljs.core.map_QMARK_(cljs.core.first(references__$1)))?cljs.core.first(references__$1):null);\nvar references__$2 \x3d (cljs.core.truth_(metadata)?cljs.core.next(references__$1):references__$1);\nvar references__$3 \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.seq_QMARK_,references__$2);\nvar references__$4 \x3d cljs.core.group_by(cljs.core.first,references__$3);\nvar requires \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__39110_SHARP_){\nreturn edamame.impl.ns_parser.load_libs(new cljs.core.Keyword(null,\x22require\x22,\x22require\x22,-468001333),cljs.core.rest(p1__39110_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22require\x22,\x22require\x22,-468001333).cljs$core$IFn$_invoke$arity$1(references__$4)], 0));\nvar imports \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p__39128){\nvar vec__39129 \x3d p__39128;\nvar seq__39130 \x3d cljs.core.seq(vec__39129);\nvar first__39131 \x3d cljs.core.first(seq__39130);\nvar seq__39130__$1 \x3d cljs.core.next(seq__39130);\nvar _ \x3d first__39131;\nvar specs \x3d seq__39130__$1;\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (spec){\nif((spec instanceof cljs.core.Symbol)){\nvar last_dot_idx \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec),\x22.\x22);\nvar spec_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec);\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22full-classname\x22,\x22full-classname\x22,-750434875),spec,new cljs.core.Keyword(null,\x22classname\x22,\x22classname\x22,777390796),(cljs.core.truth_(last_dot_idx)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(spec_str,(last_dot_idx + (1)))):spec),new cljs.core.Keyword(null,\x22package\x22,\x22package\x22,1189062786),(cljs.core.truth_(last_dot_idx)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(spec_str,(0),last_dot_idx)):null)], null)], null);\n} else {\nvar vec__39135 \x3d spec;\nvar seq__39136 \x3d cljs.core.seq(vec__39135);\nvar first__39137 \x3d cljs.core.first(seq__39136);\nvar seq__39136__$1 \x3d cljs.core.next(seq__39136);\nvar pkg \x3d first__39137;\nvar classes \x3d seq__39136__$1;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (clazz){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22full-classname\x22,\x22full-classname\x22,-750434875),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(pkg),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(clazz)].join(\x27\x27)),new cljs.core.Keyword(null,\x22package\x22,\x22package\x22,1189062786),pkg,new cljs.core.Keyword(null,\x22classname\x22,\x22classname\x22,777390796),clazz], null);\n}),classes);\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([specs], 0));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22import\x22,\x22import\x22,-1399500709).cljs$core$IFn$_invoke$arity$1(references__$4)], 0));\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),name__$1,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),metadata,new cljs.core.Keyword(null,\x22requires\x22,\x22requires\x22,-1201390927),requires,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (acc,require){\nvar temp__5802__auto__ \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641).cljs$core$IFn$_invoke$arity$1(require);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22as-alias\x22,\x22as-alias\x22,82482467).cljs$core$IFn$_invoke$arity$1(require);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar alias \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,alias,new cljs.core.Keyword(null,\x22lib\x22,\x22lib\x22,191808726).cljs$core$IFn$_invoke$arity$1(require));\n} else {\nreturn acc;\n}\n}),cljs.core.PersistentArrayMap.EMPTY,requires),new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),imports], null);\n});\nedamame.impl.ns_parser.parse_ns_form \x3d (function edamame$impl$ns_parser$parse_ns_form(ns_form){\nreturn edamame.impl.ns_parser._ns(ns_form);\n});\n");
SHADOW_ENV.evalLoad("cljs.tagged_literals.js", true, "goog.provide(\x27cljs.tagged_literals\x27);\ncljs.tagged_literals.read_queue \x3d (function cljs$tagged_literals$read_queue(form){\nif(cljs.core.vector_QMARK_(form)){\n} else {\nthrow (new Error(\x22Queue literal expects a vector for its elements.\x22));\n}\n\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22into\x22,\x22cljs.core/into\x22,1879938733,null),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22cljs.core.PersistentQueue.EMPTY\x22,\x22cljs.core.PersistentQueue.EMPTY\x22,399917828,null),(new cljs.core.List(null,form,null,(1),null)),(2),null)),(3),null));\n});\ncljs.tagged_literals.read_uuid \x3d (function cljs$tagged_literals$read_uuid(form){\nif(typeof form \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22UUID literal expects a string as its representation.\x22));\n}\n\ntry{return cljs.core.uuid(form);\n}catch (e41000){var e \x3d e41000;\nthrow (new Error(e.message));\n}});\ncljs.tagged_literals.read_inst \x3d (function cljs$tagged_literals$read_inst(form){\nif(typeof form \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Instance literal expects a string for its timestamp.\x22));\n}\n\ntry{var fexpr__41014 \x3d new cljs.core.Var(function(){return cljs.reader.read_date;},new cljs.core.Symbol(\x22cljs.reader\x22,\x22read-date\x22,\x22cljs.reader/read-date\x22,1663417238,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.reader\x22,\x22cljs.reader\x22,1327473948,null),new cljs.core.Symbol(null,\x22read-date\x22,\x22read-date\x22,1874308181,null),\x22cljs/reader.cljs\x22,26,1,92,92,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),null,(cljs.core.truth_(cljs.reader.read_date)?cljs.reader.read_date.cljs$lang$test:null)]));\nreturn (fexpr__41014.cljs$core$IFn$_invoke$arity$1 ? fexpr__41014.cljs$core$IFn$_invoke$arity$1(form) : fexpr__41014.call(null,form));\n}catch (e41012){var e \x3d e41012;\nthrow (new Error(e.message));\n}});\ncljs.tagged_literals.valid_js_literal_key_QMARK_ \x3d (function cljs$tagged_literals$valid_js_literal_key_QMARK_(k){\nreturn ((typeof k \x3d\x3d\x3d \x27string\x27) || ((((k instanceof cljs.core.Keyword)) \x26\x26 ((cljs.core.namespace(k) \x3d\x3d null)))));\n});\n\n/**\n* @constructor\n*/\ncljs.tagged_literals.JSValue \x3d (function (val){\nthis.val \x3d val;\n});\n\n(cljs.tagged_literals.JSValue.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.tagged_literals.JSValue.cljs$lang$type \x3d true);\n\n(cljs.tagged_literals.JSValue.cljs$lang$ctorStr \x3d \x22cljs.tagged-literals/JSValue\x22);\n\n(cljs.tagged_literals.JSValue.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tagged-literals/JSValue\x22);\n}));\n\n/**\n * Positional factory function for cljs.tagged-literals/JSValue.\n */\ncljs.tagged_literals.__GT_JSValue \x3d (function cljs$tagged_literals$__GT_JSValue(val){\nreturn (new cljs.tagged_literals.JSValue(val));\n});\n\ncljs.tagged_literals.read_js \x3d (function cljs$tagged_literals$read_js(form){\nif(((cljs.core.vector_QMARK_(form)) || (cljs.core.map_QMARK_(form)))){\n} else {\nthrow (new Error(\x22JavaScript literal must use map or vector notation\x22));\n}\n\nif((((!(cljs.core.map_QMARK_(form)))) || (cljs.core.every_QMARK_(cljs.tagged_literals.valid_js_literal_key_QMARK_,cljs.core.keys(form))))){\n} else {\nthrow (new Error(\x22JavaScript literal keys must be strings or unqualified keywords\x22));\n}\n\nreturn (new cljs.tagged_literals.JSValue(form));\n});\ncljs.tagged_literals._STAR_cljs_data_readers_STAR_ \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22queue\x22,\x22queue\x22,-1198599890,null),cljs.tagged_literals.read_queue,new cljs.core.Symbol(null,\x22uuid\x22,\x22uuid\x22,-504564192,null),cljs.tagged_literals.read_uuid,new cljs.core.Symbol(null,\x22inst\x22,\x22inst\x22,-2008473268,null),cljs.tagged_literals.read_inst,new cljs.core.Symbol(null,\x22js\x22,\x22js\x22,-886355190,null),cljs.tagged_literals.read_js], null)], 0));\n");
SHADOW_ENV.evalLoad("edamame.impl.macros.js", true, "goog.provide(\x27edamame.impl.macros\x27);\n");
SHADOW_ENV.evalLoad("edamame.impl.read_fn.js", true, "goog.provide(\x27edamame.impl.read_fn\x27);\n/**\n * Preserves metadata, unlike clojure.walk/walk.\n */\nedamame.impl.read_fn.walk_STAR_ \x3d (function edamame$impl$read_fn$walk_STAR_(inner,outer,form){\nif(cljs.core.list_QMARK_(form)){\nreturn cljs.core.with_meta((function (){var G__39324 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39324) : outer.call(null,G__39324));\n})(),cljs.core.meta(form));\n} else {\nif(cljs.core.map_entry_QMARK_(form)){\nvar G__39325 \x3d (new cljs.core.MapEntry((function (){var G__39326 \x3d cljs.core.key(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__39326) : inner.call(null,G__39326));\n})(),(function (){var G__39327 \x3d cljs.core.val(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__39327) : inner.call(null,G__39327));\n})(),null));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39325) : outer.call(null,G__39325));\n} else {\nif(cljs.core.seq_QMARK_(form)){\nreturn cljs.core.with_meta((function (){var G__39331 \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39331) : outer.call(null,G__39331));\n})(),cljs.core.meta(form));\n} else {\nif(cljs.core.record_QMARK_(form)){\nvar G__39332 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,x){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(x) : inner.call(null,x)));\n}),form,form);\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39332) : outer.call(null,G__39332));\n} else {\nif(cljs.core.coll_QMARK_(form)){\nvar G__39333 \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(form),cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39333) : outer.call(null,G__39333));\n} else {\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(form) : outer.call(null,form));\n\n}\n}\n}\n}\n}\n});\n/**\n * Preserves metadata, unlike clojure.walk/postwalk.\n */\nedamame.impl.read_fn.postwalk_STAR_ \x3d (function edamame$impl$read_fn$postwalk_STAR_(f,form){\nreturn edamame.impl.read_fn.walk_STAR_(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(edamame.impl.read_fn.postwalk_STAR_,f),f,form);\n});\nedamame.impl.read_fn.read_fn \x3d (function edamame$impl$read_fn$read_fn(expr){\nvar state \x3d cljs.core.volatile_BANG_(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),(0),new cljs.core.Keyword(null,\x22var-args?\x22,\x22var-args?\x22,-1630678710),false], null));\nvar expr__$1 \x3d edamame.impl.read_fn.postwalk_STAR_((function (elt){\nif((elt instanceof cljs.core.Symbol)){\nvar temp__5802__auto__ \x3d cljs.core.re_matches(/^%(.*)/,cljs.core.name(elt));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__39351 \x3d temp__5802__auto__;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39351,(0),null);\nvar m \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39351,(1),null);\nif(cljs.core.empty_QMARK_(m)){\nstate.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.update.cljs$core$IFn$_invoke$arity$4(state.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),cljs.core.max,(1)));\n\nreturn new cljs.core.Symbol(null,\x22%1\x22,\x22%1\x22,1309450150,null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x26\x22,m)){\nstate.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\x22var-args?\x22,\x22var-args?\x22,-1630678710),true));\n\nreturn elt;\n} else {\nvar n_39383 \x3d parseInt(m);\nstate.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.update.cljs$core$IFn$_invoke$arity$4(state.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),cljs.core.max,n_39383));\n\nreturn elt;\n\n}\n}\n} else {\nreturn elt;\n}\n} else {\nreturn elt;\n}\n}),expr);\nvar map__39339 \x3d cljs.core.deref(state);\nvar map__39339__$1 \x3d cljs.core.__destructure_map(map__39339);\nvar max_fixed \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39339__$1,new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124));\nvar var_args_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39339__$1,new cljs.core.Keyword(null,\x22var-args?\x22,\x22var-args?\x22,-1630678710));\nvar fixed_names \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__39334_SHARP_){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([\x22%\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__39334_SHARP_)].join(\x27\x27));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$2((1),(max_fixed + (1))));\nvar var_args_sym \x3d new cljs.core.Symbol(null,\x22%\x26\x22,\x22%\x26\x22,-728707069,null);\nvar arg_list \x3d cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fixed_names,(cljs.core.truth_(var_args_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),var_args_sym], null):null)));\nvar form \x3d (new cljs.core.List(null,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),(new cljs.core.List(null,arg_list,(new cljs.core.List(null,expr__$1,null,(1),null)),(2),null)),(3),null));\nreturn form;\n});\n");
SHADOW_ENV.evalLoad("edamame.impl.syntax_quote.js", true, "goog.provide(\x27edamame.impl.syntax_quote\x27);\nedamame.impl.syntax_quote.unquote_QMARK_ \x3d (function edamame$impl$syntax_quote$unquote_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null))));\n});\nedamame.impl.syntax_quote.unquote_splicing_QMARK_ \x3d (function edamame$impl$syntax_quote$unquote_splicing_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null))));\n});\n/**\n * Expand a list by resolving its syntax quotes and unquotes\n */\nedamame.impl.syntax_quote.expand_list \x3d (function edamame$impl$syntax_quote$expand_list(ctx,reader,s){\nvar s__$1 \x3d cljs.core.seq(s);\nvar r \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s__$1){\nvar item \x3d cljs.core.first(s__$1);\nvar ret \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(r,((edamame.impl.syntax_quote.unquote_QMARK_(item))?(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,cljs.core.second(item),null,(1),null)),(2),null)):((edamame.impl.syntax_quote.unquote_splicing_QMARK_(item))?cljs.core.second(item):(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,(edamame.impl.syntax_quote.syntax_quote.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.syntax_quote.syntax_quote.cljs$core$IFn$_invoke$arity$3(ctx,reader,item) : edamame.impl.syntax_quote.syntax_quote.call(null,ctx,reader,item)),null,(1),null)),(2),null))\n)));\nvar G__39420 \x3d cljs.core.next(s__$1);\nvar G__39421 \x3d ret;\ns__$1 \x3d G__39420;\nr \x3d G__39421;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(r));\n}\nbreak;\n}\n});\nedamame.impl.syntax_quote.syntax_quote_coll \x3d (function edamame$impl$syntax_quote$syntax_quote_coll(ctx,reader,type,coll){\nvar res \x3d (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22sequence\x22,\x22clojure.core/sequence\x22,1998774218,null),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22seq\x22,\x22clojure.core/seq\x22,-1551838743,null),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(\x22clojure.core\x22,\x22concat\x22,\x22clojure.core/concat\x22,-1236478952,null),edamame.impl.syntax_quote.expand_list(ctx,reader,coll)),null,(1),null)),(2),null)),null,(1),null)),(2),null));\nif(cljs.core.truth_(type)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22apply\x22,\x22clojure.core/apply\x22,1654646389,null),(new cljs.core.List(null,type,(new cljs.core.List(null,res,null,(1),null)),(2),null)),(3),null));\n} else {\nreturn res;\n}\n});\n/**\n * Decide which map type to use, array-map if less than 16 elements\n */\nedamame.impl.syntax_quote.map_func \x3d (function edamame$impl$syntax_quote$map_func(coll){\nif((cljs.core.count(coll) \x3e\x3d (16))){\nreturn new cljs.core.Symbol(\x22clojure.core\x22,\x22hash-map\x22,\x22clojure.core/hash-map\x22,338908405,null);\n} else {\nreturn new cljs.core.Symbol(\x22clojure.core\x22,\x22array-map\x22,\x22clojure.core/array-map\x22,-1351833961,null);\n}\n});\n/**\n * Flatten a map into a seq of alternate keys and values\n */\nedamame.impl.syntax_quote.flatten_map \x3d (function edamame$impl$syntax_quote$flatten_map(form){\nvar s \x3d cljs.core.seq(form);\nvar key_vals \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__39429 \x3d cljs.core.next(s);\nvar G__39430 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(key_vals,cljs.core.key(e)),cljs.core.val(e));\ns \x3d G__39429;\nkey_vals \x3d G__39430;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(key_vals));\n}\nbreak;\n}\n});\nedamame.impl.syntax_quote.syntax_quote_STAR_ \x3d (function edamame$impl$syntax_quote$syntax_quote_STAR_(p__39377,reader,form){\nvar map__39378 \x3d p__39377;\nvar map__39378__$1 \x3d cljs.core.__destructure_map(map__39378);\nvar ctx \x3d map__39378__$1;\nvar gensyms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39378__$1,new cljs.core.Keyword(null,\x22gensyms\x22,\x22gensyms\x22,248713782));\nif(cljs.core.special_symbol_QMARK_(form)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null));\n} else {\nif((form instanceof cljs.core.Symbol)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,(function (){var sym_name \x3d cljs.core.name(form);\nif(cljs.core.special_symbol_QMARK_(form)){\nreturn form;\n} else {\nif(clojure.string.ends_with_QMARK_(sym_name,\x22#\x22)){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(gensyms),form);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar generated \x3d temp__5802__auto__;\nreturn generated;\n} else {\nvar n \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym_name,(0),(((sym_name).length) - (1)));\nvar generated \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1([n,\x22__\x22].join(\x27\x27));\nvar generated__$1 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.name(generated),\x22__auto__\x22].join(\x27\x27));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(gensyms,cljs.core.assoc,form,generated__$1);\n\nreturn generated__$1;\n}\n} else {\nvar f \x3d new cljs.core.Keyword(null,\x22resolve-symbol\x22,\x22resolve-symbol\x22,-319166964).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(ctx));\nvar f__$1 \x3d (function (){var or__5025__auto__ \x3d f;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5802__auto__ \x3d (function (){var G__39384 \x3d ctx;\nvar G__39384__$1 \x3d (((G__39384 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771).cljs$core$IFn$_invoke$arity$1(G__39384));\nif((G__39384__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.deref(G__39384__$1);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns_state \x3d temp__5802__auto__;\nreturn (function (sym){\nvar temp__5802__auto____$1 \x3d (function (){var G__39389 \x3d cljs.core.namespace(sym);\nif((G__39389 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(G__39389);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar alias \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (ns_state.cljs$core$IFn$_invoke$arity$1 ? ns_state.cljs$core$IFn$_invoke$arity$1(alias) : ns_state.call(null,alias));\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar expanded_alias \x3d temp__5802__auto____$2;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(expanded_alias),sym_name);\n} else {\nreturn sym;\n}\n} else {\nreturn sym;\n}\n});\n} else {\nreturn cljs.core.identity;\n}\n}\n})();\nreturn (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(form) : f__$1.call(null,form));\n\n}\n}\n})(),null,(1),null)),(2),null));\n} else {\nif(edamame.impl.syntax_quote.unquote_QMARK_(form)){\nreturn cljs.core.second(form);\n} else {\nif(edamame.impl.syntax_quote.unquote_splicing_QMARK_(form)){\nthrow (new Error(\x22unquote-splice not in list\x22));\n} else {\nif(cljs.core.coll_QMARK_(form)){\nif((form instanceof cljs.core.IRecord)){\nreturn form;\n} else {\nif(cljs.core.map_QMARK_(form)){\nreturn edamame.impl.syntax_quote.syntax_quote_coll(ctx,reader,edamame.impl.syntax_quote.map_func(form),edamame.impl.syntax_quote.flatten_map(form));\n} else {\nif(cljs.core.vector_QMARK_(form)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22vec\x22,\x22clojure.core/vec\x22,146271141,null),(new cljs.core.List(null,edamame.impl.syntax_quote.syntax_quote_coll(ctx,reader,null,form),null,(1),null)),(2),null));\n} else {\nif(cljs.core.set_QMARK_(form)){\nreturn edamame.impl.syntax_quote.syntax_quote_coll(ctx,reader,new cljs.core.Symbol(\x22clojure.core\x22,\x22hash-set\x22,\x22clojure.core/hash-set\x22,1229125967,null),form);\n} else {\nif(((cljs.core.seq_QMARK_(form)) || (cljs.core.list_QMARK_(form)))){\nvar seq \x3d cljs.core.seq(form);\nif(seq){\nreturn edamame.impl.syntax_quote.syntax_quote_coll(ctx,reader,null,seq);\n} else {\nreturn cljs.core.list(new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null));\n}\n} else {\nthrow (new Error(\x22Unknown Collection type\x22));\n\n}\n}\n}\n}\n}\n} else {\nif((((form instanceof cljs.core.Keyword)) || (((typeof form \x3d\x3d\x3d \x27number\x27) || (((cljs.core.char_QMARK_(form)) || (((typeof form \x3d\x3d\x3d \x27string\x27) || ((((form \x3d\x3d null)) || (((cljs.core.boolean_QMARK_(form)) || (cljs.core.regexp_QMARK_(form)))))))))))))){\nreturn form;\n} else {\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null));\n\n}\n}\n}\n}\n}\n}\n});\nedamame.impl.syntax_quote.add_meta \x3d (function edamame$impl$syntax_quote$add_meta(ctx,reader,form,ret){\nif((function (){var and__5023__auto__ \x3d (((!((form \x3d\x3d null))))?(((((form.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d form.cljs$core$IWithMeta$))))?true:false):false);\nif(and__5023__auto__){\nreturn cljs.core.seq(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(form),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(ctx),new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(ctx),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(ctx)], 0)));\n} else {\nreturn and__5023__auto__;\n}\n})()){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-meta\x22,\x22cljs.core/with-meta\x22,749126446,null),(new cljs.core.List(null,ret,(new cljs.core.List(null,edamame.impl.syntax_quote.syntax_quote_STAR_(ctx,reader,cljs.core.meta(form)),null,(1),null)),(2),null)),(3),null));\n} else {\nreturn ret;\n}\n});\nedamame.impl.syntax_quote.syntax_quote \x3d (function edamame$impl$syntax_quote$syntax_quote(ctx,reader,form){\nvar ret \x3d edamame.impl.syntax_quote.syntax_quote_STAR_(ctx,reader,form);\nreturn edamame.impl.syntax_quote.add_meta(ctx,reader,form,ret);\n});\n");
SHADOW_ENV.evalLoad("edamame.impl.parser.js", true, "goog.provide(\x27edamame.impl.parser\x27);\nedamame.impl.parser.eof \x3d (new Object());\nedamame.impl.parser.continue$ \x3d (new Object());\nedamame.impl.parser.expected_delimiter \x3d (new Object());\nedamame.impl.parser.Exception \x3d Error;\n/**\n * Throw reader exception, including line line/column. line/column is\n *   read from the reader but it can be overriden by passing loc\n *   optional parameter.\n */\nedamame.impl.parser.throw_reader \x3d (function edamame$impl$parser$throw_reader(var_args){\nvar G__41797 \x3d arguments.length;\nswitch (G__41797) {\ncase 3:\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,msg){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,msg,null);\n}));\n\n(edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,reader,msg,data){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,msg,data,null);\n}));\n\n(edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,reader,msg,data,loc){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar c \x3d ((ir_QMARK_)?new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$2(loc,cljs.tools.reader.reader_types.get_column_number(reader)):null);\nvar l \x3d ((ir_QMARK_)?new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521).cljs$core$IFn$_invoke$arity$2(loc,cljs.tools.reader.reader_types.get_line_number(reader)):null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(msg,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22edamame\x22,\x22error\x22,\x22edamame/error\x22,882529634)], null),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(ctx),l,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(ctx),c], 0)),data], 0)));\n}));\n\n(edamame.impl.parser.throw_reader.cljs$lang$maxFixedArity \x3d 5);\n\nedamame.impl.parser.dispatch_macro_QMARK_ \x3d (function edamame$impl$parser$dispatch_macro_QMARK_(ch){\nvar G__41813 \x3d ch;\nswitch (G__41813) {\ncase \x22^\x22:\ncase \x22\x27\x22:\ncase \x22(\x22:\ncase \x22{\x22:\ncase \x22\\\x22\x22:\ncase \x22!\x22:\ncase \x22_\x22:\ncase \x22?\x22:\ncase \x22:\x22:\ncase \x22#\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\nedamame.impl.parser.macro_QMARK_ \x3d (function edamame$impl$parser$macro_QMARK_(ch){\nvar G__41816 \x3d ch;\nswitch (G__41816) {\ncase \x22:\x22:\ncase \x22;\x22:\ncase \x22\x27\x22:\ncase \x22@\x22:\ncase \x22^\x22:\ncase \x22`\x22:\ncase \x22~\x22:\ncase \x22(\x22:\ncase \x22)\x22:\ncase \x22[\x22:\ncase \x22]\x22:\ncase \x22{\x22:\ncase \x22}\x22:\ncase \x22\\\\\x22:\ncase \x22%\x22:\ncase \x22#\x22:\ncase \x22\\\x22\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\nedamame.impl.parser.macro_terminating_QMARK_ \x3d (function edamame$impl$parser$macro_terminating_QMARK_(ch){\nvar G__41818 \x3d ch;\nswitch (G__41818) {\ncase \x22\\\x22\x22:\ncase \x22;\x22:\ncase \x22@\x22:\ncase \x22^\x22:\ncase \x22`\x22:\ncase \x22~\x22:\ncase \x22(\x22:\ncase \x22)\x22:\ncase \x22[\x22:\ncase \x22]\x22:\ncase \x22{\x22:\ncase \x22}\x22:\ncase \x22\\\\\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\nedamame.impl.parser.whitespace_QMARK_ \x3d (function edamame$impl$parser$whitespace_QMARK_(c){\nvar and__5023__auto__ \x3d c;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((-1) \x3c [\x22\\r\x22,\x22\\n\x22,\x22\\t\x22,\x22 \x22,\x22,\x22].indexOf(c));\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Read in a single logical token from the reader\n */\nedamame.impl.parser.read_token \x3d (function edamame$impl$parser$read_token(rdr,_kind,initch){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d initch;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d edamame.impl.parser.whitespace_QMARK_(ch);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d edamame.impl.parser.macro_terminating_QMARK_(ch);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nif(cljs.core.truth_(ch)){\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n} else {\n}\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nvar G__43353 \x3d sb.append(ch);\nvar G__43354 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__43353;\nch \x3d G__43354;\ncontinue;\n}\nbreak;\n}\n});\nedamame.impl.parser.str_len \x3d (function edamame$impl$parser$str_len(s){\nreturn s.length;\n});\n/**\n * Parses char to num\n */\nedamame.impl.parser.parse_long_STAR_ \x3d (function edamame$impl$parser$parse_long_STAR_(c){\nvar x \x3d parseInt(c);\nif(cljs.core.NaN_QMARK_(x)){\nreturn null;\n} else {\nreturn x;\n}\n});\nedamame.impl.parser.array_dim \x3d (function edamame$impl$parser$array_dim(sym){\nif(((1) \x3d\x3d\x3d edamame.impl.parser.str_len(sym))){\nvar temp__5804__auto__ \x3d edamame.impl.parser.parse_long_STAR_(sym.charAt((0)));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar i \x3d temp__5804__auto__;\nif((i \x3e (0))){\nreturn i;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n/**\n * Parses a string into a vector of the namespace and symbol\n */\nedamame.impl.parser.parse_symbol \x3d (function edamame$impl$parser$parse_symbol(token){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x22,token);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d token.endsWith(\x22:\x22);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn token.startsWith(\x22::\x22);\n}\n}\n})())){\nreturn null;\n} else {\nvar ns_idx \x3d token.indexOf(\x22/\x22);\nvar temp__5802__auto__ \x3d (function (){var and__5023__auto__ \x3d (ns_idx \x3e (0));\nif(and__5023__auto__){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(token,(0),ns_idx);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns \x3d temp__5802__auto__;\nvar ns_idx__$1 \x3d (ns_idx + (1));\nif((ns_idx__$1 \x3d\x3d\x3d edamame.impl.parser.str_len(token))){\nreturn null;\n} else {\nif(cljs.core.truth_(ns.endsWith(\x22:\x22))){\nreturn null;\n} else {\nvar sym \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,ns_idx__$1);\nif(cljs.core.truth_(edamame.impl.parser.array_dim(sym))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,sym], null);\n} else {\nif((((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x22,sym)))) \x26\x26 (((cljs.core.not(edamame.impl.parser.parse_long_STAR_(sym.charAt((0))))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22/\x22,sym)) || (((-1) \x3d\x3d\x3d sym.indexOf(\x22/\x22))))))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,sym], null);\n} else {\nreturn null;\n}\n}\n}\n}\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22/\x22,token)) || (((-1) \x3d\x3d\x3d token.indexOf(\x22/\x22))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,token], null);\n} else {\nreturn null;\n}\n}\n}\n});\nedamame.impl.parser.number_literal_QMARK_ \x3d cljs.core.deref(new cljs.core.Var(function(){return cljs.tools.reader.impl.commons.number_literal_QMARK_;},new cljs.core.Symbol(\x22cljs.tools.reader.impl.commons\x22,\x22number-literal?\x22,\x22cljs.tools.reader.impl.commons/number-literal?\x22,-1450304800,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.tools.reader.impl.commons\x22,\x22cljs.tools.reader.impl.commons\x22,1569241026,null),new cljs.core.Symbol(null,\x22number-literal?\x22,\x22number-literal?\x22,843787662,null),\x22cljs/tools/reader/impl/commons.cljs\x22,31,1,20,20,new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22reader\x22,\x22reader\x22,1810192380,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22initch\x22,\x22initch\x22,946908919,null)], null)),\x22Checks whether the reader is at the start of a number literal\x22,((cljs.tools.reader.impl.commons.number_literal_QMARK_)?cljs.tools.reader.impl.commons.number_literal_QMARK_.cljs$lang$test:null)])));\nedamame.impl.parser.escape_char \x3d cljs.core.deref(new cljs.core.Var(function(){return cljs.tools.reader.edn.escape_char;},new cljs.core.Symbol(\x22cljs.tools.reader.edn\x22,\x22escape-char\x22,\x22cljs.tools.reader.edn/escape-char\x22,17562632,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.tools.reader.edn\x22,\x22cljs.tools.reader.edn\x22,-1275821532,null),new cljs.core.Symbol(null,\x22escape-char\x22,\x22escape-char\x22,-2072670949,null),\x22cljs/tools/reader/edn.cljs\x22,19,1,220,220,cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null),new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null)], null)),null,(cljs.core.truth_(cljs.tools.reader.edn.escape_char)?cljs.tools.reader.edn.escape_char.cljs$lang$test:null)])));\nedamame.impl.parser.read_char_STAR_ \x3d cljs.core.deref(new cljs.core.Var(function(){return cljs.tools.reader.edn.read_char_STAR_;},new cljs.core.Symbol(\x22cljs.tools.reader.edn\x22,\x22read-char*\x22,\x22cljs.tools.reader.edn/read-char*\x22,-606185164,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.tools.reader.edn\x22,\x22cljs.tools.reader.edn\x22,-1275821532,null),new cljs.core.Symbol(null,\x22read-char*\x22,\x22read-char*\x22,1494526523,null),\x22cljs/tools/reader/edn.cljs\x22,18,1,120,120,cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.Symbol(null,\x22backslash\x22,\x22backslash\x22,-863649243,null),new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null)], null)),null,(cljs.core.truth_(cljs.tools.reader.edn.read_char_STAR_)?cljs.tools.reader.edn.read_char_STAR_.cljs$lang$test:null)])));\nedamame.impl.parser.read_symbolic_value \x3d cljs.core.deref(new cljs.core.Var(function(){return cljs.tools.reader.edn.read_symbolic_value;},new cljs.core.Symbol(\x22cljs.tools.reader.edn\x22,\x22read-symbolic-value\x22,\x22cljs.tools.reader.edn/read-symbolic-value\x22,111468855,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.tools.reader.edn\x22,\x22cljs.tools.reader.edn\x22,-1275821532,null),new cljs.core.Symbol(null,\x22read-symbolic-value\x22,\x22read-symbolic-value\x22,-100790078,null),\x22cljs/tools/reader/edn.cljs\x22,27,1,327,327,cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.Symbol(null,\x22_\x22,\x22_\x22,-1201019570,null),new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null)], null)),null,(cljs.core.truth_(cljs.tools.reader.edn.read_symbolic_value)?cljs.tools.reader.edn.read_symbolic_value.cljs$lang$test:null)])));\nedamame.impl.parser.read_number \x3d (function edamame$impl$parser$read_number(ctx,rdr,initch){\nvar sb \x3d (function (){var G__41979 \x3d (new goog.string.StringBuffer());\nG__41979.append(initch);\n\nreturn G__41979;\n})();\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d edamame.impl.parser.whitespace_QMARK_(ch);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d edamame.impl.parser.macro_QMARK_(ch);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n\nvar or__5025__auto__ \x3d cljs.tools.reader.impl.commons.match_number(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,rdr,[\x22Invalid number: \x22,s].join(\x27\x27));\n}\n} else {\nvar G__43371 \x3d (function (){var G__41998 \x3d sb;\nG__41998.append(ch);\n\nreturn G__41998;\n})();\nvar G__43372 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__43371;\nch \x3d G__43372;\ncontinue;\n}\nbreak;\n}\n});\nedamame.impl.parser.edn_read \x3d (function edamame$impl$parser$edn_read(ctx,reader){\nvar tools_reader_opts \x3d new cljs.core.Keyword(\x22tools.reader\x22,\x22opts\x22,\x22tools.reader/opts\x22,-2121810901).cljs$core$IFn$_invoke$arity$1(ctx);\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(tools_reader_opts,reader);\n});\nedamame.impl.parser.parse_string_STAR_ \x3d (function edamame$impl$parser$parse_string_STAR_(ctx,reader){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar row \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null):null);\nvar col \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null):null);\nvar opened \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nvar G__42039 \x3d ch;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__42039)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,[\x22EOF while reading, expected \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(row),\x22,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col),\x22]\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null)], null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\\\x22,G__42039)){\nvar G__43377 \x3d (function (){var G__42041 \x3d sb;\nG__42041.append((edamame.impl.parser.escape_char.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.escape_char.cljs$core$IFn$_invoke$arity$2(sb,reader) : edamame.impl.parser.escape_char.call(null,sb,reader)));\n\nreturn G__42041;\n})();\nvar G__43378 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__43377;\nch \x3d G__43378;\ncontinue;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\x22\x22,G__42039)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nvar G__43379 \x3d (function (){var G__42060 \x3d sb;\nG__42060.append(ch);\n\nreturn G__42060;\n})();\nvar G__43380 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__43379;\nch \x3d G__43380;\ncontinue;\n\n}\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nedamame.impl.parser.Loc \x3d (function (row,col,__meta,__extmap,__hash){\nthis.row \x3d row;\nthis.col \x3d col;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(edamame.impl.parser.Loc.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k42066,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__42091 \x3d k42066;\nvar G__42091__$1 \x3d (((G__42091 instanceof cljs.core.Keyword))?G__42091.fqn:null);\nswitch (G__42091__$1) {\ncase \x22row\x22:\nreturn self__.row;\n\nbreak;\ncase \x22col\x22:\nreturn self__.col;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k42066,else__5326__auto__);\n\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__42114){\nvar vec__42115 \x3d p__42114;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42115,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42115,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#edamame.impl.parser.Loc{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),self__.row],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),self__.col],null))], null),self__.__extmap));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__42065){\nvar self__ \x3d this;\nvar G__42065__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__42065__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new edamame.impl.parser.Loc(self__.row,self__.col,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1435872067 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this42067,other42068){\nvar self__ \x3d this;\nvar this42067__$1 \x3d this;\nreturn (((!((other42068 \x3d\x3d null)))) \x26\x26 ((((this42067__$1.constructor \x3d\x3d\x3d other42068.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this42067__$1.row,other42068.row)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this42067__$1.col,other42068.col)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this42067__$1.__extmap,other42068.__extmap)))))))));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),null,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new edamame.impl.parser.Loc(self__.row,self__.col,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k42066){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__42173 \x3d k42066;\nvar G__42173__$1 \x3d (((G__42173 instanceof cljs.core.Keyword))?G__42173.fqn:null);\nswitch (G__42173__$1) {\ncase \x22row\x22:\ncase \x22col\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k42066);\n\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__42065){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__42178 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__42179 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__42178.cljs$core$IFn$_invoke$arity$2 ? pred__42178.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),expr__42179) : pred__42178.call(null,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),expr__42179)))){\nreturn (new edamame.impl.parser.Loc(G__42065,self__.col,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__42178.cljs$core$IFn$_invoke$arity$2 ? pred__42178.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),expr__42179) : pred__42178.call(null,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),expr__42179)))){\nreturn (new edamame.impl.parser.Loc(self__.row,G__42065,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new edamame.impl.parser.Loc(self__.row,self__.col,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__42065),null));\n}\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),self__.row,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),self__.col,null))], null),self__.__extmap));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__42065){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new edamame.impl.parser.Loc(self__.row,self__.col,G__42065,self__.__extmap,self__.__hash));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(edamame.impl.parser.Loc.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22row\x22,\x22row\x22,1070392006,null),new cljs.core.Symbol(null,\x22col\x22,\x22col\x22,-318831557,null)], null);\n}));\n\n(edamame.impl.parser.Loc.cljs$lang$type \x3d true);\n\n(edamame.impl.parser.Loc.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22edamame.impl.parser/Loc\x22,null,(1),null));\n}));\n\n(edamame.impl.parser.Loc.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22edamame.impl.parser/Loc\x22);\n}));\n\n/**\n * Positional factory function for edamame.impl.parser/Loc.\n */\nedamame.impl.parser.__GT_Loc \x3d (function edamame$impl$parser$__GT_Loc(row,col){\nreturn (new edamame.impl.parser.Loc(row,col,null,null,null));\n});\n\n/**\n * Factory function for edamame.impl.parser/Loc, taking a map of keywords to field values.\n */\nedamame.impl.parser.map__GT_Loc \x3d (function edamame$impl$parser$map__GT_Loc(G__42070){\nvar extmap__5365__auto__ \x3d (function (){var G__42201 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__42070,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084)], 0));\nif(cljs.core.record_QMARK_(G__42070)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__42201);\n} else {\nreturn G__42201;\n}\n})();\nreturn (new edamame.impl.parser.Loc(new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521).cljs$core$IFn$_invoke$arity$1(G__42070),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$1(G__42070),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nedamame.impl.parser.location \x3d (function edamame$impl$parser$location(reader){\nreturn edamame.impl.parser.__GT_Loc(reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null));\n});\nedamame.impl.parser.parse_comment \x3d (function edamame$impl$parser$parse_comment(reader){\ncljs.tools.reader.reader_types.read_line(reader);\n\nreturn edamame.impl.parser.continue$;\n});\n/**\n * Skips whitespace. Returns :none or :some depending on whitespace\n *   read. If end of stream is reached, returns nil.\n */\nedamame.impl.parser.skip_whitespace \x3d (function edamame$impl$parser$skip_whitespace(_ctx,reader){\nvar read \x3d new cljs.core.Keyword(null,\x22none\x22,\x22none\x22,1333468478);\nwhile(true){\nvar temp__5804__auto__ \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar c \x3d temp__5804__auto__;\nif(cljs.core.truth_(edamame.impl.parser.whitespace_QMARK_(c))){\nvar G__43401 \x3d new cljs.core.Keyword(null,\x22some\x22,\x22some\x22,-1951079573);\nread \x3d G__43401;\ncontinue;\n} else {\nreader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,c);\n\nreturn read;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\nedamame.impl.parser.non_match \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(\x22non-match\x22);\nedamame.impl.parser.non_match_QMARK_ \x3d (function edamame$impl$parser$non_match_QMARK_(v){\nreturn (v \x3d\x3d\x3d edamame.impl.parser.non_match);\n});\nedamame.impl.parser.throw_eof_while_reading \x3d (function edamame$impl$parser$throw_eof_while_reading(ctx,reader){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22EOF while reading\x22);\n});\nedamame.impl.parser.parse_to_delimiter \x3d (function edamame$impl$parser$parse_to_delimiter(var_args){\nvar G__42240 \x3d arguments.length;\nswitch (G__42240) {\ncase 3:\nreturn edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,delimiter){\nreturn edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$4(ctx,reader,delimiter,cljs.core.PersistentVector.EMPTY);\n}));\n\n(edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,reader,delimiter,into){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar row \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null):null);\nvar col \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null):null);\nvar opened \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803),delimiter),new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586),opened,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null));\nvar vals \x3d cljs.core.transient$(into);\nwhile(true){\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx__$1,reader) : edamame.impl.parser.parse_next.call(null,ctx__$1,reader));\nvar cond_splice_QMARK_ \x3d (function (){var G__42267 \x3d next_val;\nvar G__42267__$1 \x3d (((G__42267 \x3d\x3d null))?null:cljs.core.meta(G__42267));\nif((G__42267__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22cond-splice\x22,\x22edamame.impl.parser/cond-splice\x22,1534599765).cljs$core$IFn$_invoke$arity$1(G__42267__$1);\n}\n})();\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx__$1,reader,[\x22EOF while reading, expected \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(delimiter),\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(row),\x22,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col),\x22]\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(delimiter),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null)], null));\n} else {\nif((edamame.impl.parser.expected_delimiter \x3d\x3d\x3d next_val)){\nreturn cljs.core.persistent_BANG_(vals);\n} else {\nif(cljs.core.truth_(cond_splice_QMARK_)){\nvar vals__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj_BANG_,vals,next_val);\nvar G__43409 \x3d vals__$1;\nvals \x3d G__43409;\ncontinue;\n} else {\nif(edamame.impl.parser.non_match_QMARK_(next_val)){\nvar G__43410 \x3d vals;\nvals \x3d G__43410;\ncontinue;\n} else {\nvar G__43411 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vals,next_val);\nvals \x3d G__43411;\ncontinue;\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(edamame.impl.parser.parse_to_delimiter.cljs$lang$maxFixedArity \x3d 4);\n\nedamame.impl.parser.parse_list \x3d (function edamame$impl$parser$parse_list(ctx,reader){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22)\x22));\n});\n/**\n * Modeled after tools.reader/read-regex.\n */\nedamame.impl.parser.read_regex_pattern \x3d (function edamame$impl$parser$read_regex_pattern(ctx,reader){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((\x22\\\x22\x22 \x3d\x3d\x3d ch)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nif((ch \x3d\x3d null)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Error while parsing regex\x22);\n} else {\nsb.append(ch);\n\nif((\x22\\\\\x22 \x3d\x3d\x3d ch)){\nvar ch_43414__$1 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((ch_43414__$1 \x3d\x3d null)){\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Error while parsing regex\x22);\n} else {\n}\n\nsb.append(ch_43414__$1);\n} else {\n}\n\nvar G__43415 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch \x3d G__43415;\ncontinue;\n}\n}\nbreak;\n}\n});\nedamame.impl.parser.duplicate_keys_error \x3d (function edamame$impl$parser$duplicate_keys_error(msg,coll){\nvar duplicates \x3d (function edamame$impl$parser$duplicate_keys_error_$_duplicates(seq){\nvar iter__5503__auto__ \x3d (function edamame$impl$parser$duplicate_keys_error_$_duplicates_$_iter__42322(s__42323){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__42323__$1 \x3d s__42323;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__42323__$1);\nif(temp__5804__auto__){\nvar s__42323__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__42323__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__42323__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__42325 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__42324 \x3d (0);\nwhile(true){\nif((i__42324 \x3c size__5502__auto__)){\nvar vec__42342 \x3d cljs.core._nth(c__5501__auto__,i__42324);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42342,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42342,(1),null);\nif((freq \x3e (1))){\ncljs.core.chunk_append(b__42325,id);\n\nvar G__43419 \x3d (i__42324 + (1));\ni__42324 \x3d G__43419;\ncontinue;\n} else {\nvar G__43420 \x3d (i__42324 + (1));\ni__42324 \x3d G__43420;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__42325),edamame$impl$parser$duplicate_keys_error_$_duplicates_$_iter__42322(cljs.core.chunk_rest(s__42323__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__42325),null);\n}\n} else {\nvar vec__42346 \x3d cljs.core.first(s__42323__$2);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42346,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42346,(1),null);\nif((freq \x3e (1))){\nreturn cljs.core.cons(id,edamame$impl$parser$duplicate_keys_error_$_duplicates_$_iter__42322(cljs.core.rest(s__42323__$2)));\n} else {\nvar G__43422 \x3d cljs.core.rest(s__42323__$2);\ns__42323__$1 \x3d G__43422;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(cljs.core.frequencies(seq));\n});\nvar dups \x3d duplicates(coll);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,msg,(((cljs.core.count(dups) \x3e (1)))?\x22s\x22:null),\x22: \x22,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,dups));\n});\nedamame.impl.parser.throw_dup_keys \x3d (function edamame$impl$parser$throw_dup_keys(ctx,reader,loc,kind,ks){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,edamame.impl.parser.duplicate_keys_error([clojure.string.capitalize(cljs.core.name(kind)),\x22 literal contains duplicate key\x22].join(\x27\x27),ks),null,loc);\n});\nedamame.impl.parser.parse_set \x3d (function edamame$impl$parser$parse_set(ctx,reader){\nvar start_loc \x3d ((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?edamame.impl.parser.location(reader):null);\nvar coll \x3d edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22}\x22);\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar sf \x3d temp__5802__auto__;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sf,coll);\n} else {\nvar the_set \x3d cljs.core.set(coll);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(coll),cljs.core.count(the_set))){\n} else {\nedamame.impl.parser.throw_dup_keys(ctx,reader,start_loc,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),coll);\n}\n\nreturn the_set;\n}\n});\nedamame.impl.parser.parse_first_matching_condition \x3d (function edamame$impl$parser$parse_first_matching_condition(ctx,reader){\nvar features \x3d new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336).cljs$core$IFn$_invoke$arity$1(ctx);\nvar match \x3d edamame.impl.parser.non_match;\nwhile(true){\nvar k \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif((edamame.impl.parser.expected_delimiter \x3d\x3d\x3d k)){\nreturn match;\n} else {\nif((k instanceof cljs.core.Keyword)){\n} else {\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,[\x22Feature should be a keyword: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(\x27\x27));\n}\n\nvar next_is_match_QMARK_ \x3d ((edamame.impl.parser.non_match_QMARK_(match)) \x26\x26 (((cljs.core.contains_QMARK_(features,k)) || (cljs.core.keyword_identical_QMARK_(k,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))))));\nif(next_is_match_QMARK_){\nvar match__$1 \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),true);\nwhile(true){\nvar next_val_43437 \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx__$1,reader) : edamame.impl.parser.parse_next.call(null,ctx__$1,reader));\nif((edamame.impl.parser.expected_delimiter \x3d\x3d\x3d next_val_43437)){\n} else {\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val_43437)){\nvar delimiter_43445 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803).cljs$core$IFn$_invoke$arity$1(ctx__$1);\nvar map__42430_43446 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx__$1);\nvar map__42430_43447__$1 \x3d cljs.core.__destructure_map(map__42430_43446);\nvar row_43448 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42430_43447__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col_43449 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42430_43447__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nvar char_43450 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42430_43447__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx__$1,reader,[\x22EOF while reading, expected \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(delimiter_43445),\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(char_43450),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(row_43448),\x22,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col_43449),\x22]\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(delimiter_43445),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(char_43450)], null));\n} else {\ncontinue;\n}\n}\nbreak;\n}\n\nreturn match__$1;\n} else {\nvar G__42432_43455 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),true);\nvar G__42433_43456 \x3d reader;\n(edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(G__42432_43455,G__42433_43456) : edamame.impl.parser.parse_next.call(null,G__42432_43455,G__42433_43456));\n\nvar G__43457 \x3d match;\nmatch \x3d G__43457;\ncontinue;\n}\n}\nbreak;\n}\n});\nedamame.impl.parser.parse_reader_conditional \x3d (function edamame$impl$parser$parse_reader_conditional(ctx,reader){\nedamame.impl.parser.skip_whitespace(ctx,reader);\n\nvar opt \x3d new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(ctx);\nvar splice_QMARK_ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22@\x22,reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null));\nif(splice_QMARK_){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n} else {\n}\n\nedamame.impl.parser.skip_whitespace(ctx,reader);\n\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22preserve\x22,\x22preserve\x22,1276846509),opt)){\nreturn cljs.tools.reader.impl.utils.reader_conditional((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),splice_QMARK_);\n} else {\nif(cljs.core.fn_QMARK_(opt)){\nvar G__42456 \x3d cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),cljs.core.assoc,new cljs.core.Keyword(\x22edamame\x22,\x22read-cond-splicing\x22,\x22edamame/read-cond-splicing\x22,-1992728777),splice_QMARK_);\nreturn (opt.cljs$core$IFn$_invoke$arity$1 ? opt.cljs$core$IFn$_invoke$arity$1(G__42456) : opt.call(null,G__42456));\n} else {\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar row \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null):null);\nvar col \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null):null);\nvar opened \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803),\x22)\x22),new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586),opened,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null));\nvar match \x3d edamame.impl.parser.parse_first_matching_condition(ctx__$1,reader);\nif(edamame.impl.parser.non_match_QMARK_(match)){\nreturn edamame.impl.parser.continue$;\n} else {\nif(splice_QMARK_){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(match,(function (p1__42454_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__42454_SHARP_,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22cond-splice\x22,\x22edamame.impl.parser/cond-splice\x22,1534599765),true);\n}));\n} else {\nreturn match;\n\n}\n}\n\n}\n}\n});\nedamame.impl.parser.get_auto_resolve \x3d (function edamame$impl$parser$get_auto_resolve(var_args){\nvar G__42481 \x3d arguments.length;\nswitch (G__42481) {\ncase 3:\nreturn edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,next_val){\nreturn edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$4(ctx,reader,next_val,null);\n}));\n\n(edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,reader,next_val,msg){\nvar temp__5802__auto__ \x3d (function (){var ar \x3d new cljs.core.Keyword(null,\x22auto-resolve\x22,\x22auto-resolve\x22,1851201983).cljs$core$IFn$_invoke$arity$1(ctx);\nvar temp__5802__auto__ \x3d (function (){var G__42484 \x3d ctx;\nvar G__42484__$1 \x3d (((G__42484 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771).cljs$core$IFn$_invoke$arity$1(G__42484));\nif((G__42484__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.deref(G__42484__$1);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns_state \x3d temp__5802__auto__;\nreturn (function (alias){\nvar or__5025__auto__ \x3d (ns_state.cljs$core$IFn$_invoke$arity$1 ? ns_state.cljs$core$IFn$_invoke$arity$1(alias) : ns_state.call(null,alias));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.truth_(ar)){\nreturn (ar.cljs$core$IFn$_invoke$arity$1 ? ar.cljs$core$IFn$_invoke$arity$1(alias) : ar.call(null,alias));\n} else {\nreturn null;\n}\n}\n});\n} else {\nreturn ar;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreturn v;\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,(function (){var or__5025__auto__ \x3d msg;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22Use `:auto-resolve` to resolve aliases.\x22;\n}\n})(),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22expr\x22,\x22expr\x22,745722291),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(next_val)].join(\x27\x27)], null));\n}\n}));\n\n(edamame.impl.parser.get_auto_resolve.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns namespace for given alias.\n */\nedamame.impl.parser.auto_resolve \x3d (function edamame$impl$parser$auto_resolve(var_args){\nvar G__42529 \x3d arguments.length;\nswitch (G__42529) {\ncase 5:\nreturn edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,m,kns,reader,next_val){\nreturn edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$6(ctx,m,kns,reader,next_val,null);\n}));\n\n(edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$6 \x3d (function (ctx,m,kns,reader,next_val,msg){\nvar temp__5802__auto__ \x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1(kns) : m.call(null,kns));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar kns__$1 \x3d temp__5802__auto__;\nreturn kns__$1;\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,(function (){var or__5025__auto__ \x3d msg;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn [\x22Alias `\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(kns)),\x22` not found in `:auto-resolve`\x22].join(\x27\x27);\n}\n})(),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22expr\x22,\x22expr\x22,745722291),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(next_val)].join(\x27\x27)], null));\n}\n}));\n\n(edamame.impl.parser.auto_resolve.cljs$lang$maxFixedArity \x3d 6);\n\nedamame.impl.parser.read_symbol \x3d (function edamame$impl$parser$read_symbol(var_args){\nvar G__42536 \x3d arguments.length;\nswitch (G__42536) {\ncase 2:\nreturn edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reader){\nreturn edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$3(ctx,reader,reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null));\n}));\n\n(edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,initch){\nvar temp__5804__auto__ \x3d edamame.impl.parser.read_token(reader,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),initch);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar token \x3d temp__5804__auto__;\nvar G__42538 \x3d token;\nswitch (G__42538) {\ncase \x22nil\x22:\nreturn null;\n\nbreak;\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ncase \x22/\x22:\nreturn new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null);\n\nbreak;\ndefault:\nvar or__5025__auto__ \x3d (function (){var temp__5804__auto____$1 \x3d edamame.impl.parser.parse_symbol(token);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar p \x3d temp__5804__auto____$1;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1((0)) : p.call(null,(0))),(p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1((1)) : p.call(null,(1))));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,[\x22Invalid symbol: \x22,token].join(\x27\x27),cljs.core.update.cljs$core$IFn$_invoke$arity$4(edamame.impl.parser.location(reader),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),cljs.core._,((token).length)));\n}\n\n}\n} else {\nreturn null;\n}\n}));\n\n(edamame.impl.parser.read_symbol.cljs$lang$maxFixedArity \x3d 3);\n\nedamame.impl.parser.parse_namespaced_map \x3d (function edamame$impl$parser$parse_namespaced_map(ctx,reader){\nvar peeked_char \x3d reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nvar whitespace_before_QMARK_ \x3d edamame.impl.parser.whitespace_QMARK_(peeked_char);\nvar auto_resolved_QMARK_ \x3d (((\x22:\x22 \x3d\x3d\x3d peeked_char))?(function (){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn true;\n})()\n:null);\nvar whitespace_after_QMARK_ \x3d cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22some\x22,\x22some\x22,-1951079573),edamame.impl.parser.skip_whitespace(ctx,reader));\nvar current_ns_QMARK_ \x3d (cljs.core.truth_(auto_resolved_QMARK_)?(\x22{\x22 \x3d\x3d\x3d reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null)):null);\nvar _ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(current_ns_QMARK_);\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d whitespace_before_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn whitespace_after_QMARK_;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Namespaced map must specify a namespace\x22):null);\nvar prefix \x3d (cljs.core.truth_(auto_resolved_QMARK_)?(cljs.core.truth_(current_ns_QMARK_)?null:edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$2(ctx,reader)):edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$2(ctx,reader));\nvar the_map \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(cljs.core.truth_(auto_resolved_QMARK_)){\nvar ns \x3d (cljs.core.truth_(current_ns_QMARK_)?new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603):cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(prefix)));\nvar f \x3d edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$3(ctx,reader,ns);\nvar resolved_ns \x3d edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$5(ctx,f,ns,reader,prefix);\nreturn cljs.core.zipmap(cljs.tools.reader.impl.utils.namespace_keys(cljs.core.str.cljs$core$IFn$_invoke$arity$1(resolved_ns),cljs.core.keys(the_map)),cljs.core.vals(the_map));\n} else {\nvar resolved_ns \x3d cljs.core.name(prefix);\nreturn cljs.core.zipmap(cljs.tools.reader.impl.utils.namespace_keys(resolved_ns,cljs.core.keys(the_map)),cljs.core.vals(the_map));\n}\n});\nedamame.impl.parser.parse_sharp \x3d (function edamame$impl$parser$parse_sharp(ctx,reader){\nvar c \x3d reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nvar G__42554 \x3d c;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__42554)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Unexpected EOF.\x22);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22!\x22,G__42554)){\nedamame.impl.parser.parse_comment(reader);\n\nreturn edamame.impl.parser.continue$;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\x22\x22,G__42554)){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nvar pat \x3d edamame.impl.parser.read_regex_pattern(ctx,reader);\nif(v \x3d\x3d\x3d true){\nreturn cljs.core.re_pattern(pat);\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(pat) : v.call(null,pat));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Regex not allowed. Use the `:regex` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22#\x22,G__42554)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn (edamame.impl.parser.read_symbolic_value.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.parser.read_symbolic_value.cljs$core$IFn$_invoke$arity$3(reader,null,null) : edamame.impl.parser.read_symbolic_value.call(null,reader,null,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x27\x22,G__42554)){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val)){\nedamame.impl.parser.throw_eof_while_reading(ctx,reader);\n} else {\n}\n\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Var literal not allowed. Use the `:var` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22(\x22,G__42554)){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nif(cljs.core.truth_(new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22fn-literal\x22,\x22edamame.impl.parser/fn-literal\x22,-1835933155).cljs$core$IFn$_invoke$arity$1(ctx))){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Nested fn literals not allowed.\x22);\n} else {\nvar fn_expr \x3d (function (){var G__42557 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22fn-literal\x22,\x22edamame.impl.parser/fn-literal\x22,-1835933155),true);\nvar G__42558 \x3d reader;\nreturn (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(G__42557,G__42558) : edamame.impl.parser.parse_next.call(null,G__42557,G__42558));\n})();\nif(v \x3d\x3d\x3d true){\nreturn edamame.impl.read_fn.read_fn(fn_expr);\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(fn_expr) : v.call(null,fn_expr));\n}\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Function literal not allowed. Use the `:fn` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22:\x22,G__42554)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.parse_namespaced_map(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22{\x22,G__42554)){\nreturn edamame.impl.parser.parse_set(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x3d\x22,G__42554)){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22edamame.core\x22,\x22read-eval\x22,\x22edamame.core/read-eval\x22,1461005554,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Read-eval not allowed. Use the `:read-eval` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22^\x22,G__42554)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar meta_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,true) : edamame.impl.parser.parse_next.call(null,ctx,reader,true));\nvar val_val \x3d cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),cljs.core.merge,meta_val);\nreturn val_val;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22?\x22,G__42554)){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(ctx))){\n} else {\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Conditional read not allowed.\x22);\n}\n\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.parse_reader_conditional(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22_\x22,G__42554)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar uneval_fn \x3d new cljs.core.Keyword(null,\x22uneval\x22,\x22uneval\x22,1932037707).cljs$core$IFn$_invoke$arity$1(ctx);\nvar uneval \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(cljs.core.truth_(uneval_fn)){\nvar val_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif((edamame.impl.parser.eof \x3d\x3d\x3d val_val)){\nreturn edamame.impl.parser.eof;\n} else {\nvar G__42570 \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22uneval\x22,\x22uneval\x22,1932037707),uneval,new cljs.core.Keyword(null,\x22next\x22,\x22next\x22,-117701485),val_val], null);\nreturn (uneval_fn.cljs$core$IFn$_invoke$arity$1 ? uneval_fn.cljs$core$IFn$_invoke$arity$1(G__42570) : uneval_fn.call(null,G__42570));\n}\n} else {\nreturn edamame.impl.parser.continue$;\n}\n} else {\nif(cljs.core.truth_(edamame.impl.parser.dispatch_macro_QMARK_(c))){\nreader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,\x22#\x22);\n\nreturn edamame.impl.parser.edn_read(ctx,reader);\n} else {\nvar suppress_QMARK_ \x3d new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(suppress_QMARK_)){\nreturn cljs.core.tagged_literal((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),(edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)));\n} else {\nvar sym \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nvar data \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nvar f \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar readers \x3d temp__5804__auto__;\nreturn (readers.cljs$core$IFn$_invoke$arity$1 ? readers.cljs$core$IFn$_invoke$arity$1(sym) : readers.call(null,sym));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tagged_literals._STAR_cljs_data_readers_STAR_.call(null,sym);\n}\n})();\nif(cljs.core.truth_(f)){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(data) : f.call(null,data));\n} else {\nthrow (new Error([\x22No reader function for tag \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)));\n}\n}\n}\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nedamame.impl.parser.throw_odd_map \x3d (function edamame$impl$parser$throw_odd_map(ctx,reader,loc,elements){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,[\x22The map literal starting with \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(cljs.core.first(elements))),\x22 contains \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(elements)),\x22 form(s). Map literals must contain an even number of forms.\x22].join(\x27\x27),null,loc);\n});\nedamame.impl.parser.parse_map \x3d (function edamame$impl$parser$parse_map(ctx,reader){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar start_loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nvar elements \x3d edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22}\x22);\nvar c \x3d cljs.core.count(elements);\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar mf \x3d temp__5802__auto__;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(mf,elements);\n} else {\nif((c \x3e (0))){\nif(cljs.core.odd_QMARK_(c)){\nedamame.impl.parser.throw_odd_map(ctx,reader,start_loc,elements);\n} else {\n}\n\nvar ks_43484 \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),elements);\nif(cljs.core.truth_(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.distinct_QMARK_,ks_43484))){\n} else {\nedamame.impl.parser.throw_dup_keys(ctx,reader,start_loc,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),ks_43484);\n}\n} else {\n}\n\nif((c \x3c\x3d (16))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,elements);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,elements);\n}\n}\n});\nedamame.impl.parser.parse_keyword \x3d (function edamame$impl$parser$parse_keyword(ctx,reader){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar init_c \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(edamame.impl.parser.whitespace_QMARK_(init_c))){\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Invalid token: :\x22);\n} else {\n}\n\nvar token \x3d edamame.impl.parser.read_token(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),init_c);\nif(clojure.string.blank_QMARK_(token)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Invalid keyword: :\x22);\n} else {\nvar s \x3d edamame.impl.parser.parse_symbol(token);\nif(cljs.core.truth_(s)){\nvar auto_resolve_QMARK_ \x3d (\x22:\x22 \x3d\x3d\x3d token.charAt((0)));\nif(auto_resolve_QMARK_){\nvar token__$1 \x3d ((auto_resolve_QMARK_)?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,(1)):token);\nvar vec__42595 \x3d s;\nvar token_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42595,(0),null);\nvar token_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42595,(1),null);\nif(cljs.core.truth_(token_ns)){\nvar f \x3d edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$3(ctx,reader,token__$1);\nvar kns \x3d edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$5(ctx,f,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token_ns,(1))),reader,token_ns);\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(kns),token_name);\n} else {\nvar f \x3d edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$4(ctx,reader,token__$1,\x22Use `:auto-resolve` + `:current` to resolve current namespace.\x22);\nvar kns \x3d edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$6(ctx,f,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),reader,token__$1,\x22Use `:auto-resolve` + `:current` to resolve current namespace.\x22);\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(kns),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token_name,(1)));\n}\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(token);\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,[\x22Invalid keyword: :\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token),\x22.\x22].join(\x27\x27));\n}\n}\n});\n/**\n * Resolves syntactical sugar in metadata\n */\nedamame.impl.parser.desugar_meta \x3d (function edamame$impl$parser$desugar_meta(var_args){\nvar G__42614 \x3d arguments.length;\nswitch (G__42614) {\ncase 1:\nreturn edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([f,true]);\n} else {\nif((f instanceof cljs.core.Symbol)){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nif(typeof f \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nif(cljs.core.vector_QMARK_(f)){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22param-tags\x22,\x22param-tags\x22,250134169),f], null);\n} else {\nreturn f;\n\n}\n}\n}\n}\n}));\n\n(edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,postprocess){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(f) : postprocess.call(null,f)),(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(true) : postprocess.call(null,true))]);\n} else {\nif((f instanceof cljs.core.Symbol)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223)) : postprocess.call(null,new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223))),(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(f) : postprocess.call(null,f))]);\n} else {\nif(typeof f \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223)) : postprocess.call(null,new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223))),(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(f) : postprocess.call(null,f))]);\n} else {\nif(cljs.core.vector_QMARK_(f)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22param-tags\x22,\x22param-tags\x22,250134169)) : postprocess.call(null,new cljs.core.Keyword(null,\x22param-tags\x22,\x22param-tags\x22,250134169))),(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(f) : postprocess.call(null,f))]);\n} else {\nreturn f;\n\n}\n}\n}\n}\n}));\n\n(edamame.impl.parser.desugar_meta.cljs$lang$maxFixedArity \x3d 2);\n\nedamame.impl.parser.dispatch \x3d (function edamame$impl$parser$dispatch(ctx,reader,c){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar sharp_QMARK_ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22#\x22,c);\nif(sharp_QMARK_){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.parse_sharp(ctx,reader);\n} else {\nvar G__42651 \x3d c;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__42651)){\nreturn edamame.impl.parser.eof;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22@\x22,G__42651)){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Deref not allowed. Use the `:deref` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22`\x22,G__42651)){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(((v \x3d\x3d\x3d true) || (cljs.core.map_QMARK_(v)))){\nvar gensyms \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22gensyms\x22,\x22gensyms\x22,248713782),gensyms);\nvar ret \x3d edamame.impl.syntax_quote.syntax_quote(ctx__$1,reader,next_val);\nreturn ret;\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Syntax quote not allowed. Use the `:syntax-quote` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\x22\x22,G__42651)){\nreturn edamame.impl.parser.parse_string_STAR_(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x27\x22,G__42651)){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val)){\nedamame.impl.parser.throw_eof_while_reading(ctx,reader);\n} else {\n}\n\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.edn_read(ctx,reader);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22(\x22,G__42651)){\nreturn edamame.impl.parser.parse_list(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22)\x22,G__42651)){\nvar expected \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(expected,c)){\nvar loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,[\x22Unmatched delimiter: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),(cljs.core.truth_(expected)?[\x22, expected: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected),(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar map__42722 \x3d temp__5804__auto__;\nvar map__42722__$1 \x3d cljs.core.__destructure_map(map__42722);\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42722__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42722__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42722__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nreturn [\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),\x22 at \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [row,col], null))].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27):null)].join(\x27\x27),(function (){var map__42723 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nvar map__42723__$1 \x3d cljs.core.__destructure_map(map__42723);\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42723__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42723__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42723__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null),new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected)], null);\n})(),loc);\n} else {\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.expected_delimiter;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22:\x22,G__42651)){\nreturn edamame.impl.parser.parse_keyword(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22;\x22,G__42651)){\nreturn edamame.impl.parser.parse_comment(reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22[\x22,G__42651)){\nreturn edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22]\x22);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22{\x22,G__42651)){\nreturn edamame.impl.parser.parse_map(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\\\x22,G__42651)){\nvar G__42737 \x3d reader;\nvar G__42738 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar G__42739 \x3d null;\nreturn (edamame.impl.parser.read_char_STAR_.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.parser.read_char_STAR_.cljs$core$IFn$_invoke$arity$3(G__42737,G__42738,G__42739) : edamame.impl.parser.read_char_STAR_.call(null,G__42737,G__42738,G__42739));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22]\x22,G__42651)){\nvar expected \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(expected,c)){\nvar loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,[\x22Unmatched delimiter: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),(cljs.core.truth_(expected)?[\x22, expected: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected),(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar map__42796 \x3d temp__5804__auto__;\nvar map__42796__$1 \x3d cljs.core.__destructure_map(map__42796);\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42796__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42796__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42796__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nreturn [\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),\x22 at \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [row,col], null))].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27):null)].join(\x27\x27),(function (){var map__42798 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nvar map__42798__$1 \x3d cljs.core.__destructure_map(map__42798);\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42798__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42798__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42798__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null),new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected)], null);\n})(),loc);\n} else {\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.expected_delimiter;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22}\x22,G__42651)){\nvar expected \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(expected,c)){\nvar loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,[\x22Unmatched delimiter: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),(cljs.core.truth_(expected)?[\x22, expected: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected),(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar map__42842 \x3d temp__5804__auto__;\nvar map__42842__$1 \x3d cljs.core.__destructure_map(map__42842);\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42842__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42842__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42842__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nreturn [\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),\x22 at \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [row,col], null))].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27):null)].join(\x27\x27),(function (){var map__42844 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nvar map__42844__$1 \x3d cljs.core.__destructure_map(map__42844);\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42844__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42844__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__42844__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null),new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected)], null);\n})(),loc);\n} else {\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.expected_delimiter;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22^\x22,G__42651)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar meta_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,true) : edamame.impl.parser.parse_next.call(null,ctx,reader,true));\nvar val_val \x3d cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),cljs.core.merge,meta_val);\nreturn val_val;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22~\x22,G__42651)){\nvar temp__5802__auto__ \x3d (function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(and__5023__auto__)){\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn true;\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar nc \x3d reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif((nc \x3d\x3d\x3d \x22@\x22)){\nvar temp__5802__auto____$1 \x3d (function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(and__5023__auto__)){\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn true;\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar v__$1 \x3d temp__5802__auto____$1;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(v__$1 \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v__$1.cljs$core$IFn$_invoke$arity$1 ? v__$1.cljs$core$IFn$_invoke$arity$1(next_val) : v__$1.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Syntax unquote splice not allowed. Use the `:syntax-quote` option\x22);\n}\n} else {\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Syntax unquote not allowed. Use the `:syntax-quote` option\x22);\n}\n} else {\nvar c__$1 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_((edamame.impl.parser.number_literal_QMARK_.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.number_literal_QMARK_.cljs$core$IFn$_invoke$arity$2(reader,c__$1) : edamame.impl.parser.number_literal_QMARK_.call(null,reader,c__$1)))){\nreturn edamame.impl.parser.read_number(ctx,reader,c__$1);\n} else {\nreturn edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$3(ctx,reader,c__$1);\n\n}\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nedamame.impl.parser.iobj_QMARK_ \x3d (function edamame$impl$parser$iobj_QMARK_(obj){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IWithMeta$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IWithMeta,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IWithMeta,obj);\n}\n});\nedamame.impl.parser.buf \x3d (function edamame$impl$parser$buf(reader){\nreturn new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(reader.frames));\n});\nedamame.impl.parser.parse_next \x3d (function edamame$impl$parser$parse_next(var_args){\nvar G__42943 \x3d arguments.length;\nswitch (G__42943) {\ncase 2:\nreturn edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reader){\nreturn edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,null);\n}));\n\n(edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,desugar){\nwhile(true){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar temp__5802__auto__ \x3d (function (){var and__5023__auto__ \x3d edamame.impl.parser.skip_whitespace(ctx,reader);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.tools.reader.reader_types.peek_char(reader);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar c \x3d temp__5802__auto__;\nvar loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nvar log_QMARK_ \x3d new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539).cljs$core$IFn$_invoke$arity$1(ctx);\nvar buf \x3d (cljs.core.truth_(log_QMARK_)?edamame.impl.parser.buf(reader):null);\nvar offset \x3d (cljs.core.truth_(log_QMARK_)?buf.getLength():null);\nvar obj \x3d (cljs.core.truth_(log_QMARK_)?cljs.tools.reader.reader_types.log_source_STAR_(reader,((function (ctx,reader,desugar,loc,log_QMARK_,buf,offset,c,temp__5802__auto__,ir_QMARK_){\nreturn (function (){\nreturn edamame.impl.parser.dispatch(ctx,reader,c);\n});})(ctx,reader,desugar,loc,log_QMARK_,buf,offset,c,temp__5802__auto__,ir_QMARK_))\n):edamame.impl.parser.dispatch(ctx,reader,c));\nif((edamame.impl.parser.continue$ \x3d\x3d\x3d obj)){\nvar G__43546 \x3d ctx;\nvar G__43547 \x3d reader;\nvar G__43548 \x3d desugar;\nctx \x3d G__43546;\nreader \x3d G__43547;\ndesugar \x3d G__43548;\ncontinue;\n} else {\nif((edamame.impl.parser.expected_delimiter \x3d\x3d\x3d obj)){\nreturn obj;\n} else {\nvar auto_resolve_ns \x3d new cljs.core.Keyword(null,\x22auto-resolve-ns\x22,\x22auto-resolve-ns\x22,-417488467).cljs$core$IFn$_invoke$arity$1(ctx);\nvar _ \x3d (cljs.core.truth_(auto_resolve_ns)?(function (){var temp__5804__auto__ \x3d ((((cljs.core.seq_QMARK_(obj)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),cljs.core.first(obj)))))?(function (){try{return edamame.impl.ns_parser.parse_ns_form(obj);\n}catch (e42976){if((e42976 instanceof edamame.impl.parser.Exception)){\nvar _ \x3d e42976;\nreturn null;\n} else {\nthrow e42976;\n\n}\n}})():null);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns_parsed \x3d temp__5804__auto__;\nvar temp__5804__auto____$1 \x3d new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar ns_state \x3d temp__5804__auto____$1;\nreturn cljs.core.reset_BANG_(ns_state,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714).cljs$core$IFn$_invoke$arity$1(ns_parsed),new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603).cljs$core$IFn$_invoke$arity$1(ns_parsed)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})():null);\nvar postprocess \x3d new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881).cljs$core$IFn$_invoke$arity$1(ctx);\nvar location_QMARK_ \x3d new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086).cljs$core$IFn$_invoke$arity$1(ctx);\nvar end_loc_QMARK_ \x3d new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467).cljs$core$IFn$_invoke$arity$1(ctx);\nvar iobj_QMARK__QMARK_ \x3d edamame.impl.parser.iobj_QMARK_(obj);\nvar src \x3d (cljs.core.truth_(log_QMARK_)?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(buf),offset).trim():null);\nvar loc_QMARK_ \x3d (function (){var and__5023__auto__ \x3d ir_QMARK_;\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d (function (){var and__5023__auto____$1 \x3d iobj_QMARK__QMARK_;\nif(and__5023__auto____$1){\nvar or__5025__auto__ \x3d cljs.core.not(location_QMARK_);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn (location_QMARK_.cljs$core$IFn$_invoke$arity$1 ? location_QMARK_.cljs$core$IFn$_invoke$arity$1(obj) : location_QMARK_.call(null,obj));\n}\n} else {\nreturn and__5023__auto____$1;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn postprocess;\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar end_loc \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d ir_QMARK_;\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d loc_QMARK_;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn end_loc_QMARK_;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?edamame.impl.parser.location(reader):null);\nvar row \x3d (cljs.core.truth_(loc_QMARK_)?new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521).cljs$core$IFn$_invoke$arity$1(loc):null);\nvar end_row \x3d (cljs.core.truth_(end_loc_QMARK_)?new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521).cljs$core$IFn$_invoke$arity$1(end_loc):null);\nvar col \x3d (cljs.core.truth_(loc_QMARK_)?new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$1(loc):null);\nvar end_col \x3d (cljs.core.truth_(end_loc_QMARK_)?new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$1(end_loc):null);\nvar postprocess_fn \x3d (cljs.core.truth_(postprocess)?((function (ctx,reader,desugar,auto_resolve_ns,_,postprocess,location_QMARK_,end_loc_QMARK_,iobj_QMARK__QMARK_,src,loc_QMARK_,end_loc,row,end_row,col,end_col,loc,log_QMARK_,buf,offset,obj,c,temp__5802__auto__,ir_QMARK_){\nreturn (function (p1__42931_SHARP_){\nvar G__43004 \x3d (function (){var G__43008 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),p1__42931_SHARP_], null);\nvar G__43008__$1 \x3d (cljs.core.truth_(loc_QMARK_)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43008,new cljs.core.Keyword(null,\x22loc\x22,\x22loc\x22,-584284901),(function (){var G__43009 \x3d cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(ctx),row,new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(ctx),col]);\nif(cljs.core.truth_(end_loc_QMARK_)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(G__43009,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(ctx),end_row,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(ctx),end_col], 0));\n} else {\nreturn G__43009;\n}\n})()):G__43008);\nif(cljs.core.truth_(src)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43008__$1,(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539);\n}\n})(),src);\n} else {\nreturn G__43008__$1;\n}\n})();\nreturn (postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(G__43004) : postprocess.call(null,G__43004));\n});})(ctx,reader,desugar,auto_resolve_ns,_,postprocess,location_QMARK_,end_loc_QMARK_,iobj_QMARK__QMARK_,src,loc_QMARK_,end_loc,row,end_row,col,end_col,loc,log_QMARK_,buf,offset,obj,c,temp__5802__auto__,ir_QMARK_))\n:null);\nvar obj__$1 \x3d (cljs.core.truth_(desugar)?(cljs.core.truth_(postprocess_fn)?edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$2(obj,postprocess_fn):edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$1(obj)):obj);\nvar obj__$2 \x3d (cljs.core.truth_(postprocess)?(postprocess_fn.cljs$core$IFn$_invoke$arity$1 ? postprocess_fn.cljs$core$IFn$_invoke$arity$1(obj__$1) : postprocess_fn.call(null,obj__$1)):(cljs.core.truth_(loc_QMARK_)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(obj__$1,((function (ctx,reader,desugar,auto_resolve_ns,_,postprocess,location_QMARK_,end_loc_QMARK_,iobj_QMARK__QMARK_,src,loc_QMARK_,end_loc,row,end_row,col,end_col,postprocess_fn,obj__$1,loc,log_QMARK_,buf,offset,obj,c,temp__5802__auto__,ir_QMARK_){\nreturn (function (p1__42933_SHARP_){\nvar G__43024 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__42933_SHARP_,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(ctx),row),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(ctx),col);\nvar G__43024__$1 \x3d (cljs.core.truth_(end_loc_QMARK_)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43024,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(ctx),end_row),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(ctx),end_col):G__43024);\nif(cljs.core.truth_(src)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43024__$1,new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542).cljs$core$IFn$_invoke$arity$1(ctx),src);\n} else {\nreturn G__43024__$1;\n}\n});})(ctx,reader,desugar,auto_resolve_ns,_,postprocess,location_QMARK_,end_loc_QMARK_,iobj_QMARK__QMARK_,src,loc_QMARK_,end_loc,row,end_row,col,end_col,postprocess_fn,obj__$1,loc,log_QMARK_,buf,offset,obj,c,temp__5802__auto__,ir_QMARK_))\n):obj__$1\n));\nreturn obj__$2;\n}\n}\n} else {\nreturn edamame.impl.parser.eof;\n}\nbreak;\n}\n}));\n\n(edamame.impl.parser.parse_next.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Create reader for strings.\n */\nedamame.impl.parser.string_reader \x3d (function edamame$impl$parser$string_reader(s){\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nedamame.impl.parser.Options \x3d (function (dispatch,deref,syntax_quote,unquote,unquote_splicing,quote,fn,var$,read_eval,regex,row_key,col_key,end_row_key,end_col_key,source,source_key,postprocess,location_QMARK_,end_location,ns_state,suppress_read,__meta,__extmap,__hash){\nthis.dispatch \x3d dispatch;\nthis.deref \x3d deref;\nthis.syntax_quote \x3d syntax_quote;\nthis.unquote \x3d unquote;\nthis.unquote_splicing \x3d unquote_splicing;\nthis.quote \x3d quote;\nthis.fn \x3d fn;\nthis.var$ \x3d var$;\nthis.read_eval \x3d read_eval;\nthis.regex \x3d regex;\nthis.row_key \x3d row_key;\nthis.col_key \x3d col_key;\nthis.end_row_key \x3d end_row_key;\nthis.end_col_key \x3d end_col_key;\nthis.source \x3d source;\nthis.source_key \x3d source_key;\nthis.postprocess \x3d postprocess;\nthis.location_QMARK_ \x3d location_QMARK_;\nthis.end_location \x3d end_location;\nthis.ns_state \x3d ns_state;\nthis.suppress_read \x3d suppress_read;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(edamame.impl.parser.Options.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k43041,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__43077 \x3d k43041;\nvar G__43077__$1 \x3d (((G__43077 instanceof cljs.core.Keyword))?G__43077.fqn:null);\nswitch (G__43077__$1) {\ncase \x22dispatch\x22:\nreturn self__.dispatch;\n\nbreak;\ncase \x22deref\x22:\nreturn self__.deref;\n\nbreak;\ncase \x22syntax-quote\x22:\nreturn self__.syntax_quote;\n\nbreak;\ncase \x22unquote\x22:\nreturn self__.unquote;\n\nbreak;\ncase \x22unquote-splicing\x22:\nreturn self__.unquote_splicing;\n\nbreak;\ncase \x22quote\x22:\nreturn self__.quote;\n\nbreak;\ncase \x22fn\x22:\nreturn self__.fn;\n\nbreak;\ncase \x22var\x22:\nreturn self__.var$;\n\nbreak;\ncase \x22read-eval\x22:\nreturn self__.read_eval;\n\nbreak;\ncase \x22regex\x22:\nreturn self__.regex;\n\nbreak;\ncase \x22row-key\x22:\nreturn self__.row_key;\n\nbreak;\ncase \x22col-key\x22:\nreturn self__.col_key;\n\nbreak;\ncase \x22end-row-key\x22:\nreturn self__.end_row_key;\n\nbreak;\ncase \x22end-col-key\x22:\nreturn self__.end_col_key;\n\nbreak;\ncase \x22source\x22:\nreturn self__.source;\n\nbreak;\ncase \x22source-key\x22:\nreturn self__.source_key;\n\nbreak;\ncase \x22postprocess\x22:\nreturn self__.postprocess;\n\nbreak;\ncase \x22location?\x22:\nreturn self__.location_QMARK_;\n\nbreak;\ncase \x22end-location\x22:\nreturn self__.end_location;\n\nbreak;\ncase \x22ns-state\x22:\nreturn self__.ns_state;\n\nbreak;\ncase \x22suppress-read\x22:\nreturn self__.suppress_read;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k43041,else__5326__auto__);\n\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__43090){\nvar vec__43091 \x3d p__43090;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43091,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43091,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#edamame.impl.parser.Options{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),self__.dispatch],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),self__.deref],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),self__.syntax_quote],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),self__.unquote],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),self__.unquote_splicing],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),self__.quote],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),self__.fn],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),self__.var$],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),self__.read_eval],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),self__.regex],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),self__.row_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),self__.col_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),self__.end_row_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),self__.end_col_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),self__.source],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),self__.source_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),self__.postprocess],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),self__.location_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),self__.end_location],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),self__.ns_state],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),self__.suppress_read],null))], null),self__.__extmap));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__43040){\nvar self__ \x3d this;\nvar G__43040__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__43040__$1,21,new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (21 + cljs.core.count(self__.__extmap));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-1037796634 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this43043,other43044){\nvar self__ \x3d this;\nvar this43043__$1 \x3d this;\nreturn (((!((other43044 \x3d\x3d null)))) \x26\x26 ((((this43043__$1.constructor \x3d\x3d\x3d other43044.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.dispatch,other43044.dispatch)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.deref,other43044.deref)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.syntax_quote,other43044.syntax_quote)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.unquote,other43044.unquote)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.unquote_splicing,other43044.unquote_splicing)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.quote,other43044.quote)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.fn,other43044.fn)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.var,other43044.var)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.read_eval,other43044.read_eval)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.regex,other43044.regex)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.row_key,other43044.row_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.col_key,other43044.col_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.end_row_key,other43044.end_row_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.end_col_key,other43044.end_col_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.source,other43044.source)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.source_key,other43044.source_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.postprocess,other43044.postprocess)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.location_QMARK_,other43044.location_QMARK_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.end_location,other43044.end_location)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.ns_state,other43044.ns_state)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.suppress_read,other43044.suppress_read)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this43043__$1.__extmap,other43044.__extmap)))))))))))))))))))))))))))))))))))))))))))))));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 21, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),null,new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),null,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),null,new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),null,new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),null,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),null,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),null,new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),null,new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),null,new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),null,new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),null,new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),null,new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),null,new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),null,new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),null,new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),null,new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),null,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),null,new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),null,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),null,new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k43041){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__43271 \x3d k43041;\nvar G__43271__$1 \x3d (((G__43271 instanceof cljs.core.Keyword))?G__43271.fqn:null);\nswitch (G__43271__$1) {\ncase \x22dispatch\x22:\ncase \x22deref\x22:\ncase \x22syntax-quote\x22:\ncase \x22unquote\x22:\ncase \x22unquote-splicing\x22:\ncase \x22quote\x22:\ncase \x22fn\x22:\ncase \x22var\x22:\ncase \x22read-eval\x22:\ncase \x22regex\x22:\ncase \x22row-key\x22:\ncase \x22col-key\x22:\ncase \x22end-row-key\x22:\ncase \x22end-col-key\x22:\ncase \x22source\x22:\ncase \x22source-key\x22:\ncase \x22postprocess\x22:\ncase \x22location?\x22:\ncase \x22end-location\x22:\ncase \x22ns-state\x22:\ncase \x22suppress-read\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k43041);\n\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__43040){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__43272 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__43273 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),expr__43273)))){\nreturn (new edamame.impl.parser.Options(G__43040,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,G__43040,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,G__43040,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,G__43040,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,G__43040,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,G__43040,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,G__43040,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,G__43040,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,G__43040,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,G__43040,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,G__43040,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,G__43040,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,G__43040,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,G__43040,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,G__43040,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,G__43040,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,G__43040,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,G__43040,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,G__43040,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,G__43040,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__43272.cljs$core$IFn$_invoke$arity$2 ? pred__43272.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),expr__43273) : pred__43272.call(null,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),expr__43273)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,G__43040,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__43040),null));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),self__.dispatch,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),self__.deref,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),self__.syntax_quote,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),self__.unquote,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),self__.unquote_splicing,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),self__.quote,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),self__.fn,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),self__.var$,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),self__.read_eval,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),self__.regex,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),self__.row_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),self__.col_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),self__.end_row_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),self__.end_col_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),self__.source,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),self__.source_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),self__.postprocess,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),self__.location_QMARK_,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),self__.end_location,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),self__.ns_state,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),self__.suppress_read,null))], null),self__.__extmap));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__43040){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,G__43040,self__.__extmap,self__.__hash));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(edamame.impl.parser.Options.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22dispatch\x22,\x22dispatch\x22,-1335098760,null),new cljs.core.Symbol(null,\x22deref\x22,\x22deref\x22,1494944732,null),new cljs.core.Symbol(null,\x22syntax-quote\x22,\x22syntax-quote\x22,407366680,null),new cljs.core.Symbol(null,\x22unquote\x22,\x22unquote\x22,-1004694737,null),new cljs.core.Symbol(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,-1359168213,null),new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),new cljs.core.Symbol(null,\x22read-eval\x22,\x22read-eval\x22,-865701837,null),new cljs.core.Symbol(null,\x22regex\x22,\x22regex\x22,-1714946913,null),new cljs.core.Symbol(null,\x22row-key\x22,\x22row-key\x22,451520815,null),new cljs.core.Symbol(null,\x22col-key\x22,\x22col-key\x22,-369144239,null),new cljs.core.Symbol(null,\x22end-row-key\x22,\x22end-row-key\x22,513868847,null),new cljs.core.Symbol(null,\x22end-col-key\x22,\x22end-col-key\x22,1722344831,null),new cljs.core.Symbol(null,\x22source\x22,\x22source\x22,1206599988,null),new cljs.core.Symbol(null,\x22source-key\x22,\x22source-key\x22,314655985,null),new cljs.core.Symbol(null,\x22postprocess\x22,\x22postprocess\x22,-223231354,null),new cljs.core.Symbol(null,\x22location?\x22,\x22location?\x22,2066409613,null),new cljs.core.Symbol(null,\x22end-location\x22,\x22end-location\x22,441082060,null),new cljs.core.Symbol(null,\x22ns-state\x22,\x22ns-state\x22,1108260756,null),new cljs.core.Symbol(null,\x22suppress-read\x22,\x22suppress-read\x22,19684481,null)], null);\n}));\n\n(edamame.impl.parser.Options.cljs$lang$type \x3d true);\n\n(edamame.impl.parser.Options.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22edamame.impl.parser/Options\x22,null,(1),null));\n}));\n\n(edamame.impl.parser.Options.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22edamame.impl.parser/Options\x22);\n}));\n\n/**\n * Positional factory function for edamame.impl.parser/Options.\n */\nedamame.impl.parser.__GT_Options \x3d (function edamame$impl$parser$__GT_Options(dispatch,deref,syntax_quote,unquote,unquote_splicing,quote,fn,var$,read_eval,regex,row_key,col_key,end_row_key,end_col_key,source,source_key,postprocess,location_QMARK_,end_location,ns_state,suppress_read){\nreturn (new edamame.impl.parser.Options(dispatch,deref,syntax_quote,unquote,unquote_splicing,quote,fn,var$,read_eval,regex,row_key,col_key,end_row_key,end_col_key,source,source_key,postprocess,location_QMARK_,end_location,ns_state,suppress_read,null,null,null));\n});\n\n/**\n * Factory function for edamame.impl.parser/Options, taking a map of keywords to field values.\n */\nedamame.impl.parser.map__GT_Options \x3d (function edamame$impl$parser$map__GT_Options(G__43057){\nvar extmap__5365__auto__ \x3d (function (){var G__43297 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__43057,new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046)], 0));\nif(cljs.core.record_QMARK_(G__43057)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__43297);\n} else {\nreturn G__43297;\n}\n})();\nreturn (new edamame.impl.parser.Options(new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771).cljs$core$IFn$_invoke$arity$1(G__43057),new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046).cljs$core$IFn$_invoke$arity$1(G__43057),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nedamame.impl.parser.normalize_opts \x3d (function edamame$impl$parser$normalize_opts(opts){\nvar opts__$1 \x3d (function (){var temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dispatch \x3d temp__5802__auto__;\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009)),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22@\x22], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22`\x22], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22~\x22], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nif(cljs.core.fn_QMARK_(v)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),v], null);\n} else {\nvar temp__5804__auto____$1 \x3d new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(v);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar v__$1 \x3d temp__5804__auto____$1;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),v__$1], null);\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22~\x22,\x22@\x22], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x27\x22], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22#\x22,\x22(\x22], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22#\x22,\x22\x27\x22], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22#\x22,\x22\x3d\x22], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22#\x22,\x22\\\x22\x22], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),v], null);\n} else {\nreturn null;\n}\n})()], null));\n} else {\nreturn opts;\n}\n})();\nvar opts__$2 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742).cljs$core$IFn$_invoke$arity$1(opts__$1))?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),true,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),true,new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),true,new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),true,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),true,new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),true,new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),true], null),opts__$1], 0)):opts__$1);\nvar opts__$3 \x3d (function (){var G__43313 \x3d opts__$2;\nvar G__43313__$1 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43313,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521)):G__43313);\nvar G__43313__$2 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43313__$1,new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084)):G__43313__$1);\nvar G__43313__$3 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43313__$2,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),new cljs.core.Keyword(null,\x22end-row\x22,\x22end-row\x22,-545103581)):G__43313__$2);\nvar G__43313__$4 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43313__$3,new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),new cljs.core.Keyword(null,\x22end-col\x22,\x22end-col\x22,-724155879)):G__43313__$3);\nvar G__43313__$5 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43313__$4,new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539)):G__43313__$4);\nif((!(cljs.core.contains_QMARK_(opts__$2,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467))))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__43313__$5,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),true);\n} else {\nreturn G__43313__$5;\n}\n})();\nvar opts__$4 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts__$3,new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null));\nreturn edamame.impl.parser.map__GT_Options(opts__$4);\n});\nedamame.impl.parser.parse_string \x3d (function edamame$impl$parser$parse_string(s,opts){\nvar opts__$1 \x3d edamame.impl.parser.normalize_opts(opts);\nvar src_QMARK_ \x3d opts__$1.source;\nvar r \x3d (cljs.core.truth_(src_QMARK_)?cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(s):edamame.impl.parser.string_reader(s));\nvar ctx \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts__$1,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803),null);\nvar v \x3d edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,r);\nif((edamame.impl.parser.eof \x3d\x3d\x3d v)){\nreturn null;\n} else {\nreturn v;\n}\n});\nedamame.impl.parser.parse_string_all \x3d (function edamame$impl$parser$parse_string_all(s,opts){\nvar opts__$1 \x3d edamame.impl.parser.normalize_opts(opts);\nvar src_QMARK_ \x3d opts__$1.source;\nvar r \x3d (cljs.core.truth_(src_QMARK_)?cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(s):edamame.impl.parser.string_reader(s));\nvar ctx \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts__$1,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803),null);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nvar next_val \x3d edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,r);\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val)){\nreturn cljs.core.persistent_BANG_(ret);\n} else {\nvar G__43666 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(ret,next_val);\nret \x3d G__43666;\ncontinue;\n}\nbreak;\n}\n});\nedamame.impl.parser.reader \x3d (function edamame$impl$parser$reader(x){\nvar string_reader \x3d cljs.tools.reader.reader_types.string_reader(x);\nvar buf_len \x3d (1);\nvar pushback_reader \x3d (new cljs.tools.reader.reader_types.PushbackReader(string_reader,cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(buf_len),buf_len,buf_len));\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(pushback_reader);\n});\nedamame.impl.parser.get_line_number \x3d (function edamame$impl$parser$get_line_number(reader){\nreturn cljs.tools.reader.reader_types.get_line_number(reader);\n});\nedamame.impl.parser.get_column_number \x3d (function edamame$impl$parser$get_column_number(reader){\nreturn cljs.tools.reader.reader_types.get_column_number(reader);\n});\nedamame.impl.parser.source_logging_reader \x3d (function edamame$impl$parser$source_logging_reader(x){\nvar string_reader \x3d cljs.tools.reader.reader_types.string_reader(x);\nvar buf_len \x3d (1);\nvar pushback_reader \x3d (new cljs.tools.reader.reader_types.PushbackReader(string_reader,cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(buf_len),buf_len,buf_len));\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(pushback_reader);\n});\n");
SHADOW_ENV.evalLoad("edamame.core.js", true, "goog.provide(\x27edamame.core\x27);\n/**\n * Parses first EDN value from string.\n * \n *   Supported parsing options can be `true` for default behavior or a function\n *   that is called on the form and returns a form in its place:\n * \n *   `:deref`: parse forms starting with `@`. If `true`, the resulting\n *   expression will be parsed as `(deref expr)`.\n * \n *   `:fn`: parse function literals (`#(inc %)`). If `true`, will be parsed as `(fn [%1] (inc %))`.\n * \n *   `:quote`: parse quoted expression `\x27foo`. If `true`, will be parsed as `(quote foo)`.\n * \n *   `:read-eval`: parse read-eval (`#\x3d(+ 1 2 3)`). If `true`, the\n *   resulting expression will be parsed as `(read-eval (+ 1 2 3))`.\n * \n *   `:regex`: parse regex literals (`#\x22foo\x22`). If `true`, defaults to\n *   `re-pattern`.\n * \n *   `:var`: parse var literals (`#\x27foo`). If `true`, the resulting\n *   expression will be parsed as `(var foo)`.\n * \n *   `:map`: parse map literal using a custom function, e.g. `flatland.ordered.map/ordered-map`\n * \n *   `:set`: parse set literal using a custom function, e.g. `flatland.ordered.set/ordered-set`\n * \n *   `:syntax-quote`: parse syntax-quote (`(+ 1 2 3)`). Symbols get\n *   qualified using `:resolve-symbol` which defaults to `identity`:\n *   ```clojure\n *   (parse-string \x22`x\x22 {:syntax-quote {:resolve-symbol #(symbol \x22user\x22 (str %))}})\n *   ;;\x3d\x3e (quote user/x)\n *   ```\n *   By default, also parses `unquote` and `unquote-splicing` literals,\n *   resolving them accordingly.\n * \n *   `:unquote`: parse unquote (`~x`). Requires `:syntax-quote` to be set.\n *   If `true` and not inside `syntax-quote`, defaults to `clojure.core/unquote`.\n * \n *   `:unquote-splicing`: parse unquote-splicing (`~@x`). Requires `:syntax-quote`\n *   to be set. If `true` and not inside `syntax-quote`, defaults\n *   to `clojure.core/unquote-splicing`.\n * \n *   `:all`: when `true`, the above options will be set to `true` unless\n *   explicitly provided.\n * \n *   Supported options for processing reader conditionals:\n * \n *   `:read-cond`: - `:allow` to process reader conditionals, or\n *                `:preserve` to keep all branches\n *   `:features`: - persistent set of feature keywords for reader conditionals (e.g. `#{:clj}`).\n * \n *   `:auto-resolve`: map of alias to namespace symbols for\n *   auto-resolving keywords. Use `:current` as the alias for the current\n *   namespace.\n * \n *   `:readers`: data readers.\n * \n *   `:postprocess`: a function that is called with a map containing\n *   `:obj`, the read value, and `:loc`, the location metadata. This can\n *   be used to handle objects that cannot carry metadata differently. If\n *   this option is provided, attaching location metadata is not\n *   automatically added to the object.\n * \n *   `:location?`: a predicate that is called with the parsed\n *   object. Should return a truthy value to determine if location\n *   information will be added.\n * \n *   `:uneval`: a function of a map with `:uneval` and `:next` to preserve `#_` expressions by combining them with next value.\n * \n *   `:suppress-read`: counterpart to *suppress-read* in clojure\n * \n *   Additional arguments to tools.reader may be passed with\n *   `:tools.reader/opts`, like `:readers` for passing reader tag functions.\n *   \n */\nedamame.core.parse_string \x3d (function edamame$core$parse_string(var_args){\nvar G__43347 \x3d arguments.length;\nswitch (G__43347) {\ncase 1:\nreturn edamame.core.parse_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.core.parse_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.core.parse_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn edamame.impl.parser.parse_string(s,null);\n}));\n\n(edamame.core.parse_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,opts){\nreturn edamame.impl.parser.parse_string(s,opts);\n}));\n\n(edamame.core.parse_string.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Like `parse-string` but parses all values from string and returns them\n *   in a vector.\n */\nedamame.core.parse_string_all \x3d (function edamame$core$parse_string_all(var_args){\nvar G__43352 \x3d arguments.length;\nswitch (G__43352) {\ncase 1:\nreturn edamame.core.parse_string_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.core.parse_string_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.core.parse_string_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn edamame.impl.parser.parse_string_all(s,null);\n}));\n\n(edamame.core.parse_string_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,opts){\nreturn edamame.impl.parser.parse_string_all(s,opts);\n}));\n\n(edamame.core.parse_string_all.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Coerces x into indexing pushback-reader to be used with\n *   parse-next. Accepts string or `java.io.Reader`\n */\nedamame.core.reader \x3d (function edamame$core$reader(x){\nreturn edamame.impl.parser.reader(x);\n});\n/**\n * Coerces x into source-logging-reader to be used with\n *   parse-next. Accepts string or `java.io.Reader`\n */\nedamame.core.source_reader \x3d (function edamame$core$source_reader(x){\nreturn edamame.impl.parser.source_logging_reader(x);\n});\nedamame.core.get_line_number \x3d (function edamame$core$get_line_number(reader){\nreturn edamame.impl.parser.get_line_number(reader);\n});\nedamame.core.get_column_number \x3d (function edamame$core$get_column_number(reader){\nreturn edamame.impl.parser.get_column_number(reader);\n});\n/**\n * Expands `opts` into normalized opts, e.g. `:all true` is expanded\n *   into explicit options.\n */\nedamame.core.normalize_opts \x3d (function edamame$core$normalize_opts(opts){\nreturn edamame.impl.parser.normalize_opts(opts);\n});\n/**\n * Parses next form from reader. Accepts same opts as `parse-string`,\n *   but must be normalized with `normalize-opts` first.\n */\nedamame.core.parse_next \x3d (function edamame$core$parse_next(var_args){\nvar G__43373 \x3d arguments.length;\nswitch (G__43373) {\ncase 1:\nreturn edamame.core.parse_next.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.core.parse_next.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2(reader,edamame.impl.parser.normalize_opts(cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2 \x3d (function (reader,normalized_opts){\nif(cljs.tools.reader.reader_types.source_logging_reader_QMARK_(reader)){\nvar buf_43421 \x3d edamame.impl.parser.buf(reader);\nbuf_43421.clear();\n} else {\n}\n\nvar v \x3d edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(normalized_opts,reader);\nif((edamame.impl.parser.eof \x3d\x3d\x3d v)){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(normalized_opts,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22edamame.core\x22,\x22eof\x22,\x22edamame.core/eof\x22,1855384188);\n}\n} else {\nreturn v;\n}\n}));\n\n(edamame.core.parse_next.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Parses next form from reader. Accepts same opts as `parse-string`,\n *   but must be normalized with `normalize-opts` first.\n *   Returns read value + string read (whitespace-trimmed).\n */\nedamame.core.parse_next_PLUS_string \x3d (function edamame$core$parse_next_PLUS_string(var_args){\nvar G__43391 \x3d arguments.length;\nswitch (G__43391) {\ncase 1:\nreturn edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2(reader,edamame.impl.parser.normalize_opts(cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (reader,normalized_opts){\nif(cljs.tools.reader.reader_types.source_logging_reader_QMARK_(reader)){\nvar v \x3d edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2(reader,normalized_opts);\nvar s \x3d clojure.string.trim(cljs.core.str.cljs$core$IFn$_invoke$arity$1(edamame.impl.parser.buf(reader)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,s], null);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22parse-next+string must be called with source-reader\x22,cljs.core.PersistentArrayMap.EMPTY);\n}\n}));\n\n(edamame.core.parse_next_PLUS_string.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns true if obj can carry metadata.\n */\nedamame.core.iobj_QMARK_ \x3d (function edamame$core$iobj_QMARK_(obj){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IWithMeta$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IWithMeta,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IWithMeta,obj);\n}\n});\n/**\n * Parses `ns-form`, an s-expression, into map with:\n *   - `:name`: the name of the namespace\n *   - `:aliases`: a map of aliases to lib names\n */\nedamame.core.parse_ns_form \x3d (function edamame$core$parse_ns_form(ns_form){\nreturn edamame.impl.ns_parser.parse_ns_form(ns_form);\n});\n/**\n * Singleton value to be used as return value in `:read-cond` fn to indicate to continue parsing the next form\n */\nedamame.core.continue$ \x3d edamame.impl.parser.continue$;\n");
SHADOW_ENV.evalLoad("sci.ctx_store.js", true, "goog.provide(\x27sci.ctx_store\x27);\n/**\n * Dynamic var in which context is stored. Don\x27t use directly, but only\n *   via public API.\n */\nsci.ctx_store._STAR_ctx_STAR_ \x3d null;\n/**\n * Store `ctx`\n */\nsci.ctx_store.reset_ctx_BANG_ \x3d (function sci$ctx_store$reset_ctx_BANG_(ctx){\nreturn (sci.ctx_store._STAR_ctx_STAR_ \x3d ctx);\n});\n/**\n * Update `ctx` using `f` and `args`\n */\nsci.ctx_store.swap_ctx_BANG_ \x3d (function sci$ctx_store$swap_ctx_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39525 \x3d arguments.length;\nvar i__5750__auto___39526 \x3d (0);\nwhile(true){\nif((i__5750__auto___39526 \x3c len__5749__auto___39525)){\nargs__5755__auto__.push((arguments[i__5750__auto___39526]));\n\nvar G__39527 \x3d (i__5750__auto___39526 + (1));\ni__5750__auto___39526 \x3d G__39527;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn (sci.ctx_store._STAR_ctx_STAR_ \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,sci.ctx_store._STAR_ctx_STAR_,args));\n}));\n\n(sci.ctx_store.swap_ctx_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.ctx_store.swap_ctx_BANG_.cljs$lang$applyTo \x3d (function (seq39508){\nvar G__39509 \x3d cljs.core.first(seq39508);\nvar seq39508__$1 \x3d cljs.core.next(seq39508);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39509,seq39508__$1);\n}));\n\n/**\n * Retrieve stored ctx or throw an exception.\n */\nsci.ctx_store.get_ctx \x3d (function sci$ctx_store$get_ctx(){\nvar or__5025__auto__ \x3d sci.ctx_store._STAR_ctx_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar msg \x3d \x22No context found in: sci.ctx-store/*ctx*. Please set it using sci.ctx-store/reset-ctx!\x22;\nthrow (new Error(msg));\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.types.js", true, "goog.provide(\x27sci.impl.types\x27);\n\n/**\n * @interface\n */\nsci.impl.types.IBox \x3d function(){};\n\nvar sci$impl$types$IBox$setVal$dyn_40092 \x3d (function (_this,_v){\nvar x__5373__auto__ \x3d (((_this \x3d\x3d null))?null:_this);\nvar m__5374__auto__ \x3d (sci.impl.types.setVal[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(_this,_v) : m__5374__auto__.call(null,_this,_v));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.setVal[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(_this,_v) : m__5372__auto__.call(null,_this,_v));\n} else {\nthrow cljs.core.missing_protocol(\x22IBox.setVal\x22,_this);\n}\n}\n});\nsci.impl.types.setVal \x3d (function sci$impl$types$setVal(_this,_v){\nif((((!((_this \x3d\x3d null)))) \x26\x26 ((!((_this.sci$impl$types$IBox$setVal$arity$2 \x3d\x3d null)))))){\nreturn _this.sci$impl$types$IBox$setVal$arity$2(_this,_v);\n} else {\nreturn sci$impl$types$IBox$setVal$dyn_40092(_this,_v);\n}\n});\n\nvar sci$impl$types$IBox$getVal$dyn_40094 \x3d (function (_this){\nvar x__5373__auto__ \x3d (((_this \x3d\x3d null))?null:_this);\nvar m__5374__auto__ \x3d (sci.impl.types.getVal[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_this) : m__5374__auto__.call(null,_this));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getVal[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_this) : m__5372__auto__.call(null,_this));\n} else {\nthrow cljs.core.missing_protocol(\x22IBox.getVal\x22,_this);\n}\n}\n});\nsci.impl.types.getVal \x3d (function sci$impl$types$getVal(_this){\nif((((!((_this \x3d\x3d null)))) \x26\x26 ((!((_this.sci$impl$types$IBox$getVal$arity$1 \x3d\x3d null)))))){\nreturn _this.sci$impl$types$IBox$getVal$arity$1(_this);\n} else {\nreturn sci$impl$types$IBox$getVal$dyn_40094(_this);\n}\n});\n\n\n/**\n * @interface\n */\nsci.impl.types.IReified \x3d function(){};\n\nvar sci$impl$types$IReified$getInterfaces$dyn_40096 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types.getInterfaces[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getInterfaces[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22IReified.getInterfaces\x22,_);\n}\n}\n});\nsci.impl.types.getInterfaces \x3d (function sci$impl$types$getInterfaces(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$IReified$getInterfaces$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$IReified$getInterfaces$arity$1(_);\n} else {\nreturn sci$impl$types$IReified$getInterfaces$dyn_40096(_);\n}\n});\n\nvar sci$impl$types$IReified$getMethods$dyn_40097 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types.getMethods[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getMethods[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22IReified.getMethods\x22,_);\n}\n}\n});\nsci.impl.types.getMethods \x3d (function sci$impl$types$getMethods(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$IReified$getMethods$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$IReified$getMethods$arity$1(_);\n} else {\nreturn sci$impl$types$IReified$getMethods$dyn_40097(_);\n}\n});\n\nvar sci$impl$types$IReified$getProtocols$dyn_40108 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types.getProtocols[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getProtocols[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22IReified.getProtocols\x22,_);\n}\n}\n});\nsci.impl.types.getProtocols \x3d (function sci$impl$types$getProtocols(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$IReified$getProtocols$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$IReified$getProtocols$arity$1(_);\n} else {\nreturn sci$impl$types$IReified$getProtocols$dyn_40108(_);\n}\n});\n\n\n/**\n* @constructor\n * @implements {sci.impl.types.IReified}\n*/\nsci.impl.types.Reified \x3d (function (interfaces,meths,protocols){\nthis.interfaces \x3d interfaces;\nthis.meths \x3d meths;\nthis.protocols \x3d protocols;\n});\n(sci.impl.types.Reified.prototype.sci$impl$types$IReified$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.types.Reified.prototype.sci$impl$types$IReified$getInterfaces$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.interfaces;\n}));\n\n(sci.impl.types.Reified.prototype.sci$impl$types$IReified$getMethods$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meths;\n}));\n\n(sci.impl.types.Reified.prototype.sci$impl$types$IReified$getProtocols$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.protocols;\n}));\n\n(sci.impl.types.Reified.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22interfaces\x22,\x22interfaces\x22,1469182407,null),new cljs.core.Symbol(null,\x22meths\x22,\x22meths\x22,1226876764,null),new cljs.core.Symbol(null,\x22protocols\x22,\x22protocols\x22,1634915631,null)], null);\n}));\n\n(sci.impl.types.Reified.cljs$lang$type \x3d true);\n\n(sci.impl.types.Reified.cljs$lang$ctorStr \x3d \x22sci.impl.types/Reified\x22);\n\n(sci.impl.types.Reified.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.types/Reified\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.types/Reified.\n */\nsci.impl.types.__GT_Reified \x3d (function sci$impl$types$__GT_Reified(interfaces,meths,protocols){\nreturn (new sci.impl.types.Reified(interfaces,meths,protocols));\n});\n\n\n/**\n * @interface\n */\nsci.impl.types.SciTypeInstance \x3d function(){};\n\nvar sci$impl$types$SciTypeInstance$_get_type$dyn_40114 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types._get_type[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types._get_type[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22SciTypeInstance.-get-type\x22,_);\n}\n}\n});\nsci.impl.types._get_type \x3d (function sci$impl$types$_get_type(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$SciTypeInstance$_get_type$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$SciTypeInstance$_get_type$arity$1(_);\n} else {\nreturn sci$impl$types$SciTypeInstance$_get_type$dyn_40114(_);\n}\n});\n\nvar sci$impl$types$SciTypeInstance$_mutate$dyn_40121 \x3d (function (_,k,v){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types._mutate[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(_,k,v) : m__5374__auto__.call(null,_,k,v));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types._mutate[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(_,k,v) : m__5372__auto__.call(null,_,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22SciTypeInstance.-mutate\x22,_);\n}\n}\n});\nsci.impl.types._mutate \x3d (function sci$impl$types$_mutate(_,k,v){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$SciTypeInstance$_mutate$arity$3 \x3d\x3d null)))))){\nreturn _.sci$impl$types$SciTypeInstance$_mutate$arity$3(_,k,v);\n} else {\nreturn sci$impl$types$SciTypeInstance$_mutate$dyn_40121(_,k,v);\n}\n});\n\n/**\n * Must be varargs because used in multimethods\n *   Only for internal use!\n */\nsci.impl.types.type_impl \x3d (function sci$impl$types$type_impl(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___40125 \x3d arguments.length;\nvar i__5750__auto___40126 \x3d (0);\nwhile(true){\nif((i__5750__auto___40126 \x3c len__5749__auto___40125)){\nargs__5755__auto__.push((arguments[i__5750__auto___40126]));\n\nvar G__40127 \x3d (i__5750__auto___40126 + (1));\ni__5750__auto___40126 \x3d G__40127;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.types.type_impl.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.types.type_impl.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,_){\nvar or__5025__auto__ \x3d (((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.sci$impl$types$IReified$))))?true:false):false))?new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396):null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.sci$impl$types$SciTypeInstance$))))?true:false):false))?x.sci$impl$types$SciTypeInstance$_get_type$arity$1(null):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var G__39997 \x3d x;\nvar G__39997__$1 \x3d (((G__39997 \x3d\x3d null))?null:cljs.core.meta(G__39997));\nif((G__39997__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(G__39997__$1);\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn cljs.core.type(x);\n}\n}\n}\n}));\n\n(sci.impl.types.type_impl.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.types.type_impl.cljs$lang$applyTo \x3d (function (seq39991){\nvar G__39992 \x3d cljs.core.first(seq39991);\nvar seq39991__$1 \x3d cljs.core.next(seq39991);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39992,seq39991__$1);\n}));\n\n/**\n * Externally available type implementation.\n */\nsci.impl.types.type_impl2 \x3d (function sci$impl$types$type_impl2(x){\nvar or__5025__auto__ \x3d (function (){var G__40010 \x3d x;\nvar G__40010__$1 \x3d (((G__40010 \x3d\x3d null))?null:cljs.core.meta(G__40010));\nif((G__40010__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(G__40010__$1);\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.sci$impl$types$SciTypeInstance$))))?true:false):false))?x.sci$impl$types$SciTypeInstance$_get_type$arity$1(null):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.type(x);\n}\n}\n});\n\n/**\n* @constructor\n * @implements {sci.impl.types.IBox}\n*/\nsci.impl.types.EvalForm \x3d (function (form){\nthis.form \x3d form;\n});\n(sci.impl.types.EvalForm.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.types.EvalForm.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn self__.form;\n}));\n\n(sci.impl.types.EvalForm.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(sci.impl.types.EvalForm.cljs$lang$type \x3d true);\n\n(sci.impl.types.EvalForm.cljs$lang$ctorStr \x3d \x22sci.impl.types/EvalForm\x22);\n\n(sci.impl.types.EvalForm.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.types/EvalForm\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.types/EvalForm.\n */\nsci.impl.types.__GT_EvalForm \x3d (function sci$impl$types$__GT_EvalForm(form){\nreturn (new sci.impl.types.EvalForm(form));\n});\n\n\n/**\n * @interface\n */\nsci.impl.types.Stack \x3d function(){};\n\nvar sci$impl$types$Stack$stack$dyn_40136 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.types.stack[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.stack[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Stack.stack\x22,this$);\n}\n}\n});\nsci.impl.types.stack \x3d (function sci$impl$types$stack(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$types$Stack$stack$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$types$Stack$stack$arity$1(this$);\n} else {\nreturn sci$impl$types$Stack$stack$dyn_40136(this$);\n}\n});\n\n(sci.impl.types.Stack[\x22_\x22] \x3d true);\n\n(sci.impl.types.stack[\x22_\x22] \x3d (function (_this){\nreturn null;\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {sci.impl.types.Stack}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nsci.impl.types.NodeR \x3d (function (f,stack,__meta,__extmap,__hash){\nthis.f \x3d f;\nthis.stack \x3d stack;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(sci.impl.types.NodeR.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k40025,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__40036 \x3d k40025;\nvar G__40036__$1 \x3d (((G__40036 instanceof cljs.core.Keyword))?G__40036.fqn:null);\nswitch (G__40036__$1) {\ncase \x22f\x22:\nreturn self__.f;\n\nbreak;\ncase \x22stack\x22:\nreturn self__.stack;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k40025,else__5326__auto__);\n\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__40040){\nvar vec__40041 \x3d p__40040;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40041,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40041,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#sci.impl.types.NodeR{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),self__.f],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),self__.stack],null))], null),self__.__extmap));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__40024){\nvar self__ \x3d this;\nvar G__40024__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__40024__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new sci.impl.types.NodeR(self__.f,self__.stack,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (256596302 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this40026,other40027){\nvar self__ \x3d this;\nvar this40026__$1 \x3d this;\nreturn (((!((other40027 \x3d\x3d null)))) \x26\x26 ((((this40026__$1.constructor \x3d\x3d\x3d other40027.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this40026__$1.f,other40027.f)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this40026__$1.stack,other40027.stack)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this40026__$1.__extmap,other40027.__extmap)))))))));\n}));\n\n(sci.impl.types.NodeR.prototype.sci$impl$types$Stack$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.types.NodeR.prototype.sci$impl$types$Stack$stack$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.stack;\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),null,new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new sci.impl.types.NodeR(self__.f,self__.stack,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k40025){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__40064 \x3d k40025;\nvar G__40064__$1 \x3d (((G__40064 instanceof cljs.core.Keyword))?G__40064.fqn:null);\nswitch (G__40064__$1) {\ncase \x22f\x22:\ncase \x22stack\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k40025);\n\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__40024){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__40066 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__40067 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__40066.cljs$core$IFn$_invoke$arity$2 ? pred__40066.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),expr__40067) : pred__40066.call(null,new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),expr__40067)))){\nreturn (new sci.impl.types.NodeR(G__40024,self__.stack,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__40066.cljs$core$IFn$_invoke$arity$2 ? pred__40066.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),expr__40067) : pred__40066.call(null,new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),expr__40067)))){\nreturn (new sci.impl.types.NodeR(self__.f,G__40024,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new sci.impl.types.NodeR(self__.f,self__.stack,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__40024),null));\n}\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),self__.f,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),self__.stack,null))], null),self__.__extmap));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__40024){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new sci.impl.types.NodeR(self__.f,self__.stack,G__40024,self__.__extmap,self__.__hash));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(sci.impl.types.NodeR.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22stack\x22,\x22stack\x22,847125597,null)], null);\n}));\n\n(sci.impl.types.NodeR.cljs$lang$type \x3d true);\n\n(sci.impl.types.NodeR.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22sci.impl.types/NodeR\x22,null,(1),null));\n}));\n\n(sci.impl.types.NodeR.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22sci.impl.types/NodeR\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.types/NodeR.\n */\nsci.impl.types.__GT_NodeR \x3d (function sci$impl$types$__GT_NodeR(f,stack){\nreturn (new sci.impl.types.NodeR(f,stack,null,null,null));\n});\n\n/**\n * Factory function for sci.impl.types/NodeR, taking a map of keywords to field values.\n */\nsci.impl.types.map__GT_NodeR \x3d (function sci$impl$types$map__GT_NodeR(G__40028){\nvar extmap__5365__auto__ \x3d (function (){var G__40075 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__40028,new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930)], 0));\nif(cljs.core.record_QMARK_(G__40028)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__40075);\n} else {\nreturn G__40075;\n}\n})();\nreturn (new sci.impl.types.NodeR(new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552).cljs$core$IFn$_invoke$arity$1(G__40028),new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930).cljs$core$IFn$_invoke$arity$1(G__40028),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nsci.impl.types.eval \x3d (function sci$impl$types$eval(expr,ctx,bindings){\nif((expr instanceof sci.impl.types.NodeR)){\nvar fexpr__40077 \x3d expr.f;\nreturn (fexpr__40077.cljs$core$IFn$_invoke$arity$3 ? fexpr__40077.cljs$core$IFn$_invoke$arity$3(expr,ctx,bindings) : fexpr__40077.call(null,expr,ctx,bindings));\n} else {\nreturn expr;\n}\n});\nsci.impl.types.__GT_constant \x3d (function sci$impl$types$__GT_constant(x){\nreturn x;\n});\n\n/**\n * @interface\n */\nsci.impl.types.HasName \x3d function(){};\n\nvar sci$impl$types$HasName$getName$dyn_40161 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types.getName[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getName[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22HasName.getName\x22,_);\n}\n}\n});\nsci.impl.types.getName \x3d (function sci$impl$types$getName(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$HasName$getName$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$HasName$getName$arity$1(_);\n} else {\nreturn sci$impl$types$HasName$getName$dyn_40161(_);\n}\n});\n\n");
SHADOW_ENV.evalLoad("sci.impl.macros.js", true, "goog.provide(\x27sci.impl.macros\x27);\n");
SHADOW_ENV.evalLoad("sci.impl.unrestrict.js", true, "goog.provide(\x27sci.impl.unrestrict\x27);\nsci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d false;\n");
SHADOW_ENV.evalLoad("sci.impl.vars.js", true, "goog.provide(\x27sci.impl.vars\x27);\n\n/**\n* @constructor\n*/\nsci.impl.vars.Frame \x3d (function (bindings,prev){\nthis.bindings \x3d bindings;\nthis.prev \x3d prev;\n});\n\n(sci.impl.vars.Frame.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null)], null);\n}));\n\n(sci.impl.vars.Frame.cljs$lang$type \x3d true);\n\n(sci.impl.vars.Frame.cljs$lang$ctorStr \x3d \x22sci.impl.vars/Frame\x22);\n\n(sci.impl.vars.Frame.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.vars/Frame\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.vars/Frame.\n */\nsci.impl.vars.__GT_Frame \x3d (function sci$impl$vars$__GT_Frame(bindings,prev){\nreturn (new sci.impl.vars.Frame(bindings,prev));\n});\n\nsci.impl.vars.top_frame \x3d (new sci.impl.vars.Frame(cljs.core.PersistentArrayMap.EMPTY,null));\nsci.impl.vars.dvals \x3d cljs.core.volatile_BANG_(sci.impl.vars.top_frame);\nsci.impl.vars.get_thread_binding_frame \x3d (function sci$impl$vars$get_thread_binding_frame(){\nreturn cljs.core.deref(sci.impl.vars.dvals);\n});\n\n/**\n* @constructor\n * @implements {sci.impl.types.IBox}\n*/\nsci.impl.vars.TBox \x3d (function (thread,val){\nthis.thread \x3d thread;\nthis.val \x3d val;\n});\n(sci.impl.vars.TBox.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.vars.TBox.prototype.sci$impl$types$IBox$setVal$arity$2 \x3d (function (_this,v){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn (self__.val \x3d v);\n}));\n\n(sci.impl.vars.TBox.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn self__.val;\n}));\n\n(sci.impl.vars.TBox.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22thread\x22,\x22thread\x22,-1707434245,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.impl.vars.TBox.cljs$lang$type \x3d true);\n\n(sci.impl.vars.TBox.cljs$lang$ctorStr \x3d \x22sci.impl.vars/TBox\x22);\n\n(sci.impl.vars.TBox.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.vars/TBox\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.vars/TBox.\n */\nsci.impl.vars.__GT_TBox \x3d (function sci$impl$vars$__GT_TBox(thread,val){\nreturn (new sci.impl.vars.TBox(thread,val));\n});\n\nsci.impl.vars.clone_thread_binding_frame \x3d (function sci$impl$vars$clone_thread_binding_frame(){\nvar f \x3d cljs.core.deref(sci.impl.vars.dvals);\nreturn (new sci.impl.vars.Frame(f.bindings,null));\n});\nsci.impl.vars.reset_thread_binding_frame \x3d (function sci$impl$vars$reset_thread_binding_frame(frame){\nreturn cljs.core.vreset_BANG_(sci.impl.vars.dvals,frame);\n});\n\n/**\n * @interface\n */\nsci.impl.vars.IVar \x3d function(){};\n\nvar sci$impl$vars$IVar$bindRoot$dyn_40815 \x3d (function (this$,v){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.bindRoot[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,v) : m__5374__auto__.call(null,this$,v));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.bindRoot[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,v) : m__5372__auto__.call(null,this$,v));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.bindRoot\x22,this$);\n}\n}\n});\nsci.impl.vars.bindRoot \x3d (function sci$impl$vars$bindRoot(this$,v){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$bindRoot$arity$2 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$bindRoot$arity$2(this$,v);\n} else {\nreturn sci$impl$vars$IVar$bindRoot$dyn_40815(this$,v);\n}\n});\n\nvar sci$impl$vars$IVar$getRawRoot$dyn_40816 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.getRawRoot[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.getRawRoot[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.getRawRoot\x22,this$);\n}\n}\n});\nsci.impl.vars.getRawRoot \x3d (function sci$impl$vars$getRawRoot(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$getRawRoot$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$getRawRoot$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$getRawRoot$dyn_40816(this$);\n}\n});\n\nvar sci$impl$vars$IVar$toSymbol$dyn_40817 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.toSymbol[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.toSymbol[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.toSymbol\x22,this$);\n}\n}\n});\nsci.impl.vars.toSymbol \x3d (function sci$impl$vars$toSymbol(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$toSymbol$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$toSymbol$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$toSymbol$dyn_40817(this$);\n}\n});\n\nvar sci$impl$vars$IVar$isMacro$dyn_40820 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.isMacro[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.isMacro[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.isMacro\x22,this$);\n}\n}\n});\nsci.impl.vars.isMacro \x3d (function sci$impl$vars$isMacro(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$isMacro$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$isMacro$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$isMacro$dyn_40820(this$);\n}\n});\n\nvar sci$impl$vars$IVar$hasRoot$dyn_40821 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.hasRoot[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.hasRoot[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.hasRoot\x22,this$);\n}\n}\n});\nsci.impl.vars.hasRoot \x3d (function sci$impl$vars$hasRoot(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$hasRoot$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$hasRoot$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$hasRoot$dyn_40821(this$);\n}\n});\n\nvar sci$impl$vars$IVar$setThreadBound$dyn_40822 \x3d (function (this$,v){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.setThreadBound[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,v) : m__5374__auto__.call(null,this$,v));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.setThreadBound[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,v) : m__5372__auto__.call(null,this$,v));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.setThreadBound\x22,this$);\n}\n}\n});\nsci.impl.vars.setThreadBound \x3d (function sci$impl$vars$setThreadBound(this$,v){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$setThreadBound$arity$2 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$setThreadBound$arity$2(this$,v);\n} else {\nreturn sci$impl$vars$IVar$setThreadBound$dyn_40822(this$,v);\n}\n});\n\nvar sci$impl$vars$IVar$unbind$dyn_40825 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.unbind[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.unbind[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.unbind\x22,this$);\n}\n}\n});\nsci.impl.vars.unbind \x3d (function sci$impl$vars$unbind(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$unbind$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$unbind$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$unbind$dyn_40825(this$);\n}\n});\n\n\n/**\n * @interface\n */\nsci.impl.vars.DynVar \x3d function(){};\n\nvar sci$impl$vars$DynVar$dynamic_QMARK_$dyn_40827 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.dynamic_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.dynamic_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22DynVar.dynamic?\x22,this$);\n}\n}\n});\nsci.impl.vars.dynamic_QMARK_ \x3d (function sci$impl$vars$dynamic_QMARK_(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$DynVar$dynamic_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$DynVar$dynamic_QMARK_$arity$1(this$);\n} else {\nreturn sci$impl$vars$DynVar$dynamic_QMARK_$dyn_40827(this$);\n}\n});\n\n(sci.impl.vars.DynVar[\x22_\x22] \x3d true);\n\n(sci.impl.vars.dynamic_QMARK_[\x22_\x22] \x3d (function (_){\nreturn false;\n}));\nsci.impl.vars.push_thread_bindings \x3d (function sci$impl$vars$push_thread_bindings(bindings){\nvar frame \x3d sci.impl.vars.get_thread_binding_frame();\nvar bmap \x3d frame.bindings;\nvar bmap__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (acc,p__40768){\nvar vec__40769 \x3d p__40768;\nvar var_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40769,(0),null);\nvar val_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40769,(1),null);\nif(cljs.core.not(sci.impl.vars.dynamic_QMARK_(var_STAR_))){\nthrow (new Error([\x22Can\x27t dynamically bind non-dynamic var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_STAR_)].join(\x27\x27)));\n} else {\n}\n\nsci.impl.vars.setThreadBound(var_STAR_,true);\n\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,var_STAR_,(new sci.impl.vars.TBox(null,val_STAR_)));\n}),bmap,bindings);\nreturn sci.impl.vars.reset_thread_binding_frame((new sci.impl.vars.Frame(bmap__$1,frame)));\n});\nsci.impl.vars.pop_thread_bindings \x3d (function sci$impl$vars$pop_thread_bindings(){\nvar temp__5802__auto__ \x3d sci.impl.vars.get_thread_binding_frame().prev;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f \x3d temp__5802__auto__;\nif((sci.impl.vars.top_frame \x3d\x3d\x3d f)){\nreturn cljs.core.vreset_BANG_(sci.impl.vars.dvals,sci.impl.vars.top_frame);\n} else {\nreturn sci.impl.vars.reset_thread_binding_frame(f);\n}\n} else {\nthrow (new Error(\x22No frame to pop.\x22));\n}\n});\nsci.impl.vars.get_thread_bindings \x3d (function sci$impl$vars$get_thread_bindings(){\nvar f \x3d sci.impl.vars.get_thread_binding_frame();\nvar ret \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar kvs \x3d cljs.core.seq(f.bindings);\nwhile(true){\nif(kvs){\nvar vec__40775 \x3d cljs.core.first(kvs);\nvar var_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40775,(0),null);\nvar tbox \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40775,(1),null);\nvar tbox_val \x3d tbox.sci$impl$types$IBox$getVal$arity$1(null);\nvar G__40828 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,var_STAR_,tbox_val);\nvar G__40829 \x3d cljs.core.next(kvs);\nret \x3d G__40828;\nkvs \x3d G__40829;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nsci.impl.vars.get_thread_binding \x3d (function sci$impl$vars$get_thread_binding(sci_var){\nvar temp__5804__auto__ \x3d cljs.core.deref(sci.impl.vars.dvals);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar f \x3d temp__5804__auto__;\nreturn f.bindings.get(sci_var);\n} else {\nreturn null;\n}\n});\nsci.impl.vars.binding_conveyor_fn \x3d (function sci$impl$vars$binding_conveyor_fn(f){\nvar frame \x3d sci.impl.vars.clone_thread_binding_frame();\nreturn (function() {\nvar G__40830 \x3d null;\nvar G__40830__0 \x3d (function (){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n});\nvar G__40830__1 \x3d (function (x){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x));\n});\nvar G__40830__2 \x3d (function (x,y){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\n});\nvar G__40830__3 \x3d (function (x,y,z){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z));\n});\nvar G__40830__4 \x3d (function() { \nvar G__40832__delegate \x3d function (x,y,z,args){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args);\n};\nvar G__40832 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__40833__i \x3d 0, G__40833__a \x3d new Array(arguments.length -  3);\nwhile (G__40833__i \x3c G__40833__a.length) {G__40833__a[G__40833__i] \x3d arguments[G__40833__i + 3]; ++G__40833__i;}\n  args \x3d new cljs.core.IndexedSeq(G__40833__a,0,null);\n} \nreturn G__40832__delegate.call(this,x,y,z,args);};\nG__40832.cljs$lang$maxFixedArity \x3d 3;\nG__40832.cljs$lang$applyTo \x3d (function (arglist__40835){\nvar x \x3d cljs.core.first(arglist__40835);\narglist__40835 \x3d cljs.core.next(arglist__40835);\nvar y \x3d cljs.core.first(arglist__40835);\narglist__40835 \x3d cljs.core.next(arglist__40835);\nvar z \x3d cljs.core.first(arglist__40835);\nvar args \x3d cljs.core.rest(arglist__40835);\nreturn G__40832__delegate(x,y,z,args);\n});\nG__40832.cljs$core$IFn$_invoke$arity$variadic \x3d G__40832__delegate;\nreturn G__40832;\n})()\n;\nG__40830 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__40830__0.call(this);\ncase 1:\nreturn G__40830__1.call(this,x);\ncase 2:\nreturn G__40830__2.call(this,x,y);\ncase 3:\nreturn G__40830__3.call(this,x,y,z);\ndefault:\nvar G__40836 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__40837__i \x3d 0, G__40837__a \x3d new Array(arguments.length -  3);\nwhile (G__40837__i \x3c G__40837__a.length) {G__40837__a[G__40837__i] \x3d arguments[G__40837__i + 3]; ++G__40837__i;}\nG__40836 \x3d new cljs.core.IndexedSeq(G__40837__a,0,null);\n}\nreturn G__40830__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__40836);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__40830.cljs$lang$maxFixedArity \x3d 3;\nG__40830.cljs$lang$applyTo \x3d G__40830__4.cljs$lang$applyTo;\nG__40830.cljs$core$IFn$_invoke$arity$0 \x3d G__40830__0;\nG__40830.cljs$core$IFn$_invoke$arity$1 \x3d G__40830__1;\nG__40830.cljs$core$IFn$_invoke$arity$2 \x3d G__40830__2;\nG__40830.cljs$core$IFn$_invoke$arity$3 \x3d G__40830__3;\nG__40830.cljs$core$IFn$_invoke$arity$variadic \x3d G__40830__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__40830;\n})()\n});\nsci.impl.vars.throw_unbound_call_exception \x3d (function sci$impl$vars$throw_unbound_call_exception(the_var){\nthrow (new Error([\x22Attempting to call unbound fn: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(the_var)].join(\x27\x27)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n*/\nsci.impl.vars.SciUnbound \x3d (function (the_var){\nthis.the_var \x3d the_var;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(sci.impl.vars.SciUnbound.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22Unbound: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.the_var)].join(\x27\x27);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__40787 \x3d (arguments.length - (1));\nswitch (G__40787) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(sci.impl.vars.SciUnbound.prototype.apply \x3d (function (self__,args40786){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args40786)));\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22the-var\x22,\x22the-var\x22,-1226020156,null)], null);\n}));\n\n(sci.impl.vars.SciUnbound.cljs$lang$type \x3d true);\n\n(sci.impl.vars.SciUnbound.cljs$lang$ctorStr \x3d \x22sci.impl.vars/SciUnbound\x22);\n\n(sci.impl.vars.SciUnbound.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.vars/SciUnbound\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.vars/SciUnbound.\n */\nsci.impl.vars.__GT_SciUnbound \x3d (function sci$impl$vars$__GT_SciUnbound(the_var){\nreturn (new sci.impl.vars.SciUnbound(the_var));\n});\n\nsci.impl.vars.built_in_var_QMARK_ \x3d (function sci$impl$vars$built_in_var_QMARK_(var_meta){\nreturn new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(var_meta);\n});\nsci.impl.vars.var_get \x3d (function sci$impl$vars$var_get(v){\nreturn cljs.core.deref(v);\n});\nsci.impl.vars.var_set \x3d (function sci$impl$vars$var_set(v,val){\nreturn sci.impl.types.setVal(v,val);\n});\n/**\n * If sym is namespace-qualified, remove the namespace, else return sym\n */\nsci.impl.vars.unqualify_symbol \x3d (function sci$impl$vars$unqualify_symbol(sym){\nif(cljs.core.qualified_symbol_QMARK_(sym)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym));\n} else {\nreturn sym;\n}\n});\nsci.impl.vars.alter_var_root \x3d (function sci$impl$vars$alter_var_root(var_args){\nvar G__40810 \x3d arguments.length;\nswitch (G__40810) {\ncase 2:\nreturn sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___40853 \x3d arguments.length;\nvar i__5750__auto___40854 \x3d (0);\nwhile(true){\nif((i__5750__auto___40854 \x3c len__5749__auto___40853)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___40854]));\n\nvar G__40855 \x3d (i__5750__auto___40854 + (1));\ni__5750__auto___40854 \x3d G__40855;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2 \x3d (function (v,f){\nreturn sci.impl.vars.bindRoot(v,(function (){var G__40811 \x3d sci.impl.vars.getRawRoot(v);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__40811) : f.call(null,G__40811));\n})());\n}));\n\n(sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$variadic \x3d (function (v,f,args){\nreturn sci.impl.vars.bindRoot(v,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,sci.impl.vars.getRawRoot(v),args));\n}));\n\n/** @this {Function} */\n(sci.impl.vars.alter_var_root.cljs$lang$applyTo \x3d (function (seq40807){\nvar G__40808 \x3d cljs.core.first(seq40807);\nvar seq40807__$1 \x3d cljs.core.next(seq40807);\nvar G__40809 \x3d cljs.core.first(seq40807__$1);\nvar seq40807__$2 \x3d cljs.core.next(seq40807__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__40808,G__40809,seq40807__$2);\n}));\n\n(sci.impl.vars.alter_var_root.cljs$lang$maxFixedArity \x3d (2));\n\n");
SHADOW_ENV.evalLoad("sci.lang.js", true, "goog.provide(\x27sci.lang\x27);\nsci.lang.class_name \x3d (function sci$lang$class_name(s){\nvar temp__5802__auto__ \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(s,\x22.\x22);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar i \x3d temp__5802__auto__;\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(i + (1)));\n} else {\nreturn s;\n}\n});\nsci.lang.package_name \x3d (function sci$lang$package_name(s){\nvar temp__5802__auto__ \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(s,\x22.\x22);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar i \x3d temp__5802__auto__;\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),i);\n} else {\nreturn s;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IMeta}\n * @implements {sci.impl.types.IBox}\n*/\nsci.lang.Type \x3d (function (data,namespace,name){\nthis.data \x3d data;\nthis.namespace \x3d namespace;\nthis.name \x3d name;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(sci.lang.Type.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Type.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.data;\n}));\n\n(sci.lang.Type.prototype.sci$impl$types$IBox$setVal$arity$2 \x3d (function (_,v){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.data \x3d v);\n}));\n\n(sci.lang.Type.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(\x22sci.impl\x22,\x22type-name\x22,\x22sci.impl/type-name\x22,-1528979388).cljs$core$IFn$_invoke$arity$1(self__.data));\n}));\n\n(sci.lang.Type.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.data;\n}));\n\n(sci.lang.Type.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.namespace \x3d\x3d null)){\nvar ns \x3d sci.lang.package_name(cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1));\n(self__.namespace \x3d ns);\n\nreturn ns;\n} else {\nreturn self__.namespace;\n}\n}));\n\n(sci.lang.Type.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.name \x3d\x3d null)){\nvar nom \x3d sci.lang.class_name(cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1));\n(self__.name \x3d nom);\n\nreturn nom;\n} else {\nreturn self__.name;\n}\n}));\n\n(sci.lang.Type.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22volatile-mutable\x22,\x22volatile-mutable\x22,1731728411),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22namespace\x22,\x22namespace\x22,1263021155,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22volatile-mutable\x22,\x22volatile-mutable\x22,1731728411),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22volatile-mutable\x22,\x22volatile-mutable\x22,1731728411),true], null))], null);\n}));\n\n(sci.lang.Type.cljs$lang$type \x3d true);\n\n(sci.lang.Type.cljs$lang$ctorStr \x3d \x22sci.lang/Type\x22);\n\n(sci.lang.Type.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.lang/Type\x22);\n}));\n\n/**\n * Positional factory function for sci.lang/Type.\n */\nsci.lang.__GT_Type \x3d (function sci$lang$__GT_Type(data,namespace,name){\nreturn (new sci.lang.Type(data,namespace,name));\n});\n\nsci.lang.throw_root_binding \x3d (function sci$lang$throw_root_binding(this$){\nthrow (new Error([\x22Can\x27t change/establish root binding of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),\x22 with set\x22].join(\x27\x27)));\n});\nsci.lang.notify_watches \x3d (function sci$lang$notify_watches(ref,watches,old_val,new_val){\nif(cljs.core.truth_(watches)){\nif((cljs.core.count(watches) \x3e (0))){\ncljs.core.reduce_kv((function (_,k,f){\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(k,ref,old_val,new_val) : f.call(null,k,ref,old_val,new_val));\n\nreturn null;\n}),null,watches);\n} else {\n}\n} else {\n}\n\nreturn ref;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IFn}\n * @implements {sci.impl.vars.DynVar}\n * @implements {cljs.core.IMeta}\n * @implements {sci.impl.vars.IVar}\n * @implements {sci.impl.types.HasName}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {sci.impl.types.IBox}\n*/\nsci.lang.Var \x3d (function (root,sym,meta,thread_bound,needs_ctx,watches){\nthis.root \x3d root;\nthis.sym \x3d sym;\nthis.meta \x3d meta;\nthis.thread_bound \x3d thread_bound;\nthis.needs_ctx \x3d needs_ctx;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2147647489;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2;\n});\n(sci.lang.Var.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22#\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$.sci$impl$vars$IVar$toSymbol$arity$1(null))].join(\x27\x27);\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$DynVar$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Var.prototype.sci$impl$vars$DynVar$dynamic_QMARK_$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(self__.meta);\n}));\n\n(sci.lang.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#\x27\x22);\n\nreturn cljs.core._pr_writer(a__$1.sci$impl$vars$IVar$toSymbol$arity$1(null),writer,opts);\n}));\n\n(sci.lang.Var.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$bindRoot$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar old_root_40996 \x3d this$__$1.root;\nvar vm__40571__auto___40997 \x3d self__.meta;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(vm__40571__auto___40997));\n}\n})())){\n(self__.root \x3d v);\n} else {\nvar the_var__40572__auto___41002 \x3d this$__$1;\nvar ns__40573__auto___41003 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(vm__40571__auto___40997);\nvar ns_name__40574__auto___41004 \x3d sci.impl.types.getName(ns__40573__auto___41003);\nvar name__40575__auto___41005 \x3d the_var__40572__auto___41002.sci$impl$types$HasName$getName$arity$1(null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var #\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name__40574__auto___41004),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__40575__auto___41005),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),this$__$1], null));\n}\n\nsci.lang.notify_watches(this$__$1,self__.watches,old_root_40996,v);\n\nreturn v;\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$getRawRoot$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn self__.root;\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$toSymbol$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nvar temp__5802__auto__ \x3d (function (){var G__40880 \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(self__.meta);\nif((G__40880 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.name(G__40880);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar sym_name \x3d temp__5802__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((function (){var G__40885 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(self__.meta);\nvar G__40885__$1 \x3d (((G__40885 \x3d\x3d null))?null:sci.impl.types.getName(G__40885));\nif((G__40885__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.name(G__40885__$1);\n}\n})(),sym_name);\n} else {\nreturn self__.sym;\n}\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$isMacro$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(self__.meta);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5808__auto__ \x3d cljs.core.meta(self__.root);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar m \x3d temp__5808__auto__;\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m);\n}\n}\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$setThreadBound$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (this$__$1.thread_bound \x3d v);\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$unbind$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar vm__40571__auto__ \x3d self__.meta;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(vm__40571__auto__));\n}\n})())){\nreturn (this$__$1.root \x3d (new sci.impl.vars.SciUnbound(this$__$1)));\n} else {\nvar the_var__40572__auto__ \x3d this$__$1;\nvar ns__40573__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(vm__40571__auto__);\nvar ns_name__40574__auto__ \x3d sci.impl.types.getName(ns__40573__auto__);\nvar name__40575__auto__ \x3d the_var__40572__auto__.sci$impl$types$HasName$getName$arity$1(null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var #\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name__40574__auto__),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__40575__auto__),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),this$__$1], null));\n}\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$hasRoot$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn (!((self__.root instanceof sci.impl.vars.SciUnbound)));\n}));\n\n(sci.lang.Var.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Var.prototype.sci$impl$types$IBox$setVal$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar temp__5802__auto__ \x3d sci.impl.vars.get_thread_binding(this$__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar b \x3d temp__5802__auto__;\nreturn sci.impl.types.setVal(b,v);\n} else {\nif(cljs.core.truth_(sci.impl.unrestrict._STAR_unrestricted_STAR_)){\nreturn (this$__$1.root \x3d v);\n} else {\nreturn sci.lang.throw_root_binding(this$__$1);\n}\n}\n}));\n\n(sci.lang.Var.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn self__.root;\n}));\n\n(sci.lang.Var.prototype.sci$impl$types$HasName$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Var.prototype.sci$impl$types$HasName$getName$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(self__.meta);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn self__.sym;\n}\n}));\n\n(sci.lang.Var.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,fn){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar vm__40571__auto___41021 \x3d self__.meta;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(vm__40571__auto___41021));\n}\n})())){\n(self__.watches \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.watches,key,fn));\n} else {\nvar the_var__40572__auto___41022 \x3d this$__$1;\nvar ns__40573__auto___41023 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(vm__40571__auto___41021);\nvar ns_name__40574__auto___41024 \x3d sci.impl.types.getName(ns__40573__auto___41023);\nvar name__40575__auto___41025 \x3d the_var__40572__auto___41022.sci$impl$types$HasName$getName$arity$1(null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var #\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name__40574__auto___41024),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__40575__auto___41025),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),this$__$1], null));\n}\n\nreturn this$__$1;\n}));\n\n(sci.lang.Var.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar vm__40571__auto___41026 \x3d self__.meta;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(vm__40571__auto___41026));\n}\n})())){\n(self__.watches \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.watches,key));\n} else {\nvar the_var__40572__auto___41029 \x3d this$__$1;\nvar ns__40573__auto___41030 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(vm__40571__auto___41026);\nvar ns_name__40574__auto___41031 \x3d sci.impl.types.getName(ns__40573__auto___41030);\nvar name__40575__auto___41032 \x3d the_var__40572__auto___41029.sci$impl$types$HasName$getName$arity$1(null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var #\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name__40574__auto___41031),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__40575__auto___41032),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),this$__$1], null));\n}\n\nreturn this$__$1;\n}));\n\n(sci.lang.Var.prototype.call \x3d (function (unused__11817__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__40890 \x3d (arguments.length - (1));\nswitch (G__40890) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(sci.lang.Var.prototype.apply \x3d (function (self__,args40859){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args40859)));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40901 \x3d cljs.core.deref(this$);\nreturn (fexpr__40901.cljs$core$IFn$_invoke$arity$0 ? fexpr__40901.cljs$core$IFn$_invoke$arity$0() : fexpr__40901.call(null));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40902 \x3d cljs.core.deref(this$);\nreturn (fexpr__40902.cljs$core$IFn$_invoke$arity$1 ? fexpr__40902.cljs$core$IFn$_invoke$arity$1(a) : fexpr__40902.call(null,a));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40903 \x3d cljs.core.deref(this$);\nreturn (fexpr__40903.cljs$core$IFn$_invoke$arity$2 ? fexpr__40903.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__40903.call(null,a,b));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40904 \x3d cljs.core.deref(this$);\nreturn (fexpr__40904.cljs$core$IFn$_invoke$arity$3 ? fexpr__40904.cljs$core$IFn$_invoke$arity$3(a,b,c) : fexpr__40904.call(null,a,b,c));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40905 \x3d cljs.core.deref(this$);\nreturn (fexpr__40905.cljs$core$IFn$_invoke$arity$4 ? fexpr__40905.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : fexpr__40905.call(null,a,b,c,d));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40912 \x3d cljs.core.deref(this$);\nreturn (fexpr__40912.cljs$core$IFn$_invoke$arity$5 ? fexpr__40912.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : fexpr__40912.call(null,a,b,c,d,e));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40916 \x3d cljs.core.deref(this$);\nreturn (fexpr__40916.cljs$core$IFn$_invoke$arity$6 ? fexpr__40916.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : fexpr__40916.call(null,a,b,c,d,e,f));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40917 \x3d cljs.core.deref(this$);\nreturn (fexpr__40917.cljs$core$IFn$_invoke$arity$7 ? fexpr__40917.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : fexpr__40917.call(null,a,b,c,d,e,f,g));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40921 \x3d cljs.core.deref(this$);\nreturn (fexpr__40921.cljs$core$IFn$_invoke$arity$8 ? fexpr__40921.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : fexpr__40921.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40925 \x3d cljs.core.deref(this$);\nreturn (fexpr__40925.cljs$core$IFn$_invoke$arity$9 ? fexpr__40925.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : fexpr__40925.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40929 \x3d cljs.core.deref(this$);\nreturn (fexpr__40929.cljs$core$IFn$_invoke$arity$10 ? fexpr__40929.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : fexpr__40929.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40930 \x3d cljs.core.deref(this$);\nreturn (fexpr__40930.cljs$core$IFn$_invoke$arity$11 ? fexpr__40930.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : fexpr__40930.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40931 \x3d cljs.core.deref(this$);\nreturn (fexpr__40931.cljs$core$IFn$_invoke$arity$12 ? fexpr__40931.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : fexpr__40931.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40932 \x3d cljs.core.deref(this$);\nreturn (fexpr__40932.cljs$core$IFn$_invoke$arity$13 ? fexpr__40932.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : fexpr__40932.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40935 \x3d cljs.core.deref(this$);\nreturn (fexpr__40935.cljs$core$IFn$_invoke$arity$14 ? fexpr__40935.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : fexpr__40935.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40936 \x3d cljs.core.deref(this$);\nreturn (fexpr__40936.cljs$core$IFn$_invoke$arity$15 ? fexpr__40936.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : fexpr__40936.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40939 \x3d cljs.core.deref(this$);\nreturn (fexpr__40939.cljs$core$IFn$_invoke$arity$16 ? fexpr__40939.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : fexpr__40939.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40940 \x3d cljs.core.deref(this$);\nreturn (fexpr__40940.cljs$core$IFn$_invoke$arity$17 ? fexpr__40940.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : fexpr__40940.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40941 \x3d cljs.core.deref(this$);\nreturn (fexpr__40941.cljs$core$IFn$_invoke$arity$18 ? fexpr__40941.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : fexpr__40941.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40944 \x3d cljs.core.deref(this$);\nreturn (fexpr__40944.cljs$core$IFn$_invoke$arity$19 ? fexpr__40944.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : fexpr__40944.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__40945 \x3d cljs.core.deref(this$);\nreturn (fexpr__40945.cljs$core$IFn$_invoke$arity$20 ? fexpr__40945.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : fexpr__40945.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.deref(this$),a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core.truth_(self__.thread_bound)){\nvar temp__5802__auto__ \x3d sci.impl.vars.get_thread_binding(this$__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar tbox \x3d temp__5802__auto__;\nreturn sci.impl.types.getVal(tbox);\n} else {\nreturn self__.root;\n}\n} else {\nreturn self__.root;\n}\n}));\n\n(sci.lang.Var.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22sym\x22,\x22sym\x22,195671222,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22thread-bound\x22,\x22thread-bound\x22,1232527493,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22needs-ctx\x22,\x22needs-ctx\x22,1605017124,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.lang.Var.cljs$lang$type \x3d true);\n\n(sci.lang.Var.cljs$lang$ctorStr \x3d \x22sci.lang/Var\x22);\n\n(sci.lang.Var.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.lang/Var\x22);\n}));\n\n/**\n * Positional factory function for sci.lang/Var.\n */\nsci.lang.__GT_Var \x3d (function sci$lang$__GT_Var(root,sym,meta,thread_bound,needs_ctx,watches){\nreturn (new sci.lang.Var(root,sym,meta,thread_bound,needs_ctx,watches));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {sci.impl.types.HasName}\n*/\nsci.lang.Namespace \x3d (function (name,meta){\nthis.name \x3d name;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(sci.lang.Namespace.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name);\n}));\n\n(sci.lang.Namespace.prototype.sci$impl$types$HasName$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Namespace.prototype.sci$impl$types$HasName$getName$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(sci.lang.Namespace.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(sci.lang.Namespace.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.lang.Namespace.cljs$lang$type \x3d true);\n\n(sci.lang.Namespace.cljs$lang$ctorStr \x3d \x22sci.lang/Namespace\x22);\n\n(sci.lang.Namespace.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.lang/Namespace\x22);\n}));\n\n/**\n * Positional factory function for sci.lang/Namespace.\n */\nsci.lang.__GT_Namespace \x3d (function sci$lang$__GT_Namespace(name,meta){\nreturn (new sci.lang.Namespace(name,meta));\n});\n\n");
SHADOW_ENV.evalLoad("sci.impl.callstack.js", true, "goog.provide(\x27sci.impl.callstack\x27);\nsci.impl.callstack.sci_ns_name \x3d (function sci$impl$callstack$sci_ns_name(ns){\nreturn ns.sci$impl$types$HasName$getName$arity$1(null);\n});\nsci.impl.callstack.select \x3d (function sci$impl$callstack$select(m){\nvar new_m \x3d cljs.core.select_keys(m,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22local\x22,\x22local\x22,-1497766724),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404)], null));\nreturn new_m;\n});\nsci.impl.callstack.expr__GT_data \x3d (function sci$impl$callstack$expr__GT_data(expr){\nvar m \x3d (function (){var or__5025__auto__ \x3d cljs.core.meta(expr);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn expr;\n}\n})();\nvar f \x3d ((cljs.core.seqable_QMARK_(expr))?cljs.core.first(expr):null);\nvar fm \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar G__41010 \x3d f;\nif((G__41010 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.meta(G__41010);\n}\n}\n})();\nvar fm__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22resolve-sym\x22,\x22resolve-sym\x22,-1193683260),new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978).cljs$core$IFn$_invoke$arity$1(fm)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(fm,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m)):fm);\nreturn cljs.core.seq(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.not_empty,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sci.impl.callstack.select(m),sci.impl.callstack.select(fm__$1)], null)));\n});\nsci.impl.callstack.clean_ns \x3d (function sci$impl$callstack$clean_ns(m){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.callstack.sci_ns_name(ns));\n} else {\nreturn m;\n}\n});\nsci.impl.callstack.stacktrace \x3d (function sci$impl$callstack$stacktrace(callstack){\nvar callstack__$1 \x3d cljs.core.deref(callstack);\nvar callstack__$2 \x3d cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1(callstack__$1);\nvar data \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(sci.impl.callstack.expr__GT_data,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([callstack__$2], 0));\nvar data__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__41016,entry){\nvar vec__41018 \x3d p__41016;\nvar acc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41018,(0),null);\nvar last_file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41018,(1),null);\nvar last_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41018,(2),null);\nvar last_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41018,(3),null);\nvar new_last_name \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(entry);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn last_name;\n}\n})();\nvar new_last_file \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(entry);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn last_file;\n}\n})();\nvar new_entry \x3d (((last_ns \x3d\x3d\x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(entry)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(entry,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new_last_name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new_last_file], 0)):entry);\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,new_entry),new_last_file,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(entry),new_last_name], null);\n}),(function (){var fd \x3d cljs.core.first(data);\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(fd),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(fd),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(fd)], null);\n})(),data);\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(sci.impl.callstack.clean_ns,cljs.core.first(data__$1));\n});\nsci.impl.callstack.right_pad \x3d (function sci$impl$callstack$right_pad(s,n){\nvar n__$1 \x3d (n - cljs.core.count(s));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n__$1,\x22 \x22))].join(\x27\x27);\n});\nsci.impl.callstack.format_stacktrace \x3d (function sci$impl$callstack$format_stacktrace(st){\nvar st__$1 \x3d cljs.core.force(st);\nvar data \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (p__41040){\nvar map__41041 \x3d p__41040;\nvar map__41041__$1 \x3d cljs.core.__destructure_map(map__41041);\nvar nom \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41041__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41041__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41041__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41041__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41041__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar built_in \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41041__$1,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599));\nvar local \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41041__$1,new cljs.core.Keyword(null,\x22local\x22,\x22local\x22,-1497766724));\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d line;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn built_in;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),[cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(nom)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(nom)].join(\x27\x27):ns)),(cljs.core.truth_(local)?[\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(local)].join(\x27\x27):null)].join(\x27\x27),new cljs.core.Keyword(null,\x22loc\x22,\x22loc\x22,-584284901),[cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d file;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.truth_(built_in)){\nreturn \x22\x3cbuilt-in\x3e\x22;\n} else {\nreturn \x22\x3cexpr\x3e\x22;\n}\n}\n})()),(cljs.core.truth_(line)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):null)].join(\x27\x27)], null);\n} else {\nreturn null;\n}\n}),st__$1);\nvar max_name \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(0),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.count,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177)),data));\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p__41045){\nvar map__41047 \x3d p__41045;\nvar map__41047__$1 \x3d cljs.core.__destructure_map(map__41047);\nvar name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41047__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\nvar loc \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41047__$1,new cljs.core.Keyword(null,\x22loc\x22,\x22loc\x22,-584284901));\nreturn [sci.impl.callstack.right_pad(name,max_name),\x22 - \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(loc)].join(\x27\x27);\n}),data);\n});\n");
SHADOW_ENV.evalLoad("sci.impl.utils.js", true, "goog.provide(\x27sci.impl.utils\x27);\ncljs.core.derive.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803));\nsci.impl.utils.constant_QMARK_ \x3d (function sci$impl$utils$constant_QMARK_(x){\nreturn (((x \x3d\x3d null)) || (((typeof x \x3d\x3d\x3d \x27number\x27) || (((typeof x \x3d\x3d\x3d \x27string\x27) || ((((x instanceof cljs.core.Keyword)) || (((cljs.core.boolean_QMARK_(x)) || ((x instanceof RegExp)))))))))));\n});\nsci.impl.utils.recur \x3d (new Object());\n\nsci.impl.utils._STAR_top_level_location_STAR_ \x3d null;\nsci.impl.utils.throw_error_with_location \x3d (function sci$impl$utils$throw_error_with_location(var_args){\nvar G__41245 \x3d arguments.length;\nswitch (G__41245) {\ncase 2:\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,iobj){\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3(msg,iobj,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,iobj,data){\nvar map__41250 \x3d cljs.core.meta(iobj);\nvar map__41250__$1 \x3d cljs.core.__destructure_map(map__41250);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41250__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41250__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__41250__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file));\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(msg,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(function (){var or__5025__auto__ \x3d line;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(sci.impl.utils._STAR_top_level_location_STAR_);\n}\n})(),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),(function (){var or__5025__auto__ \x3d column;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(sci.impl.utils._STAR_top_level_location_STAR_);\n}\n})(),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null),data], 0)));\n}));\n\n(sci.impl.utils.throw_error_with_location.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.utils._STAR_in_try_STAR_ \x3d false;\nsci.impl.utils.macro_QMARK_ \x3d (function sci$impl$utils$macro_QMARK_(f){\nvar temp__5808__auto__ \x3d cljs.core.meta(f);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar m \x3d temp__5808__auto__;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\n}\n}\n});\n/**\n * used for allowing interop in with-out-str\n */\nsci.impl.utils.allowed_append \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(\x22append\x22);\nsci.impl.utils.demunge \x3d (function sci$impl$utils$demunge(s){\nreturn cljs.core.demunge(s);\n});\nsci.impl.utils.rethrow_with_location_of_node \x3d (function sci$impl$utils$rethrow_with_location_of_node(var_args){\nvar G__41261 \x3d arguments.length;\nswitch (G__41261) {\ncase 3:\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,e,raw_node){\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx),e,raw_node);\n}));\n\n(sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,_bindings,e,raw_node){\nif(cljs.core.truth_((function (){var in_try \x3d sci.impl.utils._STAR_in_try_STAR_;\nif(cljs.core.keyword_identical_QMARK_(in_try,new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803))){\nreturn false;\n} else {\nreturn in_try;\n}\n})())){\nthrow e;\n} else {\nvar stack \x3d sci.impl.types.stack(raw_node);\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar id \x3d new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092).cljs$core$IFn$_invoke$arity$1(ctx);\nvar d \x3d cljs.core.ex_data(e);\nvar st \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557).cljs$core$IFn$_invoke$arity$1(d);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar st \x3d temp__5804__auto__;\nreturn st;\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.volatile_BANG_(cljs.core.List.EMPTY);\n}\n})();\nif(cljs.core.truth_(stack)){\ncljs.core._vreset_BANG_(st,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core._deref(st),stack));\n} else {\n}\n\nvar d__$1 \x3d cljs.core.ex_data(e);\nvar wrapping_sci_error_QMARK_ \x3d (function (){var and__5023__auto__ \x3d cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(d__$1),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803));\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557).cljs$core$IFn$_invoke$arity$1(d__$1);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(wrapping_sci_error_QMARK_)){\nthrow e;\n} else {\nvar ex_msg \x3d e.message;\nvar map__41273 \x3d (function (){var or__5025__auto__ \x3d stack;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar G__41276 \x3d env;\nvar G__41276__$1 \x3d (((G__41276 \x3d\x3d null))?null:cljs.core.deref(G__41276));\nvar G__41276__$2 \x3d (((G__41276__$1 \x3d\x3d null))?null:new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557).cljs$core$IFn$_invoke$arity$1(G__41276__$1));\nvar G__41276__$3 \x3d (((G__41276__$2 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__41276__$2,id));\nvar G__41276__$4 \x3d (((G__41276__$3 \x3d\x3d null))?null:cljs.core.deref(G__41276__$3));\nvar G__41276__$5 \x3d (((G__41276__$4 \x3d\x3d null))?null:cljs.core.last(G__41276__$4));\nif((G__41276__$5 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.meta(G__41276__$5);\n}\n}\n})();\nvar map__41273__$1 \x3d cljs.core.__destructure_map(map__41273);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41273__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41273__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41273__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d line;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn column;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar ex_msg__$1 \x3d ex_msg;\nvar phase \x3d new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892).cljs$core$IFn$_invoke$arity$1(d__$1);\nvar new_exception \x3d (function (){var new_d \x3d (function (){var G__41281 \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column,new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),ex_msg__$1,new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557),st,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\nif(cljs.core.truth_(phase)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41281,new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),phase);\n} else {\nreturn G__41281;\n}\n})();\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(ex_msg__$1,new_d,e);\n})();\nthrow new_exception;\n} else {\nthrow e;\n}\n}\n}\n}));\n\n(sci.impl.utils.rethrow_with_location_of_node.cljs$lang$maxFixedArity \x3d 4);\n\nsci.impl.utils.iobj_QMARK_ \x3d (function sci$impl$utils$iobj_QMARK_(obj){\nvar and__5023__auto__ \x3d (((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IWithMeta$))))?true:false):false);\nif(and__5023__auto__){\nreturn cljs.core.meta(obj);\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Only adds metadata to obj if d is not nil and if obj already has meta\n */\nsci.impl.utils.vary_meta_STAR_ \x3d (function sci$impl$utils$vary_meta_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41430 \x3d arguments.length;\nvar i__5750__auto___41431 \x3d (0);\nwhile(true){\nif((i__5750__auto___41431 \x3c len__5749__auto___41430)){\nargs__5755__auto__.push((arguments[i__5750__auto___41431]));\n\nvar G__41432 \x3d (i__5750__auto___41431 + (1));\ni__5750__auto___41431 \x3d G__41432;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.utils.vary_meta_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.utils.vary_meta_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,f,args){\nif(cljs.core.truth_(sci.impl.utils.iobj_QMARK_(obj))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.vary_meta,obj,f,args);\n} else {\nreturn obj;\n}\n}));\n\n(sci.impl.utils.vary_meta_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.utils.vary_meta_STAR_.cljs$lang$applyTo \x3d (function (seq41288){\nvar G__41289 \x3d cljs.core.first(seq41288);\nvar seq41288__$1 \x3d cljs.core.next(seq41288);\nvar G__41290 \x3d cljs.core.first(seq41288__$1);\nvar seq41288__$2 \x3d cljs.core.next(seq41288__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__41289,G__41290,seq41288__$2);\n}));\n\nsci.impl.utils.strip_core_ns \x3d (function sci$impl$utils$strip_core_ns(sym){\nvar G__41304 \x3d cljs.core.namespace(sym);\nswitch (G__41304) {\ncase \x22clojure.core\x22:\ncase \x22cljs.core\x22:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym));\n\nbreak;\ndefault:\nreturn sym;\n\n}\n});\nsci.impl.utils.allowed_loop \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(\x22clojure.core/loop\x22);\nsci.impl.utils.allowed_recur \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(\x22recur\x22);\nsci.impl.utils.var_unbound \x3d (new Object());\n/**\n * Fetches namespaces from env if it exists. Else, if `create?`,\n *   produces one regardless of the existince of the namespace in env and\n *   adds it to env before returning it.\n */\nsci.impl.utils.namespace_object \x3d (function sci$impl$utils$namespace_object(env,ns_sym,create_QMARK_,attr_map){\nvar env_STAR_ \x3d cljs.core.deref(env);\nvar ns_map \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_STAR_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_sym], null));\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(ns_map);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto____$1 \x3d ns_map;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn create_QMARK_;\n}\n})())){\nvar ns_obj \x3d sci.lang.__GT_Namespace(ns_sym,attr_map);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_sym,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962)], null),ns_obj);\n\nreturn ns_obj;\n} else {\nreturn null;\n}\n}\n});\nsci.impl.utils.set_namespace_BANG_ \x3d (function sci$impl$utils$set_namespace_BANG_(ctx,ns_sym,attr_map){\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar attr_map__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(ns_sym),attr_map], 0));\nvar ns_obj \x3d sci.impl.utils.namespace_object(env,ns_sym,true,attr_map__$1);\nreturn sci.impl.types.setVal(sci.impl.utils.current_ns,ns_obj);\n});\nsci.impl.utils.eval_form_state \x3d cljs.core.volatile_BANG_(null);\nsci.impl.utils.eval_resolve_state \x3d cljs.core.volatile_BANG_(null);\nsci.impl.utils.analyze \x3d cljs.core.volatile_BANG_(null);\nsci.impl.utils.eval \x3d (function sci$impl$utils$eval(sci_ctx,form){\nvar fexpr__41311 \x3d cljs.core.deref(sci.impl.utils.eval_form_state);\nreturn (fexpr__41311.cljs$core$IFn$_invoke$arity$2 ? fexpr__41311.cljs$core$IFn$_invoke$arity$2(sci_ctx,form) : fexpr__41311.call(null,sci_ctx,form));\n});\n/**\n * Like partition-by but splits collection only when `pred` returns\n *   a truthy value. E.g. `(split-when odd? [1 2 3 4 5]) \x3d\x3e ((1 2) (3 4) (5))`\n */\nsci.impl.utils.split_when \x3d (function sci$impl$utils$split_when(pred,coll){\nvar f \x3d cljs.core.complement(pred);\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar fst \x3d cljs.core.first(s);\nvar run \x3d cljs.core.cons(fst,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(f,cljs.core.next(s)));\nreturn cljs.core.cons(run,(function (){var G__41316 \x3d pred;\nvar G__41317 \x3d (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(run),s);\n}),null,null));\nreturn (sci.impl.utils.split_when.cljs$core$IFn$_invoke$arity$2 ? sci.impl.utils.split_when.cljs$core$IFn$_invoke$arity$2(G__41316,G__41317) : sci.impl.utils.split_when.call(null,G__41316,G__41317));\n})());\n} else {\nreturn null;\n}\n}),null,null));\n});\nsci.impl.utils.ana_macros \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 22, [new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),\x22null\x22,new cljs.core.Symbol(null,\x22import\x22,\x22import\x22,241030818,null),\x22null\x22,new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),\x22null\x22,new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22in-ns\x22,\x22in-ns\x22,-2089468466,null),\x22null\x22,new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),\x22null\x22,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),\x22null\x22,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),\x22null\x22,new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),\x22null\x22,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),\x22null\x22,new cljs.core.Symbol(null,\x22expand-constructor\x22,\x22expand-constructor\x22,-343741576,null),\x22null\x22,new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),\x22null\x22,new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),\x22null\x22,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),\x22null\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22null\x22,new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),\x22null\x22,new cljs.core.Symbol(null,\x22resolve\x22,\x22resolve\x22,56086045,null),\x22null\x22,new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22,new cljs.core.Symbol(null,\x22expand-dot*\x22,\x22expand-dot*\x22,-1946890561,null),\x22null\x22], null), null);\nsci.impl.utils.maybe_destructured \x3d (function sci$impl$utils$maybe_destructured(params,body){\nif(cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,params)){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),params,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),body], null);\n} else {\nvar params__$1 \x3d params;\nvar new_params \x3d cljs.core.with_meta(cljs.core.PersistentVector.EMPTY,cljs.core.meta(params__$1));\nvar lets \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.truth_(params__$1)){\nif((cljs.core.first(params__$1) instanceof cljs.core.Symbol)){\nvar G__41438 \x3d cljs.core.next(params__$1);\nvar G__41439 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,cljs.core.first(params__$1));\nvar G__41440 \x3d lets;\nparams__$1 \x3d G__41438;\nnew_params \x3d G__41439;\nlets \x3d G__41440;\ncontinue;\n} else {\nvar gparam \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22p__\x22);\nvar G__41441 \x3d cljs.core.next(params__$1);\nvar G__41442 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,gparam);\nvar G__41443 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lets,cljs.core.first(params__$1)),gparam);\nparams__$1 \x3d G__41441;\nnew_params \x3d G__41442;\nlets \x3d G__41443;\ncontinue;\n}\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new_params,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,lets,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0))))], null)], null);\n}\nbreak;\n}\n}\n});\nsci.impl.utils.unqualify_symbol \x3d sci.impl.vars.unqualify_symbol;\nsci.impl.utils.make_stack \x3d (function sci$impl$utils$make_stack(var_args){\nvar G__41337 \x3d arguments.length;\nswitch (G__41337) {\ncase 1:\nreturn sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$1 \x3d (function (expr_meta){\nreturn sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2(expr_meta,false);\n}));\n\n(sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2 \x3d (function (expr_meta,special_QMARK_){\nvar G__41347 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(expr_meta,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nif(cljs.core.truth_(special_QMARK_)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41347,new cljs.core.Keyword(null,\x22special\x22,\x22special\x22,-1125941630),true);\n} else {\nreturn G__41347;\n}\n}));\n\n(sci.impl.utils.make_stack.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.utils.log \x3d (function sci$impl$utils$log(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41448 \x3d arguments.length;\nvar i__5750__auto___41449 \x3d (0);\nwhile(true){\nif((i__5750__auto___41449 \x3c len__5749__auto___41448)){\nargs__5755__auto__.push((arguments[i__5750__auto___41449]));\n\nvar G__41451 \x3d (i__5750__auto___41449 + (1));\ni__5750__auto___41449 \x3d G__41451;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.utils.log.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.utils.log.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xs){\nreturn console.log(clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22 \x22,xs));\n}));\n\n(sci.impl.utils.log.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.utils.log.cljs$lang$applyTo \x3d (function (seq41350){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq41350));\n}));\n\nsci.impl.utils.dynamic_var \x3d (function sci$impl$utils$dynamic_var(var_args){\nvar G__41366 \x3d arguments.length;\nswitch (G__41366) {\ncase 1:\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(name,null,cljs.core.meta(name));\n}));\n\n(sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nvar meta__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(meta,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))], 0));\nreturn (new sci.lang.Var(init_val,name,meta__$1,false,false,null));\n}));\n\n(sci.impl.utils.dynamic_var.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.utils.user_ns \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),null);\nsci.impl.utils.clojure_core_ns \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),null);\nsci.impl.utils.current_file \x3d sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*file*\x22,\x22*file*\x22,624866474,null),null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22The path of the file being evaluated, as a String.\\n\\n  When there is no file, e.g. in the REPL, the value is not defined.\x22,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null));\nsci.impl.utils.current_ns \x3d sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*ns*\x22,\x22*ns*\x22,740153818,null),sci.impl.utils.user_ns,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22A sci.lang.Namespace object representing the current namespace.\x22], null));\nsci.impl.utils.current_ns_name \x3d (function sci$impl$utils$current_ns_name(){\nvar curr_ns \x3d cljs.core.deref(sci.impl.utils.current_ns);\nif((curr_ns instanceof cljs.core.Symbol)){\nreturn curr_ns;\n} else {\nreturn sci.impl.types.getName(curr_ns);\n}\n});\n/**\n * Returns a new sci var.\n */\nsci.impl.utils.new_var \x3d (function sci$impl$utils$new_var(var_args){\nvar G__41389 \x3d arguments.length;\nswitch (G__41389) {\ncase 1:\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nvar G__41395 \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(name,null,null);\nsci.impl.vars.unbind(G__41395);\n\nreturn G__41395;\n}));\n\n(sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nreturn (new sci.lang.Var(init_val,name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(meta,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))),false,null,null));\n}));\n\n(sci.impl.utils.new_var.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.utils.var_QMARK_ \x3d (function sci$impl$utils$var_QMARK_(x){\nreturn (x instanceof sci.lang.Var);\n});\nsci.impl.utils.namespace_QMARK_ \x3d (function sci$impl$utils$namespace_QMARK_(x){\nreturn (x instanceof sci.lang.Namespace);\n});\nsci.impl.utils.special_syms \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 15, [new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),\x22null\x22,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),\x22null\x22,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),\x22null\x22,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),\x22null\x22,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),\x22null\x22,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),\x22null\x22,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),\x22null\x22,new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),\x22null\x22,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),\x22null\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22null\x22,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22null\x22,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22], null), null);\n");
SHADOW_ENV.evalLoad("sci.impl.deftype.js", true, "goog.provide(\x27sci.impl.deftype\x27);\nsci.impl.deftype.hex_hash \x3d (function sci$impl$deftype$hex_hash(this$){\nreturn cljs.core.hash(this$).toString((16));\n});\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.deftype !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.deftype.to_string !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.deftype.to_string \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__41794 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__41794.cljs$core$IFn$_invoke$arity$0 ? fexpr__41794.cljs$core$IFn$_invoke$arity$0() : fexpr__41794.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.deftype\x22,\x22to-string\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nsci.impl.deftype.to_string.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (this$){\nvar t \x3d sci.impl.types.type_impl(this$);\nreturn [cljs.core.namespace(t),\x22.\x22,cljs.core.name(t),\x22@\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.deftype.hex_hash(this$))].join(\x27\x27);\n}));\nsci.impl.deftype.clojure_str \x3d (function sci$impl$deftype$clojure_str(v){\nvar n \x3d sci.impl.types.type_impl(v);\nreturn [\x22#object[\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 0x\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.deftype.hex_hash(v)),\x22 \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.deftype.to_string.cljs$core$IFn$_invoke$arity$1(v)),\x22\\\x22]\x22].join(\x27\x27);\n});\n\n/**\n * @interface\n */\nsci.impl.deftype.SciPrintMethod \x3d function(){};\n\nvar sci$impl$deftype$SciPrintMethod$_sci_print_method$dyn_42141 \x3d (function (x,w){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (sci.impl.deftype._sci_print_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(x,w) : m__5374__auto__.call(null,x,w));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.deftype._sci_print_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(x,w) : m__5372__auto__.call(null,x,w));\n} else {\nthrow cljs.core.missing_protocol(\x22SciPrintMethod.-sci-print-method\x22,x);\n}\n}\n});\nsci.impl.deftype._sci_print_method \x3d (function sci$impl$deftype$_sci_print_method(x,w){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.sci$impl$deftype$SciPrintMethod$_sci_print_method$arity$2 \x3d\x3d null)))))){\nreturn x.sci$impl$deftype$SciPrintMethod$_sci_print_method$arity$2(x,w);\n} else {\nreturn sci$impl$deftype$SciPrintMethod$_sci_print_method$dyn_42141(x,w);\n}\n});\n\n\n/**\n* @constructor\n * @implements {sci.impl.types.SciTypeInstance}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {sci.impl.types.IBox}\n*/\nsci.impl.deftype.SciType \x3d (function (rec_name,type,var$,ext_map){\nthis.rec_name \x3d rec_name;\nthis.type \x3d type;\nthis.var$ \x3d var$;\nthis.ext_map \x3d ext_map;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2147483648;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(sci.impl.deftype.SciType.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn sci.impl.deftype.to_string.cljs$core$IFn$_invoke$arity$1(this$);\n}));\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$SciTypeInstance$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$SciTypeInstance$_get_type$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.type;\n}));\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$SciTypeInstance$_mutate$arity$3 \x3d (function (_,k,v){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\n(self__.ext_map \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.ext_map,k,v));\n\nreturn v;\n}));\n\n(sci.impl.deftype.SciType.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this$,w,opts){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar temp__5802__auto__ \x3d self__.var$;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar rv \x3d temp__5802__auto__;\nvar m \x3d cljs.core.meta(rv);\nvar temp__5802__auto____$1 \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22print-method\x22,\x22sci.impl/print-method\x22,281191566).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar pm \x3d temp__5802__auto____$1;\nreturn (pm.cljs$core$IFn$_invoke$arity$3 ? pm.cljs$core$IFn$_invoke$arity$3(this$__$1,w,opts) : pm.call(null,this$__$1,w,opts));\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(w,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.deftype.clojure_str(this$__$1)], 0));\n}\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(w,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.deftype.clojure_str(this$__$1)], 0));\n}\n}));\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ext_map;\n}));\n\n(sci.impl.deftype.SciType.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rec-name\x22,\x22rec-name\x22,407587896,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22ext-map\x22,\x22ext-map\x22,-1560591553,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.impl.deftype.SciType.cljs$lang$type \x3d true);\n\n(sci.impl.deftype.SciType.cljs$lang$ctorStr \x3d \x22sci.impl.deftype/SciType\x22);\n\n(sci.impl.deftype.SciType.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.deftype/SciType\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.deftype/SciType.\n */\nsci.impl.deftype.__GT_SciType \x3d (function sci$impl$deftype$__GT_SciType(rec_name,type,var$,ext_map){\nreturn (new sci.impl.deftype.SciType(rec_name,type,var$,ext_map));\n});\n\nsci.impl.deftype.__GT_type_impl \x3d (function sci$impl$deftype$__GT_type_impl(rec_name,type,var$,m){\nreturn (new sci.impl.deftype.SciType(rec_name,type,var$,m));\n});\nsci.impl.deftype.deftype \x3d (function sci$impl$deftype$deftype(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___42166 \x3d arguments.length;\nvar i__5750__auto___42167 \x3d (0);\nwhile(true){\nif((i__5750__auto___42167 \x3c len__5749__auto___42166)){\nargs__5755__auto__.push((arguments[i__5750__auto___42167]));\n\nvar G__42168 \x3d (i__5750__auto___42167 + (1));\ni__5750__auto___42167 \x3d G__42168;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.deftype.deftype.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.deftype.deftype.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__41923,_,record_name,fields,raw_protocol_impls){\nvar vec__41925 \x3d p__41923;\nvar seq__41926 \x3d cljs.core.seq(vec__41925);\nvar first__41927 \x3d cljs.core.first(seq__41926);\nvar seq__41926__$1 \x3d cljs.core.next(seq__41926);\nvar _fname \x3d first__41927;\nvar ___$1 \x3d seq__41926__$1;\nvar form \x3d vec__41925;\nvar ctx \x3d sci.ctx_store.get_ctx();\nif(cljs.core.truth_(new cljs.core.Keyword(\x22sci.impl\x22,\x22macroexpanding\x22,\x22sci.impl/macroexpanding\x22,2113471825).cljs$core$IFn$_invoke$arity$1(ctx))){\nreturn cljs.core.cons(new cljs.core.Symbol(\x22clojure.core\x22,\x22deftype\x22,\x22clojure.core/deftype\x22,-1728257017,null),cljs.core.rest(form));\n} else {\nvar factory_fn_str \x3d [\x22-\x3e\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(record_name)].join(\x27\x27);\nvar factory_fn_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(factory_fn_str);\nvar rec_type \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.munge(sci.impl.utils.current_ns_name())),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(record_name)].join(\x27\x27));\nvar protocol_impls \x3d sci.impl.utils.split_when(cljs.core.symbol_QMARK_,raw_protocol_impls);\nvar field_set \x3d cljs.core.set(fields);\nvar protocol_impls__$1 \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p__41942,expr){\nvar vec__41955 \x3d p__41942;\nvar seq__41956 \x3d cljs.core.seq(vec__41955);\nvar first__41957 \x3d cljs.core.first(seq__41956);\nvar seq__41956__$1 \x3d cljs.core.next(seq__41956);\nvar protocol_name \x3d first__41957;\nvar impls \x3d seq__41956__$1;\nvar impls__$1 \x3d cljs.core.group_by(cljs.core.first,impls);\nvar protocol \x3d (function (){var G__41960 \x3d ctx;\nvar G__41961 \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__41962 \x3d protocol_name;\nvar fexpr__41959 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__41959.cljs$core$IFn$_invoke$arity$3 ? fexpr__41959.cljs$core$IFn$_invoke$arity$3(G__41960,G__41961,G__41962) : fexpr__41959.call(null,G__41960,G__41961,G__41962));\n})();\nvar protocol__$1 \x3d (function (){var or__5025__auto__ \x3d protocol;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22Object\x22,\x22Object\x22,61210754,null),protocol_name))?new cljs.core.Keyword(\x22sci.impl.deftype\x22,\x22object\x22,\x22sci.impl.deftype/object\x22,-248099673):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22IPrintWithWriter\x22,\x22IPrintWithWriter\x22,-1205316154,null),protocol_name)){\nreturn new cljs.core.Keyword(\x22sci.impl.deftype\x22,\x22IPrintWithWriter\x22,\x22sci.impl.deftype/IPrintWithWriter\x22,-1280030107);\n} else {\nreturn null;\n}\n}\n}\n})();\nvar ___$2 \x3d (cljs.core.truth_(protocol__$1)?null:sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Protocol not found: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(\x27\x27),expr));\nvar protocol__$2 \x3d ((sci.impl.utils.var_QMARK_(protocol__$1))?cljs.core.deref(protocol__$1):protocol__$1);\nvar protocol_var \x3d new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(protocol__$2);\nvar ___$3 \x3d (cljs.core.truth_(protocol_var)?sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$variadic(protocol_var,cljs.core.update,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.str.cljs$core$IFn$_invoke$arity$1(rec_type))], 0)):null);\nvar protocol_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(protocol__$2);\nvar pns \x3d (cljs.core.truth_(protocol_ns)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns)):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.impl.deftype\x22,\x22object\x22,\x22sci.impl.deftype/object\x22,-248099673),protocol__$2))?\x22sci.impl.deftype\x22:null));\nvar fq_meth_name \x3d (function (p1__41870_SHARP_){\nif(cljs.core.simple_symbol_QMARK_(p1__41870_SHARP_)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__41870_SHARP_));\n} else {\nreturn p1__41870_SHARP_;\n}\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__41997){\nvar vec__41999 \x3d p__41997;\nvar method_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41999,(0),null);\nvar bodies \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41999,(1),null);\nif(((cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.deftype\x22,\x22IPrintWithWriter\x22,\x22sci.impl.deftype/IPrintWithWriter\x22,-1280030107),protocol__$2)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-pr-writer\x22,\x22-pr-writer\x22,-445354136,null),method_name)))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-meta!\x22,\x22cljs.core/alter-meta!\x22,574694262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assoc\x22,\x22cljs.core/assoc\x22,322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(\x22sci.impl\x22,\x22print-method\x22,\x22sci.impl/print-method\x22,281191566),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.rest(cljs.core.first(bodies)),null,(1),null))))),null,(1),null))], 0))));\n} else {\nvar bodies__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,bodies);\nvar bodies__$2 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (impl){\nvar args \x3d cljs.core.first(impl);\nvar body \x3d cljs.core.rest(impl);\nvar destr \x3d sci.impl.utils.maybe_destructured(args,body);\nvar args__$1 \x3d new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(destr);\nvar body__$1 \x3d new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(destr);\nvar orig_this_sym \x3d cljs.core.first(args__$1);\nvar rest_args \x3d cljs.core.rest(args__$1);\nvar this_sym \x3d new cljs.core.Symbol(null,\x22__sci_this\x22,\x22__sci_this\x22,-193704996,null)\n;\nvar args__$2 \x3d cljs.core.vec(cljs.core.cons(this_sym,rest_args));\nvar ext_map_binding \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar bindings \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ext_map_binding,(new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.deftype\x22,\x22-inner-impl\x22,\x22sci.impl.deftype/-inner-impl\x22,528349233,null),(new cljs.core.List(null,this_sym,null,(1),null)),(2),null))], null);\nvar bindings__$1 \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(bindings,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (field){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [field,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22get\x22,\x22get\x22,-971253014,null),(new cljs.core.List(null,ext_map_binding,(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,field,null,(1),null)),(2),null)),null,(1),null)),(2),null)),(3),null))], null);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,field_set,args__$2)], 0)));\nvar bindings__$2 \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(bindings__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [orig_this_sym,this_sym], null));\nvar bindings__$3 \x3d cljs.core.vec(bindings__$2);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,args__$2,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,bindings__$3,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body__$1], 0)))),null,(1),null)))));\n}),bodies__$1);\nvar G__42062 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(ctx,new cljs.core.Keyword(null,\x22deftype-fields\x22,\x22deftype-fields\x22,-222569172),field_set,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22local-\x3emutator\x22,\x22local-\x3emutator\x22,1004070878),cljs.core.zipmap(field_set,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (field){\nreturn (function (this$,v){\nreturn sci.impl.types._mutate(this$,field,v);\n});\n}),field_set))], 0));\nvar G__42063 \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,fq_meth_name(method_name),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),bodies__$2], 0))));\nvar fexpr__42061 \x3d cljs.core.deref(sci.impl.utils.analyze);\nreturn (fexpr__42061.cljs$core$IFn$_invoke$arity$2 ? fexpr__42061.cljs$core$IFn$_invoke$arity$2(G__42062,G__42063) : fexpr__42061.call(null,G__42062,G__42063));\n}\n}),impls__$1);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([protocol_impls,raw_protocol_impls], 0));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22declare\x22,\x22cljs.core/declare\x22,1312638100,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,factory_fn_sym,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(record_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci\x22,\x22type\x22,\x22sci/type\x22,1175422389),true], null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.deftype\x22,\x22-create-type\x22,\x22sci.impl.deftype/-create-type\x22,-1020101113,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(\x22sci.impl\x22,\x22type-name\x22,\x22sci.impl/type-name\x22,-1528979388),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,rec_type,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl\x22,\x22type\x22,\x22sci.impl/type\x22,1797552241),rec_type,new cljs.core.Keyword(\x22sci.impl\x22,\x22constructor\x22,\x22sci.impl/constructor\x22,1320345666),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,factory_fn_sym,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl\x22,\x22var\x22,\x22sci.impl/var\x22,-2041185552),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,record_name,null,(1),null)),(2),null))], null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),null,(1),null)),(new cljs.core.List(null,factory_fn_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__41891__auto__\x22,\x22args__41891__auto__\x22,1936488558,null),null,(1),null)))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.deftype\x22,\x22-\x3etype-impl\x22,\x22sci.impl.deftype/-\x3etype-impl\x22,-2121297742,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,rec_type,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,fields,null,(1),null)),(2),null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__41891__auto__\x22,\x22args__41891__auto__\x22,1936488558,null),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),protocol_impls__$1,(new cljs.core.List(null,record_name,null,(1),null))], 0))));\n}\n}));\n\n(sci.impl.deftype.deftype.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.deftype.deftype.cljs$lang$applyTo \x3d (function (seq41903){\nvar G__41904 \x3d cljs.core.first(seq41903);\nvar seq41903__$1 \x3d cljs.core.next(seq41903);\nvar G__41905 \x3d cljs.core.first(seq41903__$1);\nvar seq41903__$2 \x3d cljs.core.next(seq41903__$1);\nvar G__41906 \x3d cljs.core.first(seq41903__$2);\nvar seq41903__$3 \x3d cljs.core.next(seq41903__$2);\nvar G__41907 \x3d cljs.core.first(seq41903__$3);\nvar seq41903__$4 \x3d cljs.core.next(seq41903__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__41904,G__41905,G__41906,G__41907,seq41903__$4);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.interop.js", true, "goog.provide(\x27sci.impl.interop\x27);\nsci.impl.interop.invoke_instance_field \x3d (function sci$impl$interop$invoke_instance_field(obj,_target_class,field_name){\nreturn (obj[field_name]);\n});\nsci.impl.interop.invoke_instance_method \x3d (function sci$impl$interop$invoke_instance_method(ctx,bindings,obj,_target_class,method_name,args,_arg_count,_arg_types){\nvar temp__5806__auto__ \x3d (obj[method_name]);\nif((temp__5806__auto__ \x3d\x3d null)){\nthrow (new Error([\x22Could not find instance method: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(method_name)].join(\x27\x27)));\n} else {\nvar method \x3d temp__5806__auto__;\nvar args__$1 \x3d args.map((function (p1__41790_SHARP_){\nreturn sci.impl.types.eval(p1__41790_SHARP_,ctx,bindings);\n}));\nreturn Reflect.apply(method,obj,args__$1);\n}\n});\nsci.impl.interop.get_static_field \x3d (function sci$impl$interop$get_static_field(class$,field_name_sym){\nreturn (class$[field_name_sym]);\n});\nsci.impl.interop.fn_eval_allowed_QMARK_ \x3d (function (){try{(new Function(\x22return 1\x22));\n\nreturn true;\n}catch (e41802){var _ \x3d e41802;\nreturn false;\n}})();\nsci.impl.interop.get_static_fields \x3d (function sci$impl$interop$get_static_fields(cur,parts){\nvar cur__$1 \x3d cur;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c parts.length)){\nvar G__41867 \x3d (cur__$1[(parts[i])]);\nvar G__41868 \x3d (i + (1));\ncur__$1 \x3d G__41867;\ni \x3d G__41868;\ncontinue;\n} else {\nreturn cur__$1;\n}\nbreak;\n}\n});\n\n/**\n * TODO: use this to look up at runtime, rather than look up at compile time, for correct behavior wrt. issue 877\n */\nsci.impl.interop.accessor_fn \x3d (function sci$impl$interop$accessor_fn(parts){\nif(cljs.core.truth_(sci.impl.interop.fn_eval_allowed_QMARK_)){\nreturn (new Function(\x22obj\x22,[\x22return obj.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parts.join(\x22.\x22))].join(\x27\x27)));\n} else {\nreturn (function (obj){\nreturn sci.impl.interop.get_static_fields(obj,parts);\n});\n}\n});\nsci.impl.interop.invoke_js_constructor_STAR_ \x3d (function sci$impl$interop$invoke_js_constructor_STAR_(ctx,bindings,constructor$,args){\nreturn Reflect.construct(constructor$,args.map((function (p1__41810_SHARP_){\nreturn sci.impl.types.eval(p1__41810_SHARP_,ctx,bindings);\n})));\n});\nsci.impl.interop.invoke_static_method \x3d (function sci$impl$interop$invoke_static_method(ctx,bindings,class$,method,args){\nreturn Reflect.apply(method,class$,args.map((function (p1__41817_SHARP_){\nreturn sci.impl.types.eval(p1__41817_SHARP_,ctx,bindings);\n})));\n});\nsci.impl.interop.fully_qualify_class \x3d (function sci$impl$interop$fully_qualify_class(ctx,sym){\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar class__GT_opts \x3d new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(env);\nvar or__5025__auto__ \x3d (function (){var temp__5802__auto__ \x3d cljs.core.namespace(sym);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns_STAR_ \x3d temp__5802__auto__;\nif((\x22js\x22 \x3d\x3d\x3d ns_STAR_)){\nif(cljs.core.contains_QMARK_(class__GT_opts,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym)))){\nreturn sym;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.contains_QMARK_(class__GT_opts,sym)){\nreturn sym;\n} else {\nreturn null;\n}\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar imports \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394)], null));\nvar temp__5802__auto__ \x3d cljs.core.find(imports,sym);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__41823 \x3d temp__5802__auto__;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41823,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41823,(1),null);\nreturn v;\n} else {\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),sym], null));\n}\n}\n});\nsci.impl.interop.resolve_class_opts \x3d (function sci$impl$interop$resolve_class_opts(ctx,sym){\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar class__GT_opts \x3d new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(env);\nvar class_opts \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5802__auto__ \x3d cljs.core.namespace(sym);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns_STAR_ \x3d temp__5802__auto__;\nif((\x22js\x22 \x3d\x3d\x3d ns_STAR_)){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym)));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,sym);\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar imports \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394)], null));\nvar temp__5802__auto__ \x3d cljs.core.find(imports,sym);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__41834 \x3d temp__5802__auto__;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41834,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41834,(1),null);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,v);\n} else {\nvar temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),sym], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,v);\n} else {\nreturn null;\n}\n}\n}\n})();\nreturn class_opts;\n});\nsci.impl.interop.resolve_class \x3d (function sci$impl$interop$resolve_class(ctx,sym){\nreturn new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(sci.impl.interop.resolve_class_opts(ctx,sym));\n});\n");
SHADOW_ENV.evalLoad("sci.impl.hierarchies.js", true, "goog.provide(\x27sci.impl.hierarchies\x27);\nsci.impl.hierarchies.global_hierarchy \x3d (function sci$impl$hierarchies$global_hierarchy(){\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Symbol(null,\x22global-hierarchy\x22,\x22global-hierarchy\x22,-2014004345,null)], null));\n});\nsci.impl.hierarchies.__GT_tag \x3d (function sci$impl$hierarchies$__GT_tag(x){\nif((x instanceof sci.lang.Type)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace(x),cljs.core.name(x));\n} else {\nreturn x;\n}\n});\nsci.impl.hierarchies.derive_STAR_ \x3d (function sci$impl$hierarchies$derive_STAR_(var_args){\nvar G__41009 \x3d arguments.length;\nswitch (G__41009) {\ncase 2:\nreturn sci.impl.hierarchies.derive_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.hierarchies.derive_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.derive_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\nvar tag_41065__$1 \x3d sci.impl.hierarchies.__GT_tag(tag);\nsci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2(sci.impl.hierarchies.global_hierarchy(),(function (h){\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$3(h,tag_41065__$1,parent);\n}));\n\nreturn null;\n}));\n\n(sci.impl.hierarchies.derive_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nvar tag__$1 \x3d sci.impl.hierarchies.__GT_tag(tag);\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$3(h,tag__$1,parent);\n}));\n\n(sci.impl.hierarchies.derive_STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.hierarchies.underive_STAR_ \x3d (function sci$impl$hierarchies$underive_STAR_(var_args){\nvar G__41017 \x3d arguments.length;\nswitch (G__41017) {\ncase 2:\nreturn sci.impl.hierarchies.underive_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.hierarchies.underive_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.underive_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\nvar tag_41070__$1 \x3d sci.impl.hierarchies.__GT_tag(tag);\nsci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2(sci.impl.hierarchies.global_hierarchy(),(function (h){\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$3(h,tag_41070__$1,parent);\n}));\n\nreturn null;\n}));\n\n(sci.impl.hierarchies.underive_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nvar tag__$1 \x3d sci.impl.hierarchies.__GT_tag(tag);\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$3(h,tag__$1,parent);\n}));\n\n(sci.impl.hierarchies.underive_STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.hierarchies.isa_QMARK__STAR_ \x3d (function sci$impl$hierarchies$isa_QMARK__STAR_(var_args){\nvar G__41038 \x3d arguments.length;\nswitch (G__41038) {\ncase 2:\nreturn sci.impl.hierarchies.isa_QMARK__STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.hierarchies.isa_QMARK__STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.isa_QMARK__STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (child,parent){\nvar h \x3d cljs.core.deref(sci.impl.hierarchies.global_hierarchy());\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(h,sci.impl.hierarchies.__GT_tag(child),parent);\n}));\n\n(sci.impl.hierarchies.isa_QMARK__STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,child,parent){\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(h,sci.impl.hierarchies.__GT_tag(child),parent);\n}));\n\n(sci.impl.hierarchies.isa_QMARK__STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.hierarchies.ancestors_STAR_ \x3d (function sci$impl$hierarchies$ancestors_STAR_(var_args){\nvar G__41043 \x3d arguments.length;\nswitch (G__41043) {\ncase 1:\nreturn sci.impl.hierarchies.ancestors_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.hierarchies.ancestors_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.ancestors_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nvar h \x3d cljs.core.deref(sci.impl.hierarchies.global_hierarchy());\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.ancestors_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.ancestors_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.hierarchies.descendants_STAR_ \x3d (function sci$impl$hierarchies$descendants_STAR_(var_args){\nvar G__41053 \x3d arguments.length;\nswitch (G__41053) {\ncase 1:\nreturn sci.impl.hierarchies.descendants_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.hierarchies.descendants_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.descendants_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nvar h \x3d cljs.core.deref(sci.impl.hierarchies.global_hierarchy());\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.descendants_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.descendants_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.hierarchies.parents_STAR_ \x3d (function sci$impl$hierarchies$parents_STAR_(var_args){\nvar G__41059 \x3d arguments.length;\nswitch (G__41059) {\ncase 1:\nreturn sci.impl.hierarchies.parents_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.hierarchies.parents_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.parents_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nvar h \x3d cljs.core.deref(sci.impl.hierarchies.global_hierarchy());\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.parents_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.parents_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("sci.impl.multimethods.js", true, "goog.provide(\x27sci.impl.multimethods\x27);\n/**\n * Throws an exception if the given option map contains keys not listed\n *   as valid, else returns nil.\n */\nsci.impl.multimethods.check_valid_options \x3d (function sci$impl$multimethods$check_valid_options(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41371 \x3d arguments.length;\nvar i__5750__auto___41372 \x3d (0);\nwhile(true){\nif((i__5750__auto___41372 \x3c len__5749__auto___41371)){\nargs__5755__auto__.push((arguments[i__5750__auto___41372]));\n\nvar G__41373 \x3d (i__5750__auto___41372 + (1));\ni__5750__auto___41372 \x3d G__41373;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.multimethods.check_valid_options.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.multimethods.check_valid_options.cljs$core$IFn$_invoke$arity$variadic \x3d (function (options,valid_keys){\nif(cljs.core.seq(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.keys(options)),valid_keys))){\nvar message \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.str,\x22Only these options are valid: \x22,cljs.core.first(valid_keys),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__41279_SHARP_){\nreturn [\x22, \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__41279_SHARP_)].join(\x27\x27);\n}),cljs.core.rest(valid_keys)));\nthrow (new Error(message));\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.multimethods.check_valid_options.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.multimethods.check_valid_options.cljs$lang$applyTo \x3d (function (seq41280){\nvar G__41282 \x3d cljs.core.first(seq41280);\nvar seq41280__$1 \x3d cljs.core.next(seq41280);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__41282,seq41280__$1);\n}));\n\n/**\n * Creates a new multimethod with the associated dispatch function.\n *   The docstring and attr-map are optional.\n * \n *   Options are key-value pairs and may be one of:\n * \n *   :default\n * \n *   The default dispatch value, defaults to :default\n * \n *   :hierarchy\n * \n *   The value used for hierarchical dispatch (e.g. ::square is-a ::shape)\n * \n *   Hierarchies are type-like relationships that do not depend upon type\n *   inheritance. By default Clojure\x27s multimethods dispatch off of a\n *   global hierarchy map.  However, a hierarchy relationship can be\n *   created with the derive function used to augment the root ancestor\n *   created with make-hierarchy.\n * \n *   Multimethods expect the value of the hierarchy option to be supplied as\n *   a reference type e.g. a var (i.e. via the Var-quote dispatch macro #\x27\n *   or the var special form).\n */\nsci.impl.multimethods.defmulti \x3d (function sci$impl$multimethods$defmulti(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41374 \x3d arguments.length;\nvar i__5750__auto___41375 \x3d (0);\nwhile(true){\nif((i__5750__auto___41375 \x3c len__5749__auto___41374)){\nargs__5755__auto__.push((arguments[i__5750__auto___41375]));\n\nvar G__41376 \x3d (i__5750__auto___41375 + (1));\ni__5750__auto___41375 \x3d G__41376;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.multimethods.defmulti.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.multimethods.defmulti.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,mm_name,options){\nvar docstring \x3d ((typeof cljs.core.first(options) \x3d\x3d\x3d \x27string\x27)?cljs.core.first(options):null);\nvar options__$1 \x3d ((typeof cljs.core.first(options) \x3d\x3d\x3d \x27string\x27)?cljs.core.next(options):options);\nvar m \x3d ((cljs.core.map_QMARK_(cljs.core.first(options__$1)))?cljs.core.first(options__$1):cljs.core.PersistentArrayMap.EMPTY);\nvar options__$2 \x3d ((cljs.core.map_QMARK_(cljs.core.first(options__$1)))?cljs.core.next(options__$1):options__$1);\nvar dispatch_fn \x3d cljs.core.first(options__$2);\nvar options__$3 \x3d cljs.core.next(options__$2);\nvar m__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):m);\nvar m__$2 \x3d (cljs.core.truth_(cljs.core.meta(mm_name))?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(mm_name),m__$1):m__$1);\nvar mm_name__$1 \x3d cljs.core.with_meta(mm_name,m__$2);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(options__$3),(1))){\nthrow (new Error(\x22The syntax for defmulti has changed. Example: (defmulti name dispatch-fn :default dispatch-value)\x22));\n} else {\n}\n\nvar options__$4 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,options__$3);\nvar default$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(options__$4,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328));\nvar hierarchy \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(options__$4,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),sci.impl.hierarchies.global_hierarchy());\nsci.impl.multimethods.check_valid_options.cljs$core$IFn$_invoke$arity$variadic(options__$4,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341)], 0));\n\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defonce\x22,\x22cljs.core/defonce\x22,-1291833100,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(mm_name__$1,m__$2),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22method-table__41296__auto__\x22,\x22method-table__41296__auto__\x22,102730841,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22atom\x22,\x22cljs.core/atom\x22,1943839529,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22prefer-table__41297__auto__\x22,\x22prefer-table__41297__auto__\x22,-1555681679,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22atom\x22,\x22cljs.core/atom\x22,1943839529,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method-cache__41298__auto__\x22,\x22method-cache__41298__auto__\x22,575500545,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22atom\x22,\x22cljs.core/atom\x22,1943839529,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22cached-hierarchy__41299__auto__\x22,\x22cached-hierarchy__41299__auto__\x22,2131533719,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22atom\x22,\x22cljs.core/atom\x22,1943839529,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22multi-fn-impl\x22,\x22cljs.core/multi-fn-impl\x22,1399453884,null),null,(1),null)),(new cljs.core.List(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(mm_name__$1)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,dispatch_fn,null,(1),null)),(new cljs.core.List(null,default$,null,(1),null)),(new cljs.core.List(null,hierarchy,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method-table__41296__auto__\x22,\x22method-table__41296__auto__\x22,102730841,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22prefer-table__41297__auto__\x22,\x22prefer-table__41297__auto__\x22,-1555681679,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method-cache__41298__auto__\x22,\x22method-cache__41298__auto__\x22,575500545,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22cached-hierarchy__41299__auto__\x22,\x22cached-hierarchy__41299__auto__\x22,2131533719,null),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.multimethods.defmulti.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.multimethods.defmulti.cljs$lang$applyTo \x3d (function (seq41300){\nvar G__41301 \x3d cljs.core.first(seq41300);\nvar seq41300__$1 \x3d cljs.core.next(seq41300);\nvar G__41302 \x3d cljs.core.first(seq41300__$1);\nvar seq41300__$2 \x3d cljs.core.next(seq41300__$1);\nvar G__41303 \x3d cljs.core.first(seq41300__$2);\nvar seq41300__$3 \x3d cljs.core.next(seq41300__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__41301,G__41302,G__41303,seq41300__$3);\n}));\n\nsci.impl.multimethods.multi_fn_QMARK__impl \x3d (function sci$impl$multimethods$multi_fn_QMARK__impl(x){\nreturn (x instanceof cljs.core.MultiFn);\n});\nsci.impl.multimethods.multi_fn_impl \x3d (function sci$impl$multimethods$multi_fn_impl(name,dispatch_fn,default$,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nreturn (new cljs.core.MultiFn(name,dispatch_fn,default$,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy));\n});\nsci.impl.multimethods.multi_fn_add_method_impl \x3d (function sci$impl$multimethods$multi_fn_add_method_impl(multifn,dispatch_val,f){\nreturn cljs.core._add_method(multifn,dispatch_val,f);\n});\n/**\n * Creates and installs a new method of multimethod associated with dispatch-value. \n */\nsci.impl.multimethods.defmethod \x3d (function sci$impl$multimethods$defmethod(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41387 \x3d arguments.length;\nvar i__5750__auto___41388 \x3d (0);\nwhile(true){\nif((i__5750__auto___41388 \x3c len__5749__auto___41387)){\nargs__5755__auto__.push((arguments[i__5750__auto___41388]));\n\nvar G__41390 \x3d (i__5750__auto___41388 + (1));\ni__5750__auto___41388 \x3d G__41390;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.multimethods.defmethod.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.multimethods.defmethod.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_x,_y,multifn,dispatch_val,fn_tail){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22multi-fn-add-method-impl\x22,\x22clojure.core/multi-fn-add-method-impl\x22,-1293834231,null),(new cljs.core.List(null,multifn,(new cljs.core.List(null,dispatch_val,(new cljs.core.List(null,cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),fn_tail),null,(1),null)),(2),null)),(3),null)),(4),null));\n}));\n\n(sci.impl.multimethods.defmethod.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.multimethods.defmethod.cljs$lang$applyTo \x3d (function (seq41338){\nvar G__41339 \x3d cljs.core.first(seq41338);\nvar seq41338__$1 \x3d cljs.core.next(seq41338);\nvar G__41340 \x3d cljs.core.first(seq41338__$1);\nvar seq41338__$2 \x3d cljs.core.next(seq41338__$1);\nvar G__41341 \x3d cljs.core.first(seq41338__$2);\nvar seq41338__$3 \x3d cljs.core.next(seq41338__$2);\nvar G__41342 \x3d cljs.core.first(seq41338__$3);\nvar seq41338__$4 \x3d cljs.core.next(seq41338__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__41339,G__41340,G__41341,G__41342,seq41338__$4);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.protocols.js", true, "goog.provide(\x27sci.impl.protocols\x27);\nsci.impl.protocols.extend_default_val \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22sci.impl.protocols\x22,\x22default\x22,\x22sci.impl.protocols/default\x22,-1134880191,null));\nsci.impl.protocols.default_QMARK_ \x3d (function sci$impl$protocols$default_QMARK_(_ctx,sym){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(sci.impl.protocols.extend_default_val,sym);\n});\nsci.impl.protocols.__GT_sigs \x3d (function sci$impl$protocols$__GT_sigs(signatures){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__42582){\nvar vec__42584 \x3d p__42582;\nvar seq__42585 \x3d cljs.core.seq(vec__42584);\nvar first__42586 \x3d cljs.core.first(seq__42585);\nvar seq__42585__$1 \x3d cljs.core.next(seq__42585);\nvar name \x3d first__42586;\nvar arglists \x3d seq__42585__$1;\nvar l \x3d cljs.core.last(arglists);\nvar vec__42589 \x3d ((typeof l \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.butlast(arglists),l], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arglists,null], null));\nvar arglists__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42589,(0),null);\nvar doc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42589,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),arglists__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),doc], null)], null);\n}),signatures));\n});\nsci.impl.protocols.defprotocol \x3d (function sci$impl$protocols$defprotocol(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43611 \x3d arguments.length;\nvar i__5750__auto___43612 \x3d (0);\nwhile(true){\nif((i__5750__auto___43612 \x3c len__5749__auto___43611)){\nargs__5755__auto__.push((arguments[i__5750__auto___43612]));\n\nvar G__43613 \x3d (i__5750__auto___43612 + (1));\ni__5750__auto___43612 \x3d G__43613;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.protocols.defprotocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.protocols.defprotocol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,protocol_name,signatures){\nvar vec__42659 \x3d (function (){var sig \x3d cljs.core.first(signatures);\nif(typeof sig \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sig,cljs.core.rest(signatures)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,signatures], null);\n}\n})();\nvar docstring \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42659,(0),null);\nvar signatures__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42659,(1),null);\nvar vec__42662 \x3d (function (){var opt \x3d cljs.core.first(signatures__$1);\nif((opt instanceof cljs.core.Keyword)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentArrayMap.createAsIfByAssoc([opt,cljs.core.second(signatures__$1)]),cljs.core.nnext(signatures__$1)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,signatures__$1], null);\n}\n})();\nvar opts \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42662,(0),null);\nvar signatures__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42662,(1),null);\nvar sigs_map \x3d sci.impl.protocols.__GT_sigs(signatures__$2);\nvar current_ns \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.utils.current_ns_name());\nvar fq_protocol_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name));\nvar extend_meta \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(opts);\nvar expansion \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(protocol_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring], null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22cond-\x3e\x22,\x22cljs.core/cond-\x3e\x22,-113941356,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,fq_protocol_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22*ns*\x22,\x22cljs.core/*ns*\x22,1155497085,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22sigs\x22,\x22sigs\x22,-1653119622),null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,sigs_map,null,(1),null)),(2),null)),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,fq_protocol_name,null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,extend_meta,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assoc\x22,\x22cljs.core/assoc\x22,322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,true,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__42692){\nvar vec__42694 \x3d p__42692;\nvar seq__42695 \x3d cljs.core.seq(vec__42694);\nvar first__42696 \x3d cljs.core.first(seq__42695);\nvar seq__42695__$1 \x3d cljs.core.next(seq__42695);\nvar method_name \x3d first__42696;\nvar ___$2 \x3d seq__42695__$1;\nvar fq_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(method_name));\nvar method_meta \x3d cljs.core.select_keys(cljs.core.get.cljs$core$IFn$_invoke$arity$2(sigs_map,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754)], null));\nvar method_meta__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(method_meta,new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,fq_protocol_name,null,(1),null)),(2),null)));\nvar method_meta__$2 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(method_meta__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),(function (a){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,a,null,(1),null)),(2),null));\n}));\nvar impls \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmulti\x22,\x22cljs.core/defmulti\x22,723984225,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,method_meta__$2,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22protocol-type-impl\x22,\x22cljs.core/protocol-type-impl\x22,155177701,null),null,(1),null))], 0)))),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42601__auto__\x22,\x22x__42601__auto__\x22,301177903,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42602__auto__\x22,\x22args__42602__auto__\x22,-875691221,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22methods__42603__auto__\x22,\x22methods__42603__auto__\x22,804601793,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-reified-methods\x22,\x22cljs.core/-reified-methods\x22,-1833109469,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42601__auto__\x22,\x22x__42601__auto__\x22,301177903,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__42604__auto__\x22,\x22m__42604__auto__\x22,966401625,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22methods__42603__auto__\x22,\x22methods__42603__auto__\x22,804601793,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__42604__auto__\x22,\x22m__42604__auto__\x22,966401625,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42601__auto__\x22,\x22x__42601__auto__\x22,301177903,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42602__auto__\x22,\x22args__42602__auto__\x22,-875691221,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__42605__auto__\x22,\x22default__42605__auto__\x22,-269041138,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__42605__auto__\x22,\x22default__42605__auto__\x22,-269041138,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42601__auto__\x22,\x22x__42601__auto__\x22,301177903,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42602__auto__\x22,\x22args__42602__auto__\x22,-875691221,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22ex-info\x22,\x22cljs.core/ex-info\x22,-409744395,null),null,(1),null)),(new cljs.core.List(null,\x22No method \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,\x22 found for: \x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42601__auto__\x22,\x22x__42601__auto__\x22,301177903,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))], null);\nvar impls__$1 \x3d (cljs.core.truth_(extend_meta)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(impls,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42610__auto__\x22,\x22x__42610__auto__\x22,-513698104,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42611__auto__\x22,\x22args__42611__auto__\x22,2113698948,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__42612__auto__\x22,\x22meta__42612__auto__\x22,361751699,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42610__auto__\x22,\x22x__42610__auto__\x22,-513698104,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__42613__auto__\x22,\x22method__42613__auto__\x22,444036894,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__42612__auto__\x22,\x22meta__42612__auto__\x22,361751699,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,fq_name,null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__42613__auto__\x22,\x22method__42613__auto__\x22,444036894,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__42613__auto__\x22,\x22method__42613__auto__\x22,444036894,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42610__auto__\x22,\x22x__42610__auto__\x22,-513698104,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42611__auto__\x22,\x22args__42611__auto__\x22,2113698948,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__42613__auto__\x22,\x22method__42613__auto__\x22,444036894,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42610__auto__\x22,\x22x__42610__auto__\x22,-513698104,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__42616__auto__\x22,\x22default__42616__auto__\x22,-2034286577,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__42613__auto__\x22,\x22method__42613__auto__\x22,444036894,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__42616__auto__\x22,\x22default__42616__auto__\x22,-2034286577,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__42613__auto__\x22,\x22method__42613__auto__\x22,444036894,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42610__auto__\x22,\x22x__42610__auto__\x22,-513698104,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42611__auto__\x22,\x22args__42611__auto__\x22,2113698948,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22No implementation of method: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name),null,(1),null)),(new cljs.core.List(null,\x22 of protocol: \x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,\x22 found for: \x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22protocol-type-impl\x22,\x22cljs.core/protocol-type-impl\x22,155177701,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42610__auto__\x22,\x22x__42610__auto__\x22,-513698104,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))):cljs.core.conj.cljs$core$IFn$_invoke$arity$2(impls,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42623__auto__\x22,\x22x__42623__auto__\x22,976349210,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42624__auto__\x22,\x22args__42624__auto__\x22,-1435390600,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__42625__auto__\x22,\x22method__42625__auto__\x22,1275895256,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42623__auto__\x22,\x22x__42623__auto__\x22,976349210,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__42626__auto__\x22,\x22default__42626__auto__\x22,426612289,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__42625__auto__\x22,\x22method__42625__auto__\x22,1275895256,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__42626__auto__\x22,\x22default__42626__auto__\x22,426612289,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__42625__auto__\x22,\x22method__42625__auto__\x22,1275895256,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42623__auto__\x22,\x22x__42623__auto__\x22,976349210,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42624__auto__\x22,\x22args__42624__auto__\x22,-1435390600,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22No implementation of method: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name),null,(1),null)),(new cljs.core.List(null,\x22 of protocol: \x22,null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,fq_protocol_name,null,(1),null)),(2),null)),null,(1),null)),(new cljs.core.List(null,\x22 found for: \x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22protocol-type-impl\x22,\x22cljs.core/protocol-type-impl\x22,155177701,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__42623__auto__\x22,\x22x__42623__auto__\x22,976349210,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),impls__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22update\x22,\x22cljs.core/update\x22,-908565906,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22conj\x22,\x22cljs.core/conj\x22,-460750931,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}),signatures__$2),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,protocol_name,null,(1),null)),(2),null)),null,(1),null))], 0))));\nreturn expansion;\n}));\n\n(sci.impl.protocols.defprotocol.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.protocols.defprotocol.cljs$lang$applyTo \x3d (function (seq42641){\nvar G__42642 \x3d cljs.core.first(seq42641);\nvar seq42641__$1 \x3d cljs.core.next(seq42641);\nvar G__42643 \x3d cljs.core.first(seq42641__$1);\nvar seq42641__$2 \x3d cljs.core.next(seq42641__$1);\nvar G__42644 \x3d cljs.core.first(seq42641__$2);\nvar seq42641__$3 \x3d cljs.core.next(seq42641__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__42642,G__42643,G__42644,seq42641__$3);\n}));\n\nsci.impl.protocols.extend \x3d (function sci$impl$protocols$extend(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43635 \x3d arguments.length;\nvar i__5750__auto___43636 \x3d (0);\nwhile(true){\nif((i__5750__auto___43636 \x3c len__5749__auto___43635)){\nargs__5755__auto__.push((arguments[i__5750__auto___43636]));\n\nvar G__43637 \x3d (i__5750__auto___43636 + (1));\ni__5750__auto___43636 \x3d G__43637;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.protocols.extend.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.protocols.extend.cljs$core$IFn$_invoke$arity$variadic \x3d (function (atype,proto_PLUS_mmaps){\nvar seq__42934 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),proto_PLUS_mmaps));\nvar chunk__42937 \x3d null;\nvar count__42938 \x3d (0);\nvar i__42939 \x3d (0);\nwhile(true){\nif((i__42939 \x3c count__42938)){\nvar vec__43259 \x3d chunk__42937.cljs$core$IIndexed$_nth$arity$2(null,i__42939);\nvar proto \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43259,(0),null);\nvar mmap \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43259,(1),null);\nvar extend_via_metadata_43638 \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(proto);\nvar proto_ns_43639 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(proto);\nvar pns_43640 \x3d sci.impl.types.getName(proto_ns_43639);\nvar pns_str_43641 \x3d (cljs.core.truth_(extend_via_metadata_43638)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(pns_43640):null);\nvar seq__43262_43642 \x3d cljs.core.seq(mmap);\nvar chunk__43263_43643 \x3d null;\nvar count__43264_43644 \x3d (0);\nvar i__43265_43645 \x3d (0);\nwhile(true){\nif((i__43265_43645 \x3c count__43264_43644)){\nvar vec__43286_43646 \x3d chunk__43263_43643.cljs$core$IIndexed$_nth$arity$2(null,i__43265_43645);\nvar meth_name_43647 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43286_43646,(0),null);\nvar f_43648 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43286_43646,(1),null);\nvar meth_str_43650 \x3d cljs.core.name(meth_name_43647);\nvar meth_sym_43651 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43650);\nvar env_43653 \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\nvar multi_method_var_43656 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43653,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),pns_43640,meth_sym_43651], null));\nvar multi_method_43657 \x3d cljs.core.deref(multi_method_var_43656);\nsci.impl.multimethods.multi_fn_add_method_impl(multi_method_43657,atype,(cljs.core.truth_(extend_via_metadata_43638)?(function (){var fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43641,meth_str_43650);\nreturn ((function (seq__43262_43642,chunk__43263_43643,count__43264_43644,i__43265_43645,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43650,meth_sym_43651,env_43653,multi_method_var_43656,multi_method_43657,vec__43286_43646,meth_name_43647,f_43648,extend_via_metadata_43638,proto_ns_43639,pns_43640,pns_str_43641,vec__43259,proto,mmap){\nreturn (function() { \nvar G__43658__delegate \x3d function (this$,args){\nvar temp__5802__auto__ \x3d cljs.core.meta(this$);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar m \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar meth \x3d temp__5802__auto____$1;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43648,this$,args);\n}\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43648,this$,args);\n}\n};\nvar G__43658 \x3d function (this$,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43659__i \x3d 0, G__43659__a \x3d new Array(arguments.length -  1);\nwhile (G__43659__i \x3c G__43659__a.length) {G__43659__a[G__43659__i] \x3d arguments[G__43659__i + 1]; ++G__43659__i;}\n  args \x3d new cljs.core.IndexedSeq(G__43659__a,0,null);\n} \nreturn G__43658__delegate.call(this,this$,args);};\nG__43658.cljs$lang$maxFixedArity \x3d 1;\nG__43658.cljs$lang$applyTo \x3d (function (arglist__43660){\nvar this$ \x3d cljs.core.first(arglist__43660);\nvar args \x3d cljs.core.rest(arglist__43660);\nreturn G__43658__delegate(this$,args);\n});\nG__43658.cljs$core$IFn$_invoke$arity$variadic \x3d G__43658__delegate;\nreturn G__43658;\n})()\n;\n;})(seq__43262_43642,chunk__43263_43643,count__43264_43644,i__43265_43645,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43650,meth_sym_43651,env_43653,multi_method_var_43656,multi_method_43657,vec__43286_43646,meth_name_43647,f_43648,extend_via_metadata_43638,proto_ns_43639,pns_43640,pns_str_43641,vec__43259,proto,mmap))\n})():f_43648));\n\n\nvar G__43661 \x3d seq__43262_43642;\nvar G__43662 \x3d chunk__43263_43643;\nvar G__43663 \x3d count__43264_43644;\nvar G__43664 \x3d (i__43265_43645 + (1));\nseq__43262_43642 \x3d G__43661;\nchunk__43263_43643 \x3d G__43662;\ncount__43264_43644 \x3d G__43663;\ni__43265_43645 \x3d G__43664;\ncontinue;\n} else {\nvar temp__5804__auto___43665 \x3d cljs.core.seq(seq__43262_43642);\nif(temp__5804__auto___43665){\nvar seq__43262_43667__$1 \x3d temp__5804__auto___43665;\nif(cljs.core.chunked_seq_QMARK_(seq__43262_43667__$1)){\nvar c__5548__auto___43671 \x3d cljs.core.chunk_first(seq__43262_43667__$1);\nvar G__43672 \x3d cljs.core.chunk_rest(seq__43262_43667__$1);\nvar G__43673 \x3d c__5548__auto___43671;\nvar G__43674 \x3d cljs.core.count(c__5548__auto___43671);\nvar G__43675 \x3d (0);\nseq__43262_43642 \x3d G__43672;\nchunk__43263_43643 \x3d G__43673;\ncount__43264_43644 \x3d G__43674;\ni__43265_43645 \x3d G__43675;\ncontinue;\n} else {\nvar vec__43294_43676 \x3d cljs.core.first(seq__43262_43667__$1);\nvar meth_name_43677 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43294_43676,(0),null);\nvar f_43678 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43294_43676,(1),null);\nvar meth_str_43679 \x3d cljs.core.name(meth_name_43677);\nvar meth_sym_43680 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43679);\nvar env_43681 \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\nvar multi_method_var_43682 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43681,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),pns_43640,meth_sym_43680], null));\nvar multi_method_43683 \x3d cljs.core.deref(multi_method_var_43682);\nsci.impl.multimethods.multi_fn_add_method_impl(multi_method_43683,atype,(cljs.core.truth_(extend_via_metadata_43638)?(function (){var fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43641,meth_str_43679);\nreturn ((function (seq__43262_43642,chunk__43263_43643,count__43264_43644,i__43265_43645,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43679,meth_sym_43680,env_43681,multi_method_var_43682,multi_method_43683,vec__43294_43676,meth_name_43677,f_43678,seq__43262_43667__$1,temp__5804__auto___43665,extend_via_metadata_43638,proto_ns_43639,pns_43640,pns_str_43641,vec__43259,proto,mmap){\nreturn (function() { \nvar G__43684__delegate \x3d function (this$,args){\nvar temp__5802__auto__ \x3d cljs.core.meta(this$);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar m \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar meth \x3d temp__5802__auto____$1;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43678,this$,args);\n}\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43678,this$,args);\n}\n};\nvar G__43684 \x3d function (this$,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43685__i \x3d 0, G__43685__a \x3d new Array(arguments.length -  1);\nwhile (G__43685__i \x3c G__43685__a.length) {G__43685__a[G__43685__i] \x3d arguments[G__43685__i + 1]; ++G__43685__i;}\n  args \x3d new cljs.core.IndexedSeq(G__43685__a,0,null);\n} \nreturn G__43684__delegate.call(this,this$,args);};\nG__43684.cljs$lang$maxFixedArity \x3d 1;\nG__43684.cljs$lang$applyTo \x3d (function (arglist__43686){\nvar this$ \x3d cljs.core.first(arglist__43686);\nvar args \x3d cljs.core.rest(arglist__43686);\nreturn G__43684__delegate(this$,args);\n});\nG__43684.cljs$core$IFn$_invoke$arity$variadic \x3d G__43684__delegate;\nreturn G__43684;\n})()\n;\n;})(seq__43262_43642,chunk__43263_43643,count__43264_43644,i__43265_43645,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43679,meth_sym_43680,env_43681,multi_method_var_43682,multi_method_43683,vec__43294_43676,meth_name_43677,f_43678,seq__43262_43667__$1,temp__5804__auto___43665,extend_via_metadata_43638,proto_ns_43639,pns_43640,pns_str_43641,vec__43259,proto,mmap))\n})():f_43678));\n\n\nvar G__43687 \x3d cljs.core.next(seq__43262_43667__$1);\nvar G__43688 \x3d null;\nvar G__43689 \x3d (0);\nvar G__43690 \x3d (0);\nseq__43262_43642 \x3d G__43687;\nchunk__43263_43643 \x3d G__43688;\ncount__43264_43644 \x3d G__43689;\ni__43265_43645 \x3d G__43690;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__43691 \x3d seq__42934;\nvar G__43692 \x3d chunk__42937;\nvar G__43693 \x3d count__42938;\nvar G__43694 \x3d (i__42939 + (1));\nseq__42934 \x3d G__43691;\nchunk__42937 \x3d G__43692;\ncount__42938 \x3d G__43693;\ni__42939 \x3d G__43694;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__42934);\nif(temp__5804__auto__){\nvar seq__42934__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__42934__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__42934__$1);\nvar G__43695 \x3d cljs.core.chunk_rest(seq__42934__$1);\nvar G__43696 \x3d c__5548__auto__;\nvar G__43697 \x3d cljs.core.count(c__5548__auto__);\nvar G__43698 \x3d (0);\nseq__42934 \x3d G__43695;\nchunk__42937 \x3d G__43696;\ncount__42938 \x3d G__43697;\ni__42939 \x3d G__43698;\ncontinue;\n} else {\nvar vec__43298 \x3d cljs.core.first(seq__42934__$1);\nvar proto \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43298,(0),null);\nvar mmap \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43298,(1),null);\nvar extend_via_metadata_43699 \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(proto);\nvar proto_ns_43700 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(proto);\nvar pns_43701 \x3d sci.impl.types.getName(proto_ns_43700);\nvar pns_str_43702 \x3d (cljs.core.truth_(extend_via_metadata_43699)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(pns_43701):null);\nvar seq__43301_43704 \x3d cljs.core.seq(mmap);\nvar chunk__43302_43705 \x3d null;\nvar count__43303_43706 \x3d (0);\nvar i__43304_43707 \x3d (0);\nwhile(true){\nif((i__43304_43707 \x3c count__43303_43706)){\nvar vec__43333_43708 \x3d chunk__43302_43705.cljs$core$IIndexed$_nth$arity$2(null,i__43304_43707);\nvar meth_name_43709 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43333_43708,(0),null);\nvar f_43710 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43333_43708,(1),null);\nvar meth_str_43711 \x3d cljs.core.name(meth_name_43709);\nvar meth_sym_43712 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43711);\nvar env_43713 \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\nvar multi_method_var_43714 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43713,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),pns_43701,meth_sym_43712], null));\nvar multi_method_43715 \x3d cljs.core.deref(multi_method_var_43714);\nsci.impl.multimethods.multi_fn_add_method_impl(multi_method_43715,atype,(cljs.core.truth_(extend_via_metadata_43699)?(function (){var fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43702,meth_str_43711);\nreturn ((function (seq__43301_43704,chunk__43302_43705,count__43303_43706,i__43304_43707,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43711,meth_sym_43712,env_43713,multi_method_var_43714,multi_method_43715,vec__43333_43708,meth_name_43709,f_43710,extend_via_metadata_43699,proto_ns_43700,pns_43701,pns_str_43702,vec__43298,proto,mmap,seq__42934__$1,temp__5804__auto__){\nreturn (function() { \nvar G__43716__delegate \x3d function (this$,args){\nvar temp__5802__auto__ \x3d cljs.core.meta(this$);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar m \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar meth \x3d temp__5802__auto____$1;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43710,this$,args);\n}\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43710,this$,args);\n}\n};\nvar G__43716 \x3d function (this$,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43717__i \x3d 0, G__43717__a \x3d new Array(arguments.length -  1);\nwhile (G__43717__i \x3c G__43717__a.length) {G__43717__a[G__43717__i] \x3d arguments[G__43717__i + 1]; ++G__43717__i;}\n  args \x3d new cljs.core.IndexedSeq(G__43717__a,0,null);\n} \nreturn G__43716__delegate.call(this,this$,args);};\nG__43716.cljs$lang$maxFixedArity \x3d 1;\nG__43716.cljs$lang$applyTo \x3d (function (arglist__43718){\nvar this$ \x3d cljs.core.first(arglist__43718);\nvar args \x3d cljs.core.rest(arglist__43718);\nreturn G__43716__delegate(this$,args);\n});\nG__43716.cljs$core$IFn$_invoke$arity$variadic \x3d G__43716__delegate;\nreturn G__43716;\n})()\n;\n;})(seq__43301_43704,chunk__43302_43705,count__43303_43706,i__43304_43707,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43711,meth_sym_43712,env_43713,multi_method_var_43714,multi_method_43715,vec__43333_43708,meth_name_43709,f_43710,extend_via_metadata_43699,proto_ns_43700,pns_43701,pns_str_43702,vec__43298,proto,mmap,seq__42934__$1,temp__5804__auto__))\n})():f_43710));\n\n\nvar G__43719 \x3d seq__43301_43704;\nvar G__43720 \x3d chunk__43302_43705;\nvar G__43721 \x3d count__43303_43706;\nvar G__43722 \x3d (i__43304_43707 + (1));\nseq__43301_43704 \x3d G__43719;\nchunk__43302_43705 \x3d G__43720;\ncount__43303_43706 \x3d G__43721;\ni__43304_43707 \x3d G__43722;\ncontinue;\n} else {\nvar temp__5804__auto___43723__$1 \x3d cljs.core.seq(seq__43301_43704);\nif(temp__5804__auto___43723__$1){\nvar seq__43301_43724__$1 \x3d temp__5804__auto___43723__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__43301_43724__$1)){\nvar c__5548__auto___43725 \x3d cljs.core.chunk_first(seq__43301_43724__$1);\nvar G__43726 \x3d cljs.core.chunk_rest(seq__43301_43724__$1);\nvar G__43727 \x3d c__5548__auto___43725;\nvar G__43728 \x3d cljs.core.count(c__5548__auto___43725);\nvar G__43729 \x3d (0);\nseq__43301_43704 \x3d G__43726;\nchunk__43302_43705 \x3d G__43727;\ncount__43303_43706 \x3d G__43728;\ni__43304_43707 \x3d G__43729;\ncontinue;\n} else {\nvar vec__43342_43730 \x3d cljs.core.first(seq__43301_43724__$1);\nvar meth_name_43731 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43342_43730,(0),null);\nvar f_43732 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43342_43730,(1),null);\nvar meth_str_43733 \x3d cljs.core.name(meth_name_43731);\nvar meth_sym_43734 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43733);\nvar env_43735 \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\nvar multi_method_var_43736 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43735,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),pns_43701,meth_sym_43734], null));\nvar multi_method_43737 \x3d cljs.core.deref(multi_method_var_43736);\nsci.impl.multimethods.multi_fn_add_method_impl(multi_method_43737,atype,(cljs.core.truth_(extend_via_metadata_43699)?(function (){var fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43702,meth_str_43733);\nreturn ((function (seq__43301_43704,chunk__43302_43705,count__43303_43706,i__43304_43707,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43733,meth_sym_43734,env_43735,multi_method_var_43736,multi_method_43737,vec__43342_43730,meth_name_43731,f_43732,seq__43301_43724__$1,temp__5804__auto___43723__$1,extend_via_metadata_43699,proto_ns_43700,pns_43701,pns_str_43702,vec__43298,proto,mmap,seq__42934__$1,temp__5804__auto__){\nreturn (function() { \nvar G__43738__delegate \x3d function (this$,args){\nvar temp__5802__auto__ \x3d cljs.core.meta(this$);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar m \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar meth \x3d temp__5802__auto____$1;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43732,this$,args);\n}\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43732,this$,args);\n}\n};\nvar G__43738 \x3d function (this$,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43740__i \x3d 0, G__43740__a \x3d new Array(arguments.length -  1);\nwhile (G__43740__i \x3c G__43740__a.length) {G__43740__a[G__43740__i] \x3d arguments[G__43740__i + 1]; ++G__43740__i;}\n  args \x3d new cljs.core.IndexedSeq(G__43740__a,0,null);\n} \nreturn G__43738__delegate.call(this,this$,args);};\nG__43738.cljs$lang$maxFixedArity \x3d 1;\nG__43738.cljs$lang$applyTo \x3d (function (arglist__43741){\nvar this$ \x3d cljs.core.first(arglist__43741);\nvar args \x3d cljs.core.rest(arglist__43741);\nreturn G__43738__delegate(this$,args);\n});\nG__43738.cljs$core$IFn$_invoke$arity$variadic \x3d G__43738__delegate;\nreturn G__43738;\n})()\n;\n;})(seq__43301_43704,chunk__43302_43705,count__43303_43706,i__43304_43707,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43733,meth_sym_43734,env_43735,multi_method_var_43736,multi_method_43737,vec__43342_43730,meth_name_43731,f_43732,seq__43301_43724__$1,temp__5804__auto___43723__$1,extend_via_metadata_43699,proto_ns_43700,pns_43701,pns_str_43702,vec__43298,proto,mmap,seq__42934__$1,temp__5804__auto__))\n})():f_43732));\n\n\nvar G__43743 \x3d cljs.core.next(seq__43301_43724__$1);\nvar G__43744 \x3d null;\nvar G__43745 \x3d (0);\nvar G__43746 \x3d (0);\nseq__43301_43704 \x3d G__43743;\nchunk__43302_43705 \x3d G__43744;\ncount__43303_43706 \x3d G__43745;\ni__43304_43707 \x3d G__43746;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__43747 \x3d cljs.core.next(seq__42934__$1);\nvar G__43748 \x3d null;\nvar G__43749 \x3d (0);\nvar G__43750 \x3d (0);\nseq__42934 \x3d G__43747;\nchunk__42937 \x3d G__43748;\ncount__42938 \x3d G__43749;\ni__42939 \x3d G__43750;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(sci.impl.protocols.extend.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.protocols.extend.cljs$lang$applyTo \x3d (function (seq42924){\nvar G__42925 \x3d cljs.core.first(seq42924);\nvar seq42924__$1 \x3d cljs.core.next(seq42924);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__42925,seq42924__$1);\n}));\n\n/**\n * Processes single args+body pair for extending via metadata\n */\nsci.impl.protocols.process_single_extend_meta \x3d (function sci$impl$protocols$process_single_extend_meta(fq,p__43365,default_method_QMARK_){\nvar vec__43366 \x3d p__43365;\nvar seq__43367 \x3d cljs.core.seq(vec__43366);\nvar first__43368 \x3d cljs.core.first(seq__43367);\nvar seq__43367__$1 \x3d cljs.core.next(seq__43367);\nvar args \x3d first__43368;\nvar body \x3d seq__43367__$1;\nreturn (new cljs.core.List(null,args,(new cljs.core.List(null,(cljs.core.truth_(default_method_QMARK_)?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43356__auto__\x22,\x22farg__43356__auto__\x22,1722841654,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43357__auto__\x22,\x22m__43357__auto__\x22,-1256252281,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43356__auto__\x22,\x22farg__43356__auto__\x22,1722841654,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43358__auto__\x22,\x22meth__43358__auto__\x22,-1272288892,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43357__auto__\x22,\x22m__43357__auto__\x22,-1256252281,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43358__auto__\x22,\x22meth__43358__auto__\x22,-1272288892,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43358__auto__\x22,\x22meth__43358__auto__\x22,-1272288892,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43356__auto__\x22,\x22farg__43356__auto__\x22,1722841654,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43360__auto__\x22,\x22default__43360__auto__\x22,259975546,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43360__auto__\x22,\x22default__43360__auto__\x22,259975546,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43358__auto__\x22,\x22meth__43358__auto__\x22,-1272288892,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43358__auto__\x22,\x22meth__43358__auto__\x22,-1272288892,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43358__auto__\x22,\x22meth__43358__auto__\x22,-1272288892,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43356__auto__\x22,\x22farg__43356__auto__\x22,1722841654,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43360__auto__\x22,\x22default__43360__auto__\x22,259975546,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43360__auto__\x22,\x22default__43360__auto__\x22,259975546,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43358__auto__\x22,\x22meth__43358__auto__\x22,-1272288892,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43358__auto__\x22,\x22meth__43358__auto__\x22,-1272288892,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))):cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43361__auto__\x22,\x22farg__43361__auto__\x22,28850410,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43362__auto__\x22,\x22m__43362__auto__\x22,32103090,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43361__auto__\x22,\x22farg__43361__auto__\x22,28850410,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43363__auto__\x22,\x22meth__43363__auto__\x22,756259232,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43362__auto__\x22,\x22m__43362__auto__\x22,32103090,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43363__auto__\x22,\x22meth__43363__auto__\x22,756259232,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),(2),null));\n});\nsci.impl.protocols.process_single \x3d (function sci$impl$protocols$process_single(fq,p__43429){\nvar vec__43430 \x3d p__43429;\nvar seq__43431 \x3d cljs.core.seq(vec__43430);\nvar first__43432 \x3d cljs.core.first(seq__43431);\nvar seq__43431__$1 \x3d cljs.core.next(seq__43431);\nvar args \x3d first__43432;\nvar body \x3d seq__43431__$1;\nreturn (new cljs.core.List(null,args,(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43423__auto__\x22,\x22farg__43423__auto__\x22,1905825111,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43425__auto__\x22,\x22meth__43425__auto__\x22,-1386137286,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43423__auto__\x22,\x22farg__43423__auto__\x22,1905825111,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43426__auto__\x22,\x22default__43426__auto__\x22,-68140947,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43426__auto__\x22,\x22default__43426__auto__\x22,-68140947,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43425__auto__\x22,\x22meth__43425__auto__\x22,-1386137286,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43425__auto__\x22,\x22meth__43425__auto__\x22,-1386137286,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(2),null));\n});\nsci.impl.protocols.process_methods \x3d (function sci$impl$protocols$process_methods(ctx,type,meths,protocol_ns,extend_via_metadata){\nvar default_method_QMARK_ \x3d sci.impl.protocols.default_QMARK_(ctx,type);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43473){\nvar vec__43474 \x3d p__43473;\nvar seq__43475 \x3d cljs.core.seq(vec__43474);\nvar first__43476 \x3d cljs.core.first(seq__43475);\nvar seq__43475__$1 \x3d cljs.core.next(seq__43475);\nvar meth_name \x3d first__43476;\nvar fn_body \x3d seq__43475__$1;\nvar fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(protocol_ns,cljs.core.name(meth_name));\nvar fn_body__$1 \x3d (cljs.core.truth_(extend_via_metadata)?((cljs.core.vector_QMARK_(cljs.core.first(fn_body)))?sci.impl.protocols.process_single_extend_meta(fq,fn_body,default_method_QMARK_):cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__43463_SHARP_){\nreturn sci.impl.protocols.process_single_extend_meta(fq,p1__43463_SHARP_,default_method_QMARK_);\n}),fn_body)):((default_method_QMARK_)?((cljs.core.vector_QMARK_(cljs.core.first(fn_body)))?sci.impl.protocols.process_single(fq,fn_body):cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__43464_SHARP_){\nreturn sci.impl.protocols.process_single(fq,p1__43464_SHARP_);\n}),fn_body)):fn_body\n));\nif(default_method_QMARK_){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null)),fn_body__$1], 0))));\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,type,null,(1),null)),fn_body__$1], 0))));\n}\n}),meths);\n});\nsci.impl.protocols.cljs_type_symbols \x3d new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Symbol(null,\x22default\x22,\x22default\x22,-347290801,null),sci.impl.protocols.extend_default_val,new cljs.core.Symbol(null,\x22object\x22,\x22object\x22,-1179821820,null),new cljs.core.Symbol(\x22js\x22,\x22Object\x22,\x22js/Object\x22,61215323,null),new cljs.core.Symbol(null,\x22string\x22,\x22string\x22,-349010059,null),new cljs.core.Symbol(\x22js\x22,\x22String\x22,\x22js/String\x22,-2070054036,null),new cljs.core.Symbol(null,\x22number\x22,\x22number\x22,-1084057331,null),new cljs.core.Symbol(\x22js\x22,\x22Number\x22,\x22js/Number\x22,-508133572,null),new cljs.core.Symbol(null,\x22array\x22,\x22array\x22,-440182315,null),new cljs.core.Symbol(\x22js\x22,\x22Array\x22,\x22js/Array\x22,-423508366,null),new cljs.core.Symbol(null,\x22function\x22,\x22function\x22,-486723946,null),new cljs.core.Symbol(\x22js\x22,\x22Function\x22,\x22js/Function\x22,-749892063,null),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Symbol(\x22js\x22,\x22Boolean\x22,\x22js/Boolean\x22,1661145260,null)], null);\nsci.impl.protocols.type__GT_str \x3d (function sci$impl$protocols$type__GT_str(t){\nif((!((t \x3d\x3d null)))){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(t);\n} else {\nreturn \x22nil\x22;\n}\n});\nsci.impl.protocols.extend_protocol \x3d (function sci$impl$protocols$extend_protocol(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43767 \x3d arguments.length;\nvar i__5750__auto___43768 \x3d (0);\nwhile(true){\nif((i__5750__auto___43768 \x3c len__5749__auto___43767)){\nargs__5755__auto__.push((arguments[i__5750__auto___43768]));\n\nvar G__43770 \x3d (i__5750__auto___43768 + (1));\ni__5750__auto___43768 \x3d G__43770;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.protocols.extend_protocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.protocols.extend_protocol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,protocol_name,impls){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar print_writer_QMARK_ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22IPrintWithWriter\x22,\x22IPrintWithWriter\x22,-1205316154,null),protocol_name);\nvar impls__$1 \x3d sci.impl.utils.split_when((function (p1__43483_SHARP_){\nreturn (!(cljs.core.seq_QMARK_(p1__43483_SHARP_)));\n}),impls);\nvar protocol_var \x3d (function (){var or__5025__auto__ \x3d (function (){var G__43495 \x3d ctx;\nvar G__43496 \x3d new cljs.core.Keyword(null,\x22bindingx\x22,\x22bindingx\x22,679516896).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__43497 \x3d protocol_name;\nvar fexpr__43494 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__43494.cljs$core$IFn$_invoke$arity$3 ? fexpr__43494.cljs$core$IFn$_invoke$arity$3(G__43495,G__43496,G__43497) : fexpr__43494.call(null,G__43495,G__43496,G__43497));\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d ((print_writer_QMARK_)?new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22IPrintWithWriter\x22,\x22sci.impl.protocols/IPrintWithWriter\x22,1832791161):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Protocol not found: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(\x27\x27),form);\n}\n}\n})();\nvar protocol_data \x3d ((sci.impl.utils.var_QMARK_(protocol_var))?cljs.core.deref(protocol_var):null);\nvar extend_via_metadata \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(protocol_data);\nvar protocol_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(protocol_data);\nvar pns \x3d (((protocol_var instanceof cljs.core.Keyword))?\x22sci.impl.protocols\x22:cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns)));\nvar expansion \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43499){\nvar vec__43500 \x3d p__43499;\nvar seq__43501 \x3d cljs.core.seq(vec__43500);\nvar first__43502 \x3d cljs.core.first(seq__43501);\nvar seq__43501__$1 \x3d cljs.core.next(seq__43501);\nvar type \x3d first__43502;\nvar meths \x3d seq__43501__$1;\nvar type__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.protocols.cljs_type_symbols,type,type);\nif(print_writer_QMARK_){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-meta!\x22,\x22cljs.core/alter-meta!\x22,574694262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,type__$1,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assoc\x22,\x22cljs.core/assoc\x22,322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(\x22sci.impl\x22,\x22print-method\x22,\x22sci.impl/print-method\x22,281191566),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),cljs.core.rest(cljs.core.first(meths))))),null,(1),null))], 0))));\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-var-root\x22,\x22cljs.core/alter-var-root\x22,-1342668238,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22update\x22,\x22cljs.core/update\x22,-908565906,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fnil\x22,\x22cljs.core/fnil\x22,479587341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22conj\x22,\x22cljs.core/conj\x22,-460750931,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.protocols\x22,\x22type-\x3estr\x22,\x22sci.impl.protocols/type-\x3estr\x22,1214133319,null),null,(1),null)),(new cljs.core.List(null,type__$1,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.protocols.process_methods(ctx,type__$1,meths,pns,extend_via_metadata)], 0))));\n}\n}),impls__$1))));\nreturn expansion;\n}));\n\n(sci.impl.protocols.extend_protocol.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.protocols.extend_protocol.cljs$lang$applyTo \x3d (function (seq43485){\nvar G__43486 \x3d cljs.core.first(seq43485);\nvar seq43485__$1 \x3d cljs.core.next(seq43485);\nvar G__43487 \x3d cljs.core.first(seq43485__$1);\nvar seq43485__$2 \x3d cljs.core.next(seq43485__$1);\nvar G__43488 \x3d cljs.core.first(seq43485__$2);\nvar seq43485__$3 \x3d cljs.core.next(seq43485__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43486,G__43487,G__43488,seq43485__$3);\n}));\n\nsci.impl.protocols.extend_type \x3d (function sci$impl$protocols$extend_type(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43793 \x3d arguments.length;\nvar i__5750__auto___43794 \x3d (0);\nwhile(true){\nif((i__5750__auto___43794 \x3c len__5749__auto___43793)){\nargs__5755__auto__.push((arguments[i__5750__auto___43794]));\n\nvar G__43795 \x3d (i__5750__auto___43794 + (1));\ni__5750__auto___43794 \x3d G__43795;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.protocols.extend_type.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.protocols.extend_type.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_env,atype,proto_PLUS_meths){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar atype__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.protocols.cljs_type_symbols,atype,atype);\nvar proto_PLUS_meths__$1 \x3d sci.impl.utils.split_when((function (p1__43511_SHARP_){\nreturn (!(cljs.core.seq_QMARK_(p1__43511_SHARP_)));\n}),proto_PLUS_meths);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43549){\nvar vec__43550 \x3d p__43549;\nvar seq__43551 \x3d cljs.core.seq(vec__43550);\nvar first__43552 \x3d cljs.core.first(seq__43551);\nvar seq__43551__$1 \x3d cljs.core.next(seq__43551);\nvar proto \x3d first__43552;\nvar meths \x3d seq__43551__$1;\nvar protocol_var \x3d (function (){var or__5025__auto__ \x3d (function (){var G__43561 \x3d ctx;\nvar G__43562 \x3d new cljs.core.Keyword(null,\x22bindingx\x22,\x22bindingx\x22,679516896).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__43563 \x3d proto;\nvar fexpr__43560 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__43560.cljs$core$IFn$_invoke$arity$3 ? fexpr__43560.cljs$core$IFn$_invoke$arity$3(G__43561,G__43562,G__43563) : fexpr__43560.call(null,G__43561,G__43562,G__43563));\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Protocol not found: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(proto)].join(\x27\x27),form);\n}\n})();\nvar proto_data \x3d cljs.core.deref(protocol_var);\nvar protocol_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(proto_data);\nvar pns \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns));\nvar extend_via_metadata \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(proto_data);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-var-root\x22,\x22cljs.core/alter-var-root\x22,-1342668238,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,proto,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22update\x22,\x22cljs.core/update\x22,-908565906,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fnil\x22,\x22cljs.core/fnil\x22,479587341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22conj\x22,\x22cljs.core/conj\x22,-460750931,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.protocols\x22,\x22type-\x3estr\x22,\x22sci.impl.protocols/type-\x3estr\x22,1214133319,null),null,(1),null)),(new cljs.core.List(null,atype__$1,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.protocols.process_methods(ctx,atype__$1,meths,pns,extend_via_metadata)], 0))));\n}),proto_PLUS_meths__$1))));\n}));\n\n(sci.impl.protocols.extend_type.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.protocols.extend_type.cljs$lang$applyTo \x3d (function (seq43515){\nvar G__43516 \x3d cljs.core.first(seq43515);\nvar seq43515__$1 \x3d cljs.core.next(seq43515);\nvar G__43517 \x3d cljs.core.first(seq43515__$1);\nvar seq43515__$2 \x3d cljs.core.next(seq43515__$1);\nvar G__43518 \x3d cljs.core.first(seq43515__$2);\nvar seq43515__$3 \x3d cljs.core.next(seq43515__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43516,G__43517,G__43518,seq43515__$3);\n}));\n\nsci.impl.protocols.find_matching_non_default_method \x3d (function sci$impl$protocols$find_matching_non_default_method(protocol,obj){\nvar or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218).cljs$core$IFn$_invoke$arity$1(protocol);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar sats \x3d temp__5804__auto__;\nvar or__5025__auto__ \x3d cljs.core.contains_QMARK_(sats,sci.impl.protocols.extend_default_val);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (((obj \x3d\x3d null))?cljs.core.contains_QMARK_(sats,\x22nil\x22):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar temp__5804__auto____$1 \x3d sci.impl.types.type_impl(obj);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar t \x3d temp__5804__auto____$1;\nreturn cljs.core.contains_QMARK_(sats,sci.impl.protocols.type__GT_str(t));\n} else {\nreturn null;\n}\n}\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.boolean$(cljs.core.some((function (p1__43565_SHARP_){\nvar temp__5804__auto__ \x3d cljs.core.get_method(p1__43565_SHARP_,sci.impl.types.type_impl(obj));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar m \x3d temp__5804__auto__;\nvar ms \x3d cljs.core.methods$(p1__43565_SHARP_);\nvar default$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ms,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328));\nreturn (!((m \x3d\x3d\x3d default$)));\n} else {\nreturn null;\n}\n}),new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866).cljs$core$IFn$_invoke$arity$1(protocol)));\n}\n});\nsci.impl.protocols.satisfies_QMARK_ \x3d (function sci$impl$protocols$satisfies_QMARK_(protocol,obj){\nif((obj instanceof sci.impl.types.Reified)){\nreturn cljs.core.contains_QMARK_(obj.sci$impl$types$IReified$getProtocols$arity$1(null),protocol);\n} else {\nvar p \x3d new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(protocol);\nvar or__5025__auto__ \x3d (function (){var and__5023__auto__ \x3d p;\nif(cljs.core.truth_(and__5023__auto__)){\nvar pred__43575 \x3d cljs.core._EQ_;\nvar expr__43576 \x3d p;\nif(cljs.core.truth_((pred__43575.cljs$core$IFn$_invoke$arity$2 ? pred__43575.cljs$core$IFn$_invoke$arity$2(cljs.core.IDeref,expr__43576) : pred__43575.call(null,cljs.core.IDeref,expr__43576)))){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IDeref$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj);\n}\n} else {\nif(cljs.core.truth_((pred__43575.cljs$core$IFn$_invoke$arity$2 ? pred__43575.cljs$core$IFn$_invoke$arity$2(cljs.core.ISwap,expr__43576) : pred__43575.call(null,cljs.core.ISwap,expr__43576)))){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition1$ \x26 (65536))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$ISwap$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISwap,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISwap,obj);\n}\n} else {\nif(cljs.core.truth_((pred__43575.cljs$core$IFn$_invoke$arity$2 ? pred__43575.cljs$core$IFn$_invoke$arity$2(cljs.core.IReset,expr__43576) : pred__43575.call(null,cljs.core.IReset,expr__43576)))){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition1$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IReset$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReset,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReset,obj);\n}\n} else {\nif(cljs.core.truth_((pred__43575.cljs$core$IFn$_invoke$arity$2 ? pred__43575.cljs$core$IFn$_invoke$arity$2(cljs.core.IRecord,expr__43576) : pred__43575.call(null,cljs.core.IRecord,expr__43576)))){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IRecord$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,obj);\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__43576)].join(\x27\x27)));\n}\n}\n}\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.protocols.find_matching_non_default_method(protocol,obj);\n}\n}\n});\nsci.impl.protocols.instance_impl \x3d (function sci$impl$protocols$instance_impl(clazz,x){\nif((clazz instanceof sci.lang.Type)){\nif((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.sci$impl$types$SciTypeInstance$))))?true:false):false)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clazz,x.sci$impl$types$SciTypeInstance$_get_type$arity$1(null));\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clazz,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(x)));\n}\n} else {\nif(cljs.core.map_QMARK_(clazz)){\nreturn sci.impl.protocols.satisfies_QMARK_(clazz,x);\n} else {\nreturn (x instanceof clazz);\n\n}\n}\n});\n/**\n * Returns true if atype extends protocol\n */\nsci.impl.protocols.extends_QMARK_ \x3d (function sci$impl$protocols$extends_QMARK_(protocol,atype){\nreturn cljs.core.boolean$(cljs.core.some((function (p1__43595_SHARP_){\nreturn cljs.core.get_method(p1__43595_SHARP_,atype);\n}),new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866).cljs$core$IFn$_invoke$arity$1(protocol)));\n});\n");
SHADOW_ENV.evalLoad("sci.impl.records.js", true, "goog.provide(\x27sci.impl.records\x27);\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.records !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.records.to_string !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.records.to_string \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__43624 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__43624.cljs$core$IFn$_invoke$arity$0 ? fexpr__43624.cljs$core$IFn$_invoke$arity$0() : fexpr__43624.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.records\x22,\x22to-string\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nsci.impl.records.to_string.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (this$){\nvar t \x3d sci.impl.types.type_impl(this$);\nreturn [cljs.core.namespace(t),\x22.\x22,cljs.core.name(t),\x22@\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.hash(this$).toString((16)))].join(\x27\x27);\n}));\nsci.impl.records.clojure_str \x3d (function sci$impl$records$clojure_str(v){\nvar t \x3d sci.impl.types.type_impl(v);\nreturn [\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(t),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,v))].join(\x27\x27);\n});\n\n/**\n * @interface\n */\nsci.impl.records.SciPrintMethod \x3d function(){};\n\nvar sci$impl$records$SciPrintMethod$_sci_print_method$dyn_43848 \x3d (function (x,w){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (sci.impl.records._sci_print_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(x,w) : m__5374__auto__.call(null,x,w));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.records._sci_print_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(x,w) : m__5372__auto__.call(null,x,w));\n} else {\nthrow cljs.core.missing_protocol(\x22SciPrintMethod.-sci-print-method\x22,x);\n}\n}\n});\nsci.impl.records._sci_print_method \x3d (function sci$impl$records$_sci_print_method(x,w){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.sci$impl$records$SciPrintMethod$_sci_print_method$arity$2 \x3d\x3d null)))))){\nreturn x.sci$impl$records$SciPrintMethod$_sci_print_method$arity$2(x,w);\n} else {\nreturn sci$impl$records$SciPrintMethod$_sci_print_method$dyn_43848(x,w);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {sci.impl.types.SciTypeInstance}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nsci.impl.records.SciRecord \x3d (function (rec_name,type,var$,ext_map,my_hash){\nthis.rec_name \x3d rec_name;\nthis.type \x3d type;\nthis.var$ \x3d var$;\nthis.ext_map \x3d ext_map;\nthis.my_hash \x3d my_hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(sci.impl.records.SciRecord.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn sci.impl.records.to_string.cljs$core$IFn$_invoke$arity$1(this$);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (_,k){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._lookup(self__.ext_map,k);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (_,k,else$){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._lookup(self__.ext_map,k,else$);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this$,f,init){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,p__43649){\nvar vec__43652 \x3d p__43649;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43652,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43652,(1),null);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(ret,k,v) : f.call(null,ret,k,v));\n}),init,this$__$1);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this$,w,opts){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar temp__5802__auto__ \x3d self__.var$;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar rv \x3d temp__5802__auto__;\nvar m \x3d cljs.core.meta(rv);\nvar temp__5802__auto____$1 \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22print-method\x22,\x22sci.impl/print-method\x22,281191566).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar pm \x3d temp__5802__auto____$1;\nreturn (pm.cljs$core$IFn$_invoke$arity$3 ? pm.cljs$core$IFn$_invoke$arity$3(this$__$1,w,opts) : pm.call(null,this$__$1,w,opts));\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(w,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.records.clojure_str(this$__$1)], 0));\n}\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(w,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.records.clojure_str(this$__$1)], 0));\n}\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._iterator(self__.ext_map);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.meta(self__.ext_map);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new sci.impl.records.SciRecord(self__.rec_name,self__.type,self__.var$,self__.ext_map,self__.my_hash));\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.count(self__.ext_map);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar hq \x3d self__.my_hash;\nif((!((hq \x3d\x3d null)))){\nvar type_hash \x3d cljs.core.hash(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.munge(self__.rec_name)));\nvar h \x3d (type_hash ^ cljs.core.hash_unordered_coll(self__.ext_map));\n(self__.my_hash \x3d h);\n\nreturn h;\n} else {\nreturn hq;\n}\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((!((other \x3d\x3d null)))) \x26\x26 ((((this$__$1.constructor \x3d\x3d\x3d other.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.rec_name,other.rec_name)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this$__$1.ext_map,other.ext_map)))))));\n}));\n\n(sci.impl.records.SciRecord.prototype.sci$impl$types$SciTypeInstance$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.records.SciRecord.prototype.sci$impl$types$SciTypeInstance$_get_type$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.type;\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (_,k){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new sci.impl.records.SciRecord(self__.rec_name,self__.type,self__.var$,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.ext_map,k),null));\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (_,k){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._contains_key_QMARK_(self__.ext_map,k);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (_,k,v){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new sci.impl.records.SciRecord(self__.rec_name,self__.type,self__.var$,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.ext_map,k,v),null));\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._seq(self__.ext_map);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new sci.impl.records.SciRecord(self__.rec_name,self__.type,self__.var$,cljs.core.with_meta(self__.ext_map,m),self__.my_hash));\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this$,entry){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn this$__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this$__$1,entry);\n}\n}));\n\n(sci.impl.records.SciRecord.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rec-name\x22,\x22rec-name\x22,407587896,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),new cljs.core.Symbol(null,\x22ext-map\x22,\x22ext-map\x22,-1560591553,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22my_hash\x22,\x22my_hash\x22,-1166068909,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.impl.records.SciRecord.cljs$lang$type \x3d true);\n\n(sci.impl.records.SciRecord.cljs$lang$ctorStr \x3d \x22sci.impl.records/SciRecord\x22);\n\n(sci.impl.records.SciRecord.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.records/SciRecord\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.records/SciRecord.\n */\nsci.impl.records.__GT_SciRecord \x3d (function sci$impl$records$__GT_SciRecord(rec_name,type,var$,ext_map,my_hash){\nreturn (new sci.impl.records.SciRecord(rec_name,type,var$,ext_map,my_hash));\n});\n\nsci.impl.records.__GT_record_impl \x3d (function sci$impl$records$__GT_record_impl(rec_name,type,var$,m){\nreturn (new sci.impl.records.SciRecord(rec_name,type,var$,m,null));\n});\nsci.impl.records.defrecord \x3d (function sci$impl$records$defrecord(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43854 \x3d arguments.length;\nvar i__5750__auto___43855 \x3d (0);\nwhile(true){\nif((i__5750__auto___43855 \x3c len__5749__auto___43854)){\nargs__5755__auto__.push((arguments[i__5750__auto___43855]));\n\nvar G__43856 \x3d (i__5750__auto___43855 + (1));\ni__5750__auto___43855 \x3d G__43856;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.records.defrecord.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.records.defrecord.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__43769,_,record_name,fields,raw_protocol_impls){\nvar vec__43771 \x3d p__43769;\nvar seq__43772 \x3d cljs.core.seq(vec__43771);\nvar first__43773 \x3d cljs.core.first(seq__43772);\nvar seq__43772__$1 \x3d cljs.core.next(seq__43772);\nvar _fname \x3d first__43773;\nvar ___$1 \x3d seq__43772__$1;\nvar form \x3d vec__43771;\nvar ctx \x3d sci.ctx_store.get_ctx();\nif(cljs.core.truth_(new cljs.core.Keyword(\x22sci.impl\x22,\x22macroexpanding\x22,\x22sci.impl/macroexpanding\x22,2113471825).cljs$core$IFn$_invoke$arity$1(ctx))){\nreturn cljs.core.cons(new cljs.core.Symbol(\x22clojure.core\x22,\x22defrecord\x22,\x22clojure.core/defrecord\x22,581689476,null),cljs.core.rest(form));\n} else {\nvar factory_fn_str \x3d [\x22-\x3e\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(record_name)].join(\x27\x27);\nvar factory_fn_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(factory_fn_str);\nvar constructor_fn_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([\x22__\x22,factory_fn_str,\x22__ctor__\x22].join(\x27\x27));\nvar map_factory_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([\x22map\x22,factory_fn_str].join(\x27\x27));\nvar keys \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,fields);\nvar rec_type \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.munge(sci.impl.utils.current_ns_name())),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(record_name)].join(\x27\x27));\nvar protocol_impls \x3d sci.impl.utils.split_when(cljs.core.symbol_QMARK_,raw_protocol_impls);\nvar field_set \x3d cljs.core.set(fields);\nvar protocol_impls__$1 \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p__43774,expr){\nvar vec__43779 \x3d p__43774;\nvar seq__43780 \x3d cljs.core.seq(vec__43779);\nvar first__43781 \x3d cljs.core.first(seq__43780);\nvar seq__43780__$1 \x3d cljs.core.next(seq__43780);\nvar protocol_name \x3d first__43781;\nvar impls \x3d seq__43780__$1;\nvar impls__$1 \x3d cljs.core.group_by(cljs.core.first,impls);\nvar protocol \x3d (function (){var G__43786 \x3d ctx;\nvar G__43787 \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__43788 \x3d protocol_name;\nvar fexpr__43785 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__43785.cljs$core$IFn$_invoke$arity$3 ? fexpr__43785.cljs$core$IFn$_invoke$arity$3(G__43786,G__43787,G__43788) : fexpr__43785.call(null,G__43786,G__43787,G__43788));\n})();\nvar protocol__$1 \x3d (function (){var or__5025__auto__ \x3d protocol;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22Object\x22,\x22Object\x22,61210754,null),protocol_name)){\nreturn new cljs.core.Keyword(\x22sci.impl.records\x22,\x22object\x22,\x22sci.impl.records/object\x22,-590699738);\n} else {\nreturn null;\n}\n}\n})();\nvar ___$2 \x3d (cljs.core.truth_(protocol__$1)?null:sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Protocol not found: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(\x27\x27),expr));\nvar protocol__$2 \x3d ((sci.impl.utils.var_QMARK_(protocol__$1))?cljs.core.deref(protocol__$1):protocol__$1);\nvar protocol_var \x3d new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(protocol__$2);\nvar ___$3 \x3d (cljs.core.truth_(protocol_var)?sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$variadic(protocol_var,cljs.core.update,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),sci.impl.protocols.type__GT_str(rec_type)], 0)):null);\nvar protocol_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(protocol__$2);\nvar pns \x3d (cljs.core.truth_(protocol_ns)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns)):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.impl.records\x22,\x22object\x22,\x22sci.impl.records/object\x22,-590699738),protocol__$2))?\x22sci.impl.records\x22:null));\nvar fq_meth_name \x3d (function (p1__43756_SHARP_){\nif(cljs.core.simple_symbol_QMARK_(p1__43756_SHARP_)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__43756_SHARP_));\n} else {\nreturn p1__43756_SHARP_;\n}\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43796){\nvar vec__43797 \x3d p__43796;\nvar method_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43797,(0),null);\nvar bodies \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43797,(1),null);\nvar bodies__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,bodies);\nvar bodies__$2 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (impl){\nvar args \x3d cljs.core.first(impl);\nvar body \x3d cljs.core.rest(impl);\nvar destr \x3d sci.impl.utils.maybe_destructured(args,body);\nvar args__$1 \x3d new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(destr);\nvar body__$1 \x3d new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(destr);\nvar orig_this_sym \x3d cljs.core.first(args__$1);\nvar rest_args \x3d cljs.core.rest(args__$1);\nvar shadows_this_QMARK_ \x3d cljs.core.some((function (p1__43757_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(orig_this_sym,p1__43757_SHARP_);\n}),rest_args);\nvar this_sym \x3d (cljs.core.truth_(shadows_this_QMARK_)?cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22this_\x22):orig_this_sym);\nvar args__$2 \x3d (cljs.core.truth_(shadows_this_QMARK_)?cljs.core.vec(cljs.core.cons(this_sym,rest_args)):args__$1);\nvar bindings \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (field){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [field,(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(field),(new cljs.core.List(null,this_sym,null,(1),null)),(2),null))], null);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,field_set,args__$2)], 0));\nvar bindings__$1 \x3d (cljs.core.truth_(shadows_this_QMARK_)?cljs.core.concat.cljs$core$IFn$_invoke$arity$2(bindings,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [orig_this_sym,this_sym], null)):bindings);\nvar bindings__$2 \x3d cljs.core.vec(bindings__$1);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,args__$2,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,bindings__$2,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body__$1], 0)))),null,(1),null)))));\n}),bodies__$1);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,fq_meth_name(method_name),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),bodies__$2], 0))));\n}),impls__$1);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([protocol_impls,raw_protocol_impls], 0));\nvar arg_syms \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p1__43758_SHARP_){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(p1__43758_SHARP_));\n}),keys);\nvar nil_map \x3d cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,field_set),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22declare\x22,\x22cljs.core/declare\x22,1312638100,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,factory_fn_sym,null,(1),null)),(new cljs.core.List(null,constructor_fn_sym,null,(1),null)),(new cljs.core.List(null,map_factory_sym,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(record_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci\x22,\x22record\x22,\x22sci/record\x22,-778731026),true], null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.records\x22,\x22-create-record-type\x22,\x22sci.impl.records/-create-record-type\x22,558578550,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22sci.impl\x22,\x22type-name\x22,\x22sci.impl/type-name\x22,-1528979388),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,rec_type,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl\x22,\x22record\x22,\x22sci.impl/record\x22,-1939193950),true,new cljs.core.Keyword(\x22sci.impl\x22,\x22constructor\x22,\x22sci.impl/constructor\x22,1320345666),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,constructor_fn_sym,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl\x22,\x22var\x22,\x22sci.impl/var\x22,-2041185552),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,record_name,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl.record\x22,\x22map-constructor\x22,\x22sci.impl.record/map-constructor\x22,1072184780),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,map_factory_sym,null,(1),null)),(2),null))], null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),null,(1),null)),(new cljs.core.List(null,constructor_fn_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1(arg_syms)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,constructor_fn_sym,null,(1),null)),arg_syms,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,null,null,(1),null))], 0)))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(arg_syms,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__43759__auto__\x22,\x22meta__43759__auto__\x22,1241534967,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ext__43760__auto__\x22,\x22ext__43760__auto__\x22,-1104912362,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.records\x22,\x22-\x3erecord-impl\x22,\x22sci.impl.records/-\x3erecord-impl\x22,-1005013370,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,rec_type,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22cond-\x3e\x22,\x22cljs.core/cond-\x3e\x22,-113941356,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),null,(1),null)),(new cljs.core.List(null,keys,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,arg_syms,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ext__43760__auto__\x22,\x22ext__43760__auto__\x22,-1104912362,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22merge\x22,\x22cljs.core/merge\x22,-822184067,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ext__43760__auto__\x22,\x22ext__43760__auto__\x22,-1104912362,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__43759__auto__\x22,\x22meta__43759__auto__\x22,1241534967,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-meta\x22,\x22cljs.core/with-meta\x22,749126446,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__43759__auto__\x22,\x22meta__43759__auto__\x22,1241534967,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),null,(1),null)),(new cljs.core.List(null,factory_fn_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1(arg_syms)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,constructor_fn_sym,null,(1),null)),arg_syms,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,null,null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),null,(1),null)),(new cljs.core.List(null,map_factory_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43761__auto__\x22,\x22m__43761__auto__\x22,-550301927,null),null,(1),null)))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.records\x22,\x22-\x3erecord-impl\x22,\x22sci.impl.records/-\x3erecord-impl\x22,-1005013370,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,rec_type,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22merge\x22,\x22cljs.core/merge\x22,-822184067,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,nil_map,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43761__auto__\x22,\x22m__43761__auto__\x22,-550301927,null),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),protocol_impls__$1,(new cljs.core.List(null,record_name,null,(1),null))], 0))));\n}\n}));\n\n(sci.impl.records.defrecord.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.records.defrecord.cljs$lang$applyTo \x3d (function (seq43762){\nvar G__43763 \x3d cljs.core.first(seq43762);\nvar seq43762__$1 \x3d cljs.core.next(seq43762);\nvar G__43764 \x3d cljs.core.first(seq43762__$1);\nvar seq43762__$2 \x3d cljs.core.next(seq43762__$1);\nvar G__43765 \x3d cljs.core.first(seq43762__$2);\nvar seq43762__$3 \x3d cljs.core.next(seq43762__$2);\nvar G__43766 \x3d cljs.core.first(seq43762__$3);\nvar seq43762__$4 \x3d cljs.core.next(seq43762__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43763,G__43764,G__43765,G__43766,seq43762__$4);\n}));\n\n/**\n * A record class is represented by a symbol with metadata (currently). This is only an implementation detail.\n * A protocol is represented by a map with :ns, :methods and optionally :class. This is also an implementation detail.\n */\nsci.impl.records.resolve_record_or_protocol_class \x3d (function sci$impl$records$resolve_record_or_protocol_class(var_args){\nvar G__43837 \x3d arguments.length;\nswitch (G__43837) {\ncase 2:\nreturn sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,sym){\nvar sym_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym);\nvar last_dot \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(sym_str,\x22.\x22);\nvar class_name \x3d (cljs.core.truth_(last_dot)?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym_str,(last_dot + (1)),((sym_str).length)):sym_str);\nvar namespace \x3d (cljs.core.truth_(last_dot)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym_str,(0),last_dot)):sci.impl.utils.current_ns_name());\nreturn sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$3(ctx,namespace,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(class_name));\n}));\n\n(sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,package$,class$){\nvar namespace \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(clojure.string.replace(cljs.core.str.cljs$core$IFn$_invoke$arity$1(package$),\x22_\x22,\x22-\x22));\nvar temp__5804__auto__ \x3d (function (){var ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),namespace], null));\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ns,class$);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(ns),class$);\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar sci_var \x3d temp__5804__auto__;\nif(sci.impl.utils.var_QMARK_(sci_var)){\nreturn cljs.core.deref(sci_var);\n} else {\nreturn sci_var;\n}\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.records.resolve_record_or_protocol_class.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.records.resolve_record_class \x3d (function sci$impl$records$resolve_record_class(ctx,class_sym){\nvar temp__5804__auto__ \x3d sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$2(ctx,class_sym);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar x \x3d temp__5804__auto__;\nif((x instanceof sci.lang.Type)){\nreturn x;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.faster.js", true, "goog.provide(\x27sci.impl.faster\x27);\n");
SHADOW_ENV.evalLoad("sci.impl.resolve.js", true, "goog.provide(\x27sci.impl.resolve\x27);\nsci.impl.resolve.throw_error_with_location \x3d (function sci$impl$resolve$throw_error_with_location(msg,node){\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3(msg,node,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),\x22analysis\x22], null));\n});\nsci.impl.resolve.mark_resolve_sym \x3d (function sci$impl$resolve$mark_resolve_sym(sym,idx){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(sym,(function (m){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978),new cljs.core.Keyword(null,\x22resolve-sym\x22,\x22resolve-sym\x22,-1193683260),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22sci.impl\x22,\x22idx\x22,\x22sci.impl/idx\x22,700902278),idx], 0));\n}));\n});\nsci.impl.resolve.check_permission_BANG_ \x3d (function sci$impl$resolve$check_permission_BANG_(ctx,sym,kv){\nvar or__5025__auto__ \x3d (sci.impl.utils.allowed_loop \x3d\x3d\x3d sym);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (sci.impl.utils.allowed_recur \x3d\x3d\x3d sym);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nvar check_sym \x3d sci.impl.utils.strip_core_ns(sym);\nvar allow \x3d new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745).cljs$core$IFn$_invoke$arity$1(ctx);\nif((cljs.core.truth_(allow)?(function (){var vec__43857 \x3d kv;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43857,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43857,(1),null);\nreturn ((((sci.impl.utils.var_QMARK_(v)) \x26\x26 (cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(v)))))) || (cljs.core.contains_QMARK_(allow,check_sym)));\n})():true)){\n} else {\nsci.impl.resolve.throw_error_with_location([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22 is not allowed!\x22].join(\x27\x27),sym);\n}\n\nvar deny \x3d new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523).cljs$core$IFn$_invoke$arity$1(ctx);\nif((cljs.core.truth_(deny)?cljs.core.contains_QMARK_(deny,check_sym):false)){\nreturn sci.impl.resolve.throw_error_with_location([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22 is not allowed!\x22].join(\x27\x27),sym);\n} else {\nreturn null;\n}\n}\n}\n});\nsci.impl.resolve.lookup_STAR_ \x3d (function sci$impl$resolve$lookup_STAR_(var_args){\nvar G__43874 \x3d arguments.length;\nswitch (G__43874) {\ncase 3:\nreturn sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,sym,call_QMARK_){\nreturn sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,false);\n}));\n\n(sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,sym,call_QMARK_,only_var_QMARK_){\nvar sym_ns \x3d (function (){var G__43878 \x3d cljs.core.namespace(sym);\nif((G__43878 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(G__43878);\n}\n})();\nvar sym_name_str \x3d cljs.core.name(sym);\nvar sym_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(sym_name_str);\nvar env \x3d ctx.get(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235));\nvar env__$1 \x3d cljs.core.deref(env);\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar the_current_ns \x3d (function (){var G__43879 \x3d new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(env__$1);\nreturn (cnn.cljs$core$IFn$_invoke$arity$1 ? cnn.cljs$core$IFn$_invoke$arity$1(G__43879) : cnn.call(null,G__43879));\n})();\nvar sym_ns__$1 \x3d (cljs.core.truth_(sym_ns)?(function (){var or__5025__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(the_current_ns,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),sym_ns], null));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sym_ns;\n}\n})():null);\nvar sym_ns__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821).cljs$core$IFn$_invoke$arity$1(env__$1),sym_ns__$1,sym_ns__$1);\nif(cljs.core.truth_(sym_ns__$2)){\nvar or__5025__auto__ \x3d ((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),sym_ns__$2)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),sym_ns__$2))))?(function (){var or__5025__auto__ \x3d (function (){var G__43880 \x3d env__$1;\nvar G__43880__$1 \x3d (((G__43880 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(G__43880));\nvar G__43880__$2 \x3d (((G__43880__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43880__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)));\nif((G__43880__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.find(G__43880__$2,sym_name);\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5804__auto__ \x3d (cljs.core.truth_(call_QMARK_)?cljs.core.get.cljs$core$IFn$_invoke$arity$2(sci.impl.utils.ana_macros,sym_name):null);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,v], null);\n} else {\nreturn null;\n}\n}\n})():null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var G__43887 \x3d env__$1;\nvar G__43887__$1 \x3d (((G__43887 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(G__43887));\nvar G__43887__$2 \x3d (((G__43887__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43887__$1,sym_ns__$2));\nif((G__43887__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.find(G__43887__$2,sym_name);\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nif(cljs.core.truth_(only_var_QMARK_)){\nreturn null;\n} else {\nvar temp__5804__auto__ \x3d sci.impl.interop.resolve_class(ctx,sym_ns__$2);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar clazz \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,(cljs.core.truth_(call_QMARK_)?cljs.core.with_meta(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [clazz,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym_name).split(\x22.\x22),sym_ns__$2], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22static-access\x22,\x22sci.impl.analyzer/static-access\x22,-79014000),true], null)):(function (){var stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(sym),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns)], 0));\nvar path \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym_name).split(\x22.\x22);\nvar len \x3d path.length;\nif(((1) \x3d\x3d\x3d len)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.interop.get_static_field(clazz,sym_name);\n}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.interop.get_static_fields(clazz,path);\n}),stack);\n}\n})())], null);\n} else {\nreturn null;\n}\n}\n}\n}\n} else {\nvar or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar refers \x3d temp__5804__auto__;\nreturn cljs.core.find(refers,sym_name);\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.find(the_current_ns,sym);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var kv \x3d (function (){var G__43912 \x3d env__$1;\nvar G__43912__$1 \x3d (((G__43912 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(G__43912));\nvar G__43912__$2 \x3d (((G__43912__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43912__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)));\nif((G__43912__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.find(G__43912__$2,sym_name);\n}\n})();\nif(cljs.core.truth_((function (){var G__43919 \x3d the_current_ns;\nvar G__43919__$1 \x3d (((G__43919 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(G__43919));\nvar G__43919__$2 \x3d (((G__43919__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43919__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)));\nvar G__43919__$3 \x3d (((G__43919__$2 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334).cljs$core$IFn$_invoke$arity$1(G__43919__$2));\nif((G__43919__$3 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.contains_QMARK_(G__43919__$3,sym_name);\n}\n})())){\nreturn null;\n} else {\nreturn kv;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d (cljs.core.truth_((cljs.core.truth_(call_QMARK_)?cljs.core.get.cljs$core$IFn$_invoke$arity$2(sci.impl.utils.ana_macros,sym):null))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,sym], null):null);\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nif(cljs.core.truth_(only_var_QMARK_)){\nreturn null;\n} else {\nvar or__5025__auto____$4 \x3d (function (){var temp__5804__auto__ \x3d sci.impl.interop.resolve_class(ctx,sym);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar c \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,c], null);\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$4)){\nreturn or__5025__auto____$4;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dotted-access\x22,\x22dotted-access\x22,114961112).cljs$core$IFn$_invoke$arity$1(ctx))){\nreturn null;\n} else {\nvar temp__5804__auto__ \x3d sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$2(ctx,sym);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar x \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,x], null);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(sci.impl.resolve.lookup_STAR_.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * :syms \x3d closed over -\x3e idx\n */\nsci.impl.resolve.update_parents \x3d (function sci$impl$resolve$update_parents(ctx,closure_bindings,ob){\nvar parents \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx);\nvar new_cb \x3d cljs.core._vreset_BANG_(closure_bindings,(function (cb){\nreturn cljs.core.first(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__43943,_idx){\nvar vec__43944 \x3d p__43943;\nvar acc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43944,(0),null);\nvar path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43944,(1),null);\nvar new_acc \x3d cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(acc,path,(function (entry){\nvar iden__GT_invoke_idx \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762).cljs$core$IFn$_invoke$arity$1(entry);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})();\nvar added_before_QMARK_ \x3d cljs.core.contains_QMARK_(iden__GT_invoke_idx,ob);\nif(added_before_QMARK_){\nreturn entry;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(entry,new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(iden__GT_invoke_idx,ob,cljs.core.count(iden__GT_invoke_idx)));\n}\n}));\nvar new_res \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new_acc,cljs.core.pop(cljs.core.pop(path))], null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(acc,new_acc)){\nreturn cljs.core.reduced(new_res);\n} else {\nreturn new_res;\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cb,parents], null),cljs.core.range.cljs$core$IFn$_invoke$arity$1((cljs.core.count(parents) / (2)))));\n})(cljs.core._deref(closure_bindings)));\nvar closure_idx \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new_cb,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(parents,new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ob], 0)));\nreturn closure_idx;\n});\nsci.impl.resolve.lookup \x3d (function sci$impl$resolve$lookup(var_args){\nvar G__44027 \x3d arguments.length;\nswitch (G__44027) {\ncase 3:\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,sym,call_QMARK_){\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,null);\n}));\n\n(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,sym,call_QMARK_,m){\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$5(ctx,sym,call_QMARK_,m,null);\n}));\n\n(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,sym,call_QMARK_,_,only_var_QMARK_){\nvar bindings \x3d ctx.get(new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192));\nvar track_mutable_QMARK_ \x3d ctx.get(new cljs.core.Keyword(null,\x22deftype-fields\x22,\x22deftype-fields\x22,-222569172));\nvar or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d cljs.core.find(bindings,sym);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__44087 \x3d temp__5804__auto__;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__44087,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__44087,(1),null);\nvar idx \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(ctx),v);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar oi \x3d new cljs.core.Keyword(null,\x22outer-idens\x22,\x22outer-idens\x22,1197381241).cljs$core$IFn$_invoke$arity$1(ctx);\nvar ob \x3d (oi.cljs$core$IFn$_invoke$arity$1 ? oi.cljs$core$IFn$_invoke$arity$1(v) : oi.call(null,v));\nreturn sci.impl.resolve.update_parents(ctx,new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx),ob);\n}\n})();\nvar mutable_QMARK_ \x3d (cljs.core.truth_(track_mutable_QMARK_)?(function (){var temp__5804__auto____$1 \x3d (function (){var G__44094 \x3d k;\nif((G__44094 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.meta(G__44094);\n}\n})();\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar m \x3d temp__5804__auto____$1;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22volatile-mutable\x22,\x22volatile-mutable\x22,1731728411).cljs$core$IFn$_invoke$arity$1(m);\n}\n} else {\nreturn null;\n}\n})():null);\nvar v__$1 \x3d (cljs.core.truth_(call_QMARK_)?sci.impl.resolve.mark_resolve_sym(k,idx):(function (){var v__$1 \x3d (function (){var G__44095 \x3d (cljs.core.truth_(mutable_QMARK_)?(function (){var ext_map \x3d cljs.core.second(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Symbol(null,\x22__sci_this\x22,\x22__sci_this\x22,-193704996,null),false));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings__$1){\nvar this$__$1 \x3d sci.impl.types.eval(ext_map,ctx__$1,bindings__$1);\nvar inner \x3d sci.impl.types.getVal(this$__$1);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(inner,sym);\n}),null);\n})():sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings__$1){\nreturn (bindings__$1[idx]);\n}),null));\nif(cljs.core.truth_(mutable_QMARK_)){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(G__44095,cljs.core.assoc,new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true);\n} else {\nreturn G__44095;\n}\n})();\nreturn v__$1;\n})());\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v__$1], null);\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5804__auto__ \x3d sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,only_var_QMARK_);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar kv \x3d temp__5804__auto__;\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22check-permissions\x22,\x22check-permissions\x22,669054317).cljs$core$IFn$_invoke$arity$1(ctx))){\nsci.impl.resolve.check_permission_BANG_(ctx,sym,kv);\n} else {\n}\n\nreturn kv;\n} else {\nreturn null;\n}\n}\n}));\n\n(sci.impl.resolve.lookup.cljs$lang$maxFixedArity \x3d 5);\n\nsci.impl.resolve.resolve_symbol_STAR_ \x3d (function sci$impl$resolve$resolve_symbol_STAR_(ctx,sym,call_QMARK_,m){\nvar or__5025__auto__ \x3d sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar n \x3d cljs.core.name(sym);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d call_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((clojure.string.starts_with_QMARK_(n,\x22.\x22)) \x26\x26 ((((n).length) \x3e (1))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,new cljs.core.Symbol(null,\x22expand-dot*\x22,\x22expand-dot*\x22,-1946890561,null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d call_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((clojure.string.ends_with_QMARK_(n,\x22.\x22)) \x26\x26 ((((n).length) \x3e (1))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,new cljs.core.Symbol(null,\x22expand-constructor\x22,\x22expand-constructor\x22,-343741576,null)], null);\n} else {\nreturn null;\n}\n}\n}\n});\nsci.impl.resolve.resolve_prefix_PLUS_path \x3d (function sci$impl$resolve$resolve_prefix_PLUS_path(ctx,sym,m){\nvar sym_ns \x3d cljs.core.namespace(sym);\nvar sym_name \x3d cljs.core.name(sym);\nvar segments \x3d sym_name.split(\x22.\x22);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22dotted-access\x22,\x22dotted-access\x22,114961112),true);\nvar prefix \x3d null;\nvar segments__$1 \x3d segments;\nwhile(true){\nif(cljs.core.empty_QMARK_(segments__$1)){\nreturn null;\n} else {\nvar fst_segment \x3d cljs.core.first(segments__$1);\nvar nxt_segments \x3d cljs.core.next(segments__$1);\nvar new_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(sym_ns,[prefix,(cljs.core.truth_(prefix)?\x22.\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(fst_segment)].join(\x27\x27));\nvar new_sym_2 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(sym_ns);\nif(and__5023__auto__){\nreturn prefix;\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(prefix,fst_segment):null);\nvar temp__5802__auto__ \x3d sci.impl.resolve.resolve_symbol_STAR_(ctx__$1,new_sym,false,m);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.second(v),nxt_segments], null);\n} else {\nvar temp__5802__auto____$1 \x3d (cljs.core.truth_(new_sym_2)?sci.impl.resolve.resolve_symbol_STAR_(ctx__$1,new_sym_2,false,m):null);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar v2 \x3d temp__5802__auto____$1;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.second(v2),nxt_segments], null);\n} else {\nvar G__44173 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(new_sym);\nvar G__44174 \x3d nxt_segments;\nprefix \x3d G__44173;\nsegments__$1 \x3d G__44174;\ncontinue;\n}\n}\n}\nbreak;\n}\n});\nsci.impl.resolve.resolve_dotted_access \x3d (function sci$impl$resolve$resolve_dotted_access(ctx,sym,call_QMARK_,m){\nvar temp__5804__auto__ \x3d sci.impl.resolve.resolve_prefix_PLUS_path(ctx,sym,m);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__44123 \x3d temp__5804__auto__;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__44123,(0),null);\nvar segments \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__44123,(1),null);\nvar v__$1 \x3d ((sci.impl.utils.var_QMARK_(v))?cljs.core.deref(v):v);\nvar segments__$1 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(segments);\nif(cljs.core.truth_(call_QMARK_)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v__$1,segments__$1], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22static-access\x22,\x22sci.impl.analyzer/static-access\x22,-79014000),true], null))], null);\n} else {\nif((v__$1 instanceof sci.impl.types.NodeR)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.interop.get_static_fields(sci.impl.types.eval(v__$1,ctx__$1,bindings),segments__$1);\n}),sym)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,sci.impl.interop.get_static_fields(v__$1,segments__$1)], null);\n}\n}\n} else {\nreturn null;\n}\n});\nsci.impl.resolve.resolve_symbol \x3d (function sci$impl$resolve$resolve_symbol(var_args){\nvar G__44130 \x3d arguments.length;\nswitch (G__44130) {\ncase 2:\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,sym){\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,sym,false,null);\n}));\n\n(sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,sym,call_QMARK_){\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,null);\n}));\n\n(sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,sym,call_QMARK_,m){\nreturn cljs.core.second((function (){var or__5025__auto__ \x3d sci.impl.resolve.resolve_symbol_STAR_(ctx,sym,call_QMARK_,m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var resolved \x3d sci.impl.resolve.resolve_dotted_access(ctx,sym,call_QMARK_,m);\nreturn resolved;\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn sci.impl.resolve.throw_error_with_location([\x22Could not resolve symbol: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27),sym);\n}\n}\n})());\n}));\n\n(sci.impl.resolve.resolve_symbol.cljs$lang$maxFixedArity \x3d 4);\n\n");
SHADOW_ENV.evalLoad("sci.impl.evaluator.js", true, "goog.provide(\x27sci.impl.evaluator\x27);\nsci.impl.evaluator.macros \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),\x22null\x22,new cljs.core.Symbol(null,\x22syntax-quote\x22,\x22syntax-quote\x22,407366680,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22], null), null);\nsci.impl.evaluator.eval_def \x3d (function sci$impl$evaluator$eval_def(ctx,bindings,var_name,init,m){\nvar init__$1 \x3d sci.impl.types.eval(init,ctx,bindings);\nvar m__$1 \x3d sci.impl.types.eval(m,ctx,bindings);\nvar cnn \x3d sci.impl.types.getName(new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m__$1));\nvar assoc_in_env \x3d (function (env){\nvar the_current_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469)),cnn);\nvar prev \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(the_current_ns,var_name);\nvar prev__$1 \x3d (((!(sci.impl.utils.var_QMARK_(prev))))?(new sci.lang.Var(prev,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnn),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_name)),cljs.core.meta(prev),false,false,null)):prev);\nvar v \x3d (((sci.impl.utils.var_unbound \x3d\x3d\x3d init__$1))?(function (){var G__45060 \x3d prev__$1;\ncljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__45060,cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m__$1], 0));\n\nreturn G__45060;\n})():(function (){\nsci.impl.vars.bindRoot(prev__$1,init__$1);\n\ncljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(prev__$1,cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m__$1], 0));\n\nreturn prev__$1;\n})()\n);\nvar the_current_ns__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns,var_name,v);\nreturn cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn], null),the_current_ns__$1);\n});\nvar env \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),assoc_in_env);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469)),cnn),var_name);\n});\nsci.impl.evaluator.eval_case \x3d (function sci$impl$evaluator$eval_case(var_args){\nvar G__45066 \x3d arguments.length;\nswitch (G__45066) {\ncase 4:\nreturn sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,bindings,case_map,case_val){\nvar v \x3d sci.impl.types.eval(case_val,ctx,bindings);\nvar found \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(case_map,v,new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22not-found\x22,\x22sci.impl.evaluator/not-found\x22,1684798426));\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22not-found\x22,\x22sci.impl.evaluator/not-found\x22,1684798426),found)){\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(v)].join(\x27\x27)));\n} else {\nreturn sci.impl.types.eval(found,ctx,bindings);\n}\n}));\n\n(sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,bindings,case_map,case_val,case_default){\nvar v \x3d sci.impl.types.eval(case_val,ctx,bindings);\nvar found \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(case_map,v,new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22not-found\x22,\x22sci.impl.evaluator/not-found\x22,1684798426));\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22not-found\x22,\x22sci.impl.evaluator/not-found\x22,1684798426),found)){\nreturn sci.impl.types.eval(case_default,ctx,bindings);\n} else {\nreturn sci.impl.types.eval(found,ctx,bindings);\n}\n}));\n\n(sci.impl.evaluator.eval_case.cljs$lang$maxFixedArity \x3d 5);\n\nsci.impl.evaluator.eval_try \x3d (function sci$impl$evaluator$eval_try(ctx,bindings,body,catches,finally$,sci_error){\ntry{var _STAR_in_try_STAR__orig_val__45080 \x3d sci.impl.utils._STAR_in_try_STAR_;\nvar _STAR_in_try_STAR__temp_val__45081 \x3d (function (){var or__5025__auto__ \x3d (cljs.core.truth_(sci_error)?new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803):null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.seq(catches);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn sci.impl.utils._STAR_in_try_STAR_;\n}\n}\n})();\n(sci.impl.utils._STAR_in_try_STAR_ \x3d _STAR_in_try_STAR__temp_val__45081);\n\ntry{return sci.impl.types.eval(body,ctx,bindings);\n}finally {(sci.impl.utils._STAR_in_try_STAR_ \x3d _STAR_in_try_STAR__orig_val__45080);\n}}catch (e45071){var e \x3d e45071;\nvar temp__5802__auto__ \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (_,c){\nvar clazz \x3d new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(c);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),clazz);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((clazz instanceof sci.impl.types.NodeR)){\nvar c__5058__auto__ \x3d sci.impl.types.eval(clazz,ctx,bindings);\nvar x__5059__auto__ \x3d e;\nreturn (x__5059__auto__ instanceof c__5058__auto__);\n} else {\nreturn (e instanceof clazz);\n}\n}\n})())){\nreturn cljs.core.reduced(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22try-result\x22,\x22sci.impl.evaluator/try-result\x22,-1394897780),(function (){\n(bindings[new cljs.core.Keyword(null,\x22ex-idx\x22,\x22ex-idx\x22,795118805).cljs$core$IFn$_invoke$arity$1(c)] \x3d e);\n\nreturn sci.impl.types.eval(new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(c),ctx,bindings);\n})()\n], null));\n} else {\nreturn null;\n}\n}),null,catches);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__45072 \x3d temp__5802__auto__;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45072,(0),null);\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45072,(1),null);\nreturn r;\n} else {\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e,body);\n}\n}finally {sci.impl.types.eval(finally$,ctx,bindings);\n}});\nsci.impl.evaluator.allowed_instance_method_invocation \x3d (function sci$impl$evaluator$allowed_instance_method_invocation(ctx,bindings,instance_expr,method_str,args,arg_count){\nvar instance_expr_STAR_ \x3d sci.impl.types.eval(instance_expr,ctx,bindings);\nreturn sci.impl.interop.invoke_instance_method(ctx,bindings,instance_expr_STAR_,null,method_str,args,arg_count,null);\n});\nsci.impl.evaluator.allowed_instance_field_invocation \x3d (function sci$impl$evaluator$allowed_instance_field_invocation(ctx,bindings,instance_expr,method_str){\nvar instance_expr_STAR_ \x3d sci.impl.types.eval(instance_expr,ctx,bindings);\nreturn sci.impl.interop.invoke_instance_field(instance_expr_STAR_,null,method_str);\n});\nsci.impl.evaluator.none_sentinel \x3d (new Object());\nsci.impl.evaluator.get_from_type \x3d (function sci$impl$evaluator$get_from_type(instance,_method_str,method_str_unmunged,args){\nif((args.length \x3d\x3d\x3d (0))){\nif((instance instanceof sci.impl.records.SciRecord)){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(instance,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_str_unmunged),sci.impl.evaluator.none_sentinel);\n} else {\nif((instance instanceof sci.impl.deftype.SciType)){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(instance.sci$impl$types$IBox$getVal$arity$1(null),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(method_str_unmunged),sci.impl.evaluator.none_sentinel);\n} else {\nreturn sci.impl.evaluator.none_sentinel;\n}\n}\n} else {\nreturn sci.impl.evaluator.none_sentinel;\n}\n});\nsci.impl.evaluator.eval_instance_method_invocation \x3d (function sci$impl$evaluator$eval_instance_method_invocation(ctx,bindings,instance_expr,method_str,method_str_unmunged,field_access,args,allowed,arg_count,arg_types){\nvar instance_meta \x3d cljs.core.meta(instance_expr);\nvar tag_class \x3d new cljs.core.Keyword(null,\x22tag-class\x22,\x22tag-class\x22,714967874).cljs$core$IFn$_invoke$arity$1(instance_meta);\nvar instance_expr_STAR_ \x3d sci.impl.types.eval(instance_expr,ctx,bindings);\nvar v \x3d sci.impl.evaluator.get_from_type(instance_expr_STAR_,method_str,method_str_unmunged,args);\nif((!((sci.impl.evaluator.none_sentinel \x3d\x3d\x3d v)))){\nreturn v;\n} else {\nvar instance_class \x3d (function (){var or__5025__auto__ \x3d tag_class;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.type(instance_expr_STAR_);\n}\n})();\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar class__GT_opts \x3d new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(env);\nvar allowed_QMARK_ \x3d (function (){var or__5025__auto__ \x3d allowed;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar instance_class_name \x3d instance_class.name;\nvar instance_class_symbol \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(instance_class_name);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,instance_class_symbol);\n}\n}\n})();\nvar target_class \x3d (cljs.core.truth_(allowed_QMARK_)?instance_class:(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019).cljs$core$IFn$_invoke$arity$1(env);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar f \x3d temp__5804__auto__;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(instance_expr_STAR_) : f.call(null,instance_expr_STAR_));\n} else {\nreturn null;\n}\n})());\nif(cljs.core.truth_(allowed_QMARK_)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Method \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(method_str),\x22 on \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(instance_class),\x22 not allowed!\x22].join(\x27\x27),instance_expr);\n}\n\nif(cljs.core.truth_(field_access)){\nreturn sci.impl.interop.invoke_instance_field(instance_expr_STAR_,target_class,method_str);\n} else {\nreturn sci.impl.interop.invoke_instance_method(ctx,bindings,instance_expr_STAR_,target_class,method_str,args,arg_count,arg_types);\n}\n}\n});\nsci.impl.evaluator.eval_resolve \x3d (function sci$impl$evaluator$eval_resolve(var_args){\nvar G__45097 \x3d arguments.length;\nswitch (G__45097) {\ncase 3:\nreturn sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,bindings,sym){\nreturn sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$4(ctx,bindings,null,sym);\n}));\n\n(sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,bindings,env,sym){\nif(((cljs.core.not(env)) || ((!(cljs.core.contains_QMARK_(env,sym)))))){\nvar sym__$1 \x3d sci.impl.types.eval(sym,ctx,bindings);\nvar res \x3d cljs.core.second(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$5(ctx,sym__$1,false,null,cljs.core.qualified_symbol_QMARK_(sym__$1)));\nif((res instanceof sci.impl.types.NodeR)){\nreturn null;\n} else {\nreturn res;\n}\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.evaluator.eval_resolve.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.core.vreset_BANG_(sci.impl.utils.eval_resolve_state,sci.impl.evaluator.eval_resolve);\nsci.impl.evaluator.eval_import \x3d (function sci$impl$evaluator$eval_import(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___45396 \x3d arguments.length;\nvar i__5750__auto___45397 \x3d (0);\nwhile(true){\nif((i__5750__auto___45397 \x3c len__5749__auto___45396)){\nargs__5755__auto__.push((arguments[i__5750__auto___45397]));\n\nvar G__45398 \x3d (i__5750__auto___45397 + (1));\ni__5750__auto___45397 \x3d G__45398;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.evaluator.eval_import.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.evaluator.eval_import.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,import_symbols_or_lists){\nvar specs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45104_SHARP_){\nif(((cljs.core.seq_QMARK_(p1__45104_SHARP_)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),cljs.core.first(p1__45104_SHARP_))))){\nreturn cljs.core.second(p1__45104_SHARP_);\n} else {\nreturn p1__45104_SHARP_;\n}\n}),import_symbols_or_lists);\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (_,spec){\nvar vec__45111 \x3d (((spec instanceof cljs.core.Symbol))?(function (){var s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec);\nvar last_dot \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(s,\x22.\x22);\nvar package_PLUS_class_name \x3d (cljs.core.truth_(last_dot)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),last_dot)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(last_dot + (1)),((s).length)))], null)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec], null)], null));\nreturn package_PLUS_class_name;\n})():(function (){var p \x3d cljs.core.first(spec);\nvar cs \x3d cljs.core.rest(spec);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cs], null);\n})());\nvar package$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45111,(0),null);\nvar classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45111,(1),null);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (___$1,class$){\nvar fq_class_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(package$)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(package$),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(class$)].join(\x27\x27):class$));\nvar temp__5802__auto__ \x3d sci.impl.interop.resolve_class(ctx,fq_class_name);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar clazz \x3d temp__5802__auto__;\nvar cnn \x3d sci.impl.utils.current_ns_name();\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),class$], null),fq_class_name);\n\nreturn clazz;\n} else {\nvar temp__5802__auto____$1 \x3d (function (){var rec_ns \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(sci.impl.utils.demunge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(package$)));\nvar rec_var \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(env),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),rec_ns,class$], null));\nreturn rec_var;\n})();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar rec_var \x3d temp__5802__auto____$1;\nvar cnn \x3d sci.impl.utils.current_ns_name();\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),class$], null),rec_var);\n\nreturn cljs.core.deref(rec_var);\n} else {\nthrow (new Error([\x22Unable to resolve classname: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fq_class_name)].join(\x27\x27)));\n}\n}\n}),null,classes);\n}),null,specs);\n}));\n\n(sci.impl.evaluator.eval_import.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.evaluator.eval_import.cljs$lang$applyTo \x3d (function (seq45105){\nvar G__45106 \x3d cljs.core.first(seq45105);\nvar seq45105__$1 \x3d cljs.core.next(seq45105);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45106,seq45105__$1);\n}));\n\nsci.impl.evaluator.fn_call \x3d (function sci$impl$evaluator$fn_call(ctx,bindings,f,args){\nvar G__45316 \x3d cljs.core.count(args);\nswitch (G__45316) {\ncase (0):\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n\nbreak;\ncase (1):\nvar arg45126 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg45126) : f.call(null,arg45126));\n\nbreak;\ncase (2):\nvar arg45127 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45128 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg45127,arg45128) : f.call(null,arg45127,arg45128));\n\nbreak;\ncase (3):\nvar arg45129 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45130 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45131 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg45129,arg45130,arg45131) : f.call(null,arg45129,arg45130,arg45131));\n\nbreak;\ncase (4):\nvar arg45132 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45133 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45134 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45135 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg45132,arg45133,arg45134,arg45135) : f.call(null,arg45132,arg45133,arg45134,arg45135));\n\nbreak;\ncase (5):\nvar arg45136 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45137 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45138 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45139 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45140 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg45136,arg45137,arg45138,arg45139,arg45140) : f.call(null,arg45136,arg45137,arg45138,arg45139,arg45140));\n\nbreak;\ncase (6):\nvar arg45141 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45142 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45143 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45144 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45145 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45146 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(arg45141,arg45142,arg45143,arg45144,arg45145,arg45146) : f.call(null,arg45141,arg45142,arg45143,arg45144,arg45145,arg45146));\n\nbreak;\ncase (7):\nvar arg45147 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45148 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45149 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45150 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45151 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45152 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45153 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nreturn (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(arg45147,arg45148,arg45149,arg45150,arg45151,arg45152,arg45153) : f.call(null,arg45147,arg45148,arg45149,arg45150,arg45151,arg45152,arg45153));\n\nbreak;\ncase (8):\nvar arg45154 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45155 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45156 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45157 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45158 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45159 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45160 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45161 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nreturn (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(arg45154,arg45155,arg45156,arg45157,arg45158,arg45159,arg45160,arg45161) : f.call(null,arg45154,arg45155,arg45156,arg45157,arg45158,arg45159,arg45160,arg45161));\n\nbreak;\ncase (9):\nvar arg45162 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45163 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45164 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45165 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45166 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45167 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45168 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45169 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45170 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nreturn (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(arg45162,arg45163,arg45164,arg45165,arg45166,arg45167,arg45168,arg45169,arg45170) : f.call(null,arg45162,arg45163,arg45164,arg45165,arg45166,arg45167,arg45168,arg45169,arg45170));\n\nbreak;\ncase (10):\nvar arg45171 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45172 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45173 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45174 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45175 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45176 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45177 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45178 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45179 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45180 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nreturn (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(arg45171,arg45172,arg45173,arg45174,arg45175,arg45176,arg45177,arg45178,arg45179,arg45180) : f.call(null,arg45171,arg45172,arg45173,arg45174,arg45175,arg45176,arg45177,arg45178,arg45179,arg45180));\n\nbreak;\ncase (11):\nvar arg45181 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45182 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45183 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45184 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45185 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45186 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45187 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45188 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45189 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45190 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45191 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nreturn (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(arg45181,arg45182,arg45183,arg45184,arg45185,arg45186,arg45187,arg45188,arg45189,arg45190,arg45191) : f.call(null,arg45181,arg45182,arg45183,arg45184,arg45185,arg45186,arg45187,arg45188,arg45189,arg45190,arg45191));\n\nbreak;\ncase (12):\nvar arg45192 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45193 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45194 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45195 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45196 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45197 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45198 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45199 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45200 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45201 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45202 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45203 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nreturn (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(arg45192,arg45193,arg45194,arg45195,arg45196,arg45197,arg45198,arg45199,arg45200,arg45201,arg45202,arg45203) : f.call(null,arg45192,arg45193,arg45194,arg45195,arg45196,arg45197,arg45198,arg45199,arg45200,arg45201,arg45202,arg45203));\n\nbreak;\ncase (13):\nvar arg45204 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45205 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45206 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45207 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45208 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45209 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45210 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45211 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45212 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45213 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45214 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45215 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45216 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nreturn (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(arg45204,arg45205,arg45206,arg45207,arg45208,arg45209,arg45210,arg45211,arg45212,arg45213,arg45214,arg45215,arg45216) : f.call(null,arg45204,arg45205,arg45206,arg45207,arg45208,arg45209,arg45210,arg45211,arg45212,arg45213,arg45214,arg45215,arg45216));\n\nbreak;\ncase (14):\nvar arg45217 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45218 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45219 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45220 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45221 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45222 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45223 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45224 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45225 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45226 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45227 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45228 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45229 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45230 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nreturn (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(arg45217,arg45218,arg45219,arg45220,arg45221,arg45222,arg45223,arg45224,arg45225,arg45226,arg45227,arg45228,arg45229,arg45230) : f.call(null,arg45217,arg45218,arg45219,arg45220,arg45221,arg45222,arg45223,arg45224,arg45225,arg45226,arg45227,arg45228,arg45229,arg45230));\n\nbreak;\ncase (15):\nvar arg45231 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45232 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45233 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45234 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45235 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45236 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45237 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45238 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45239 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45240 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45241 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45242 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45243 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45244 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45245 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nreturn (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(arg45231,arg45232,arg45233,arg45234,arg45235,arg45236,arg45237,arg45238,arg45239,arg45240,arg45241,arg45242,arg45243,arg45244,arg45245) : f.call(null,arg45231,arg45232,arg45233,arg45234,arg45235,arg45236,arg45237,arg45238,arg45239,arg45240,arg45241,arg45242,arg45243,arg45244,arg45245));\n\nbreak;\ncase (16):\nvar arg45246 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45247 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45248 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45249 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45250 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45251 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45252 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45253 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45254 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45255 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45256 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45257 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45258 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45259 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45260 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nvar arg45261 \x3d sci.impl.types.eval(cljs.core.first(args__$15),ctx,bindings);\nvar args__$16 \x3d cljs.core.rest(args__$15);\nreturn (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(arg45246,arg45247,arg45248,arg45249,arg45250,arg45251,arg45252,arg45253,arg45254,arg45255,arg45256,arg45257,arg45258,arg45259,arg45260,arg45261) : f.call(null,arg45246,arg45247,arg45248,arg45249,arg45250,arg45251,arg45252,arg45253,arg45254,arg45255,arg45256,arg45257,arg45258,arg45259,arg45260,arg45261));\n\nbreak;\ncase (17):\nvar arg45262 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45263 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45264 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45265 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45266 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45267 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45268 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45269 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45270 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45271 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45272 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45273 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45274 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45275 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45276 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nvar arg45277 \x3d sci.impl.types.eval(cljs.core.first(args__$15),ctx,bindings);\nvar args__$16 \x3d cljs.core.rest(args__$15);\nvar arg45278 \x3d sci.impl.types.eval(cljs.core.first(args__$16),ctx,bindings);\nvar args__$17 \x3d cljs.core.rest(args__$16);\nreturn (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(arg45262,arg45263,arg45264,arg45265,arg45266,arg45267,arg45268,arg45269,arg45270,arg45271,arg45272,arg45273,arg45274,arg45275,arg45276,arg45277,arg45278) : f.call(null,arg45262,arg45263,arg45264,arg45265,arg45266,arg45267,arg45268,arg45269,arg45270,arg45271,arg45272,arg45273,arg45274,arg45275,arg45276,arg45277,arg45278));\n\nbreak;\ncase (18):\nvar arg45279 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45280 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45281 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45282 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45283 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45284 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45285 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45286 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45287 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45288 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45289 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45290 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45291 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45292 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45293 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nvar arg45294 \x3d sci.impl.types.eval(cljs.core.first(args__$15),ctx,bindings);\nvar args__$16 \x3d cljs.core.rest(args__$15);\nvar arg45295 \x3d sci.impl.types.eval(cljs.core.first(args__$16),ctx,bindings);\nvar args__$17 \x3d cljs.core.rest(args__$16);\nvar arg45296 \x3d sci.impl.types.eval(cljs.core.first(args__$17),ctx,bindings);\nvar args__$18 \x3d cljs.core.rest(args__$17);\nreturn (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(arg45279,arg45280,arg45281,arg45282,arg45283,arg45284,arg45285,arg45286,arg45287,arg45288,arg45289,arg45290,arg45291,arg45292,arg45293,arg45294,arg45295,arg45296) : f.call(null,arg45279,arg45280,arg45281,arg45282,arg45283,arg45284,arg45285,arg45286,arg45287,arg45288,arg45289,arg45290,arg45291,arg45292,arg45293,arg45294,arg45295,arg45296));\n\nbreak;\ncase (19):\nvar arg45297 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45298 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45299 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45300 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45301 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45302 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45303 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45304 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45305 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45306 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45307 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45308 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45309 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45310 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45311 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nvar arg45312 \x3d sci.impl.types.eval(cljs.core.first(args__$15),ctx,bindings);\nvar args__$16 \x3d cljs.core.rest(args__$15);\nvar arg45313 \x3d sci.impl.types.eval(cljs.core.first(args__$16),ctx,bindings);\nvar args__$17 \x3d cljs.core.rest(args__$16);\nvar arg45314 \x3d sci.impl.types.eval(cljs.core.first(args__$17),ctx,bindings);\nvar args__$18 \x3d cljs.core.rest(args__$17);\nvar arg45315 \x3d sci.impl.types.eval(cljs.core.first(args__$18),ctx,bindings);\nvar args__$19 \x3d cljs.core.rest(args__$18);\nreturn (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(arg45297,arg45298,arg45299,arg45300,arg45301,arg45302,arg45303,arg45304,arg45305,arg45306,arg45307,arg45308,arg45309,arg45310,arg45311,arg45312,arg45313,arg45314,arg45315) : f.call(null,arg45297,arg45298,arg45299,arg45300,arg45301,arg45302,arg45303,arg45304,arg45305,arg45306,arg45307,arg45308,arg45309,arg45310,arg45311,arg45312,arg45313,arg45314,arg45315));\n\nbreak;\ndefault:\nvar args__$1 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p1__44813_SHARP_){\nreturn sci.impl.types.eval(p1__44813_SHARP_,ctx,bindings);\n}),args);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args__$1);\n\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.fns.js", true, "goog.provide(\x27sci.impl.fns\x27);\nsci.impl.fns.fun \x3d (function sci$impl$fns$fun(var_args){\nvar G__42588 \x3d arguments.length;\nswitch (G__42588) {\ncase 5:\nreturn sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 11:\nreturn sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,enclosed_array,fn_body,fn_name,macro_QMARK_){\nreturn sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11(ctx,enclosed_array,fn_body,fn_name,macro_QMARK_,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body),new cljs.core.Keyword(null,\x22copy-enclosed-\x3einvocation\x22,\x22copy-enclosed-\x3einvocation\x22,-1322388729).cljs$core$IFn$_invoke$arity$1(fn_body),new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(fn_body),new cljs.core.Keyword(null,\x22invoc-size\x22,\x22invoc-size\x22,2053298058).cljs$core$IFn$_invoke$arity$1(fn_body),sci.impl.utils.current_ns_name(),new cljs.core.Keyword(null,\x22vararg-idx\x22,\x22vararg-idx\x22,-590991228).cljs$core$IFn$_invoke$arity$1(fn_body));\n}));\n\n(sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11 \x3d (function (ctx,enclosed_array,fn_body,fn_name,macro_QMARK_,fixed_arity,enclosed__GT_invocation,body,invoc_size,nsm,vararg_idx){\nvar f \x3d (cljs.core.truth_(vararg_idx)?(function (){var G__42599 \x3d fixed_arity;\nswitch (G__42599) {\ncase (0):\nvar recur__41805__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_0__delegate \x3d function (G__42600){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[vararg_idx] \x3d G__42600);\n\nwhile(true){\nvar ret__41806__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41805__auto__ \x3d\x3d\x3d ret__41806__auto__)){\ncontinue;\n} else {\nreturn ret__41806__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_0 \x3d function (var_args){\nvar G__42600 \x3d null;\nif (arguments.length \x3e 0) {\nvar G__43375__i \x3d 0, G__43375__a \x3d new Array(arguments.length -  0);\nwhile (G__43375__i \x3c G__43375__a.length) {G__43375__a[G__43375__i] \x3d arguments[G__43375__i + 0]; ++G__43375__i;}\n  G__42600 \x3d new cljs.core.IndexedSeq(G__43375__a,0,null);\n} \nreturn sci$impl$fns$arity_0__delegate.call(this,G__42600);};\nsci$impl$fns$arity_0.cljs$lang$maxFixedArity \x3d 0;\nsci$impl$fns$arity_0.cljs$lang$applyTo \x3d (function (arglist__43376){\nvar G__42600 \x3d cljs.core.seq(arglist__43376);\nreturn sci$impl$fns$arity_0__delegate(G__42600);\n});\nsci$impl$fns$arity_0.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_0__delegate;\nreturn sci$impl$fns$arity_0;\n})()\n;\n\nbreak;\ncase (1):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_1__delegate \x3d function (G__42608,G__42609){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42608);\n\n(invoc_array[vararg_idx] \x3d G__42609);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_1 \x3d function (G__42608,var_args){\nvar G__42609 \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43381__i \x3d 0, G__43381__a \x3d new Array(arguments.length -  1);\nwhile (G__43381__i \x3c G__43381__a.length) {G__43381__a[G__43381__i] \x3d arguments[G__43381__i + 1]; ++G__43381__i;}\n  G__42609 \x3d new cljs.core.IndexedSeq(G__43381__a,0,null);\n} \nreturn sci$impl$fns$arity_1__delegate.call(this,G__42608,G__42609);};\nsci$impl$fns$arity_1.cljs$lang$maxFixedArity \x3d 1;\nsci$impl$fns$arity_1.cljs$lang$applyTo \x3d (function (arglist__43382){\nvar G__42608 \x3d cljs.core.first(arglist__43382);\nvar G__42609 \x3d cljs.core.rest(arglist__43382);\nreturn sci$impl$fns$arity_1__delegate(G__42608,G__42609);\n});\nsci$impl$fns$arity_1.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_1__delegate;\nreturn sci$impl$fns$arity_1;\n})()\n;\n\nbreak;\ncase (2):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_2__delegate \x3d function (G__42620,G__42621,G__42622){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42620);\n\n(invoc_array[(1)] \x3d G__42621);\n\n(invoc_array[vararg_idx] \x3d G__42622);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_2 \x3d function (G__42620,G__42621,var_args){\nvar G__42622 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__43384__i \x3d 0, G__43384__a \x3d new Array(arguments.length -  2);\nwhile (G__43384__i \x3c G__43384__a.length) {G__43384__a[G__43384__i] \x3d arguments[G__43384__i + 2]; ++G__43384__i;}\n  G__42622 \x3d new cljs.core.IndexedSeq(G__43384__a,0,null);\n} \nreturn sci$impl$fns$arity_2__delegate.call(this,G__42620,G__42621,G__42622);};\nsci$impl$fns$arity_2.cljs$lang$maxFixedArity \x3d 2;\nsci$impl$fns$arity_2.cljs$lang$applyTo \x3d (function (arglist__43385){\nvar G__42620 \x3d cljs.core.first(arglist__43385);\narglist__43385 \x3d cljs.core.next(arglist__43385);\nvar G__42621 \x3d cljs.core.first(arglist__43385);\nvar G__42622 \x3d cljs.core.rest(arglist__43385);\nreturn sci$impl$fns$arity_2__delegate(G__42620,G__42621,G__42622);\n});\nsci$impl$fns$arity_2.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_2__delegate;\nreturn sci$impl$fns$arity_2;\n})()\n;\n\nbreak;\ncase (3):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_3__delegate \x3d function (G__42628,G__42629,G__42630,G__42631){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42628);\n\n(invoc_array[(1)] \x3d G__42629);\n\n(invoc_array[(2)] \x3d G__42630);\n\n(invoc_array[vararg_idx] \x3d G__42631);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_3 \x3d function (G__42628,G__42629,G__42630,var_args){\nvar G__42631 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__43389__i \x3d 0, G__43389__a \x3d new Array(arguments.length -  3);\nwhile (G__43389__i \x3c G__43389__a.length) {G__43389__a[G__43389__i] \x3d arguments[G__43389__i + 3]; ++G__43389__i;}\n  G__42631 \x3d new cljs.core.IndexedSeq(G__43389__a,0,null);\n} \nreturn sci$impl$fns$arity_3__delegate.call(this,G__42628,G__42629,G__42630,G__42631);};\nsci$impl$fns$arity_3.cljs$lang$maxFixedArity \x3d 3;\nsci$impl$fns$arity_3.cljs$lang$applyTo \x3d (function (arglist__43390){\nvar G__42628 \x3d cljs.core.first(arglist__43390);\narglist__43390 \x3d cljs.core.next(arglist__43390);\nvar G__42629 \x3d cljs.core.first(arglist__43390);\narglist__43390 \x3d cljs.core.next(arglist__43390);\nvar G__42630 \x3d cljs.core.first(arglist__43390);\nvar G__42631 \x3d cljs.core.rest(arglist__43390);\nreturn sci$impl$fns$arity_3__delegate(G__42628,G__42629,G__42630,G__42631);\n});\nsci$impl$fns$arity_3.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_3__delegate;\nreturn sci$impl$fns$arity_3;\n})()\n;\n\nbreak;\ncase (4):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_4__delegate \x3d function (G__42634,G__42635,G__42636,G__42637,G__42638){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42634);\n\n(invoc_array[(1)] \x3d G__42635);\n\n(invoc_array[(2)] \x3d G__42636);\n\n(invoc_array[(3)] \x3d G__42637);\n\n(invoc_array[vararg_idx] \x3d G__42638);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_4 \x3d function (G__42634,G__42635,G__42636,G__42637,var_args){\nvar G__42638 \x3d null;\nif (arguments.length \x3e 4) {\nvar G__43393__i \x3d 0, G__43393__a \x3d new Array(arguments.length -  4);\nwhile (G__43393__i \x3c G__43393__a.length) {G__43393__a[G__43393__i] \x3d arguments[G__43393__i + 4]; ++G__43393__i;}\n  G__42638 \x3d new cljs.core.IndexedSeq(G__43393__a,0,null);\n} \nreturn sci$impl$fns$arity_4__delegate.call(this,G__42634,G__42635,G__42636,G__42637,G__42638);};\nsci$impl$fns$arity_4.cljs$lang$maxFixedArity \x3d 4;\nsci$impl$fns$arity_4.cljs$lang$applyTo \x3d (function (arglist__43394){\nvar G__42634 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42635 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42636 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42637 \x3d cljs.core.first(arglist__43394);\nvar G__42638 \x3d cljs.core.rest(arglist__43394);\nreturn sci$impl$fns$arity_4__delegate(G__42634,G__42635,G__42636,G__42637,G__42638);\n});\nsci$impl$fns$arity_4.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_4__delegate;\nreturn sci$impl$fns$arity_4;\n})()\n;\n\nbreak;\ncase (5):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_5__delegate \x3d function (G__42645,G__42646,G__42647,G__42648,G__42649,G__42650){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42645);\n\n(invoc_array[(1)] \x3d G__42646);\n\n(invoc_array[(2)] \x3d G__42647);\n\n(invoc_array[(3)] \x3d G__42648);\n\n(invoc_array[(4)] \x3d G__42649);\n\n(invoc_array[vararg_idx] \x3d G__42650);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_5 \x3d function (G__42645,G__42646,G__42647,G__42648,G__42649,var_args){\nvar G__42650 \x3d null;\nif (arguments.length \x3e 5) {\nvar G__43396__i \x3d 0, G__43396__a \x3d new Array(arguments.length -  5);\nwhile (G__43396__i \x3c G__43396__a.length) {G__43396__a[G__43396__i] \x3d arguments[G__43396__i + 5]; ++G__43396__i;}\n  G__42650 \x3d new cljs.core.IndexedSeq(G__43396__a,0,null);\n} \nreturn sci$impl$fns$arity_5__delegate.call(this,G__42645,G__42646,G__42647,G__42648,G__42649,G__42650);};\nsci$impl$fns$arity_5.cljs$lang$maxFixedArity \x3d 5;\nsci$impl$fns$arity_5.cljs$lang$applyTo \x3d (function (arglist__43397){\nvar G__42645 \x3d cljs.core.first(arglist__43397);\narglist__43397 \x3d cljs.core.next(arglist__43397);\nvar G__42646 \x3d cljs.core.first(arglist__43397);\narglist__43397 \x3d cljs.core.next(arglist__43397);\nvar G__42647 \x3d cljs.core.first(arglist__43397);\narglist__43397 \x3d cljs.core.next(arglist__43397);\nvar G__42648 \x3d cljs.core.first(arglist__43397);\narglist__43397 \x3d cljs.core.next(arglist__43397);\nvar G__42649 \x3d cljs.core.first(arglist__43397);\nvar G__42650 \x3d cljs.core.rest(arglist__43397);\nreturn sci$impl$fns$arity_5__delegate(G__42645,G__42646,G__42647,G__42648,G__42649,G__42650);\n});\nsci$impl$fns$arity_5.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_5__delegate;\nreturn sci$impl$fns$arity_5;\n})()\n;\n\nbreak;\ncase (6):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_6__delegate \x3d function (G__42652,G__42653,G__42654,G__42655,G__42656,G__42657,G__42658){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42652);\n\n(invoc_array[(1)] \x3d G__42653);\n\n(invoc_array[(2)] \x3d G__42654);\n\n(invoc_array[(3)] \x3d G__42655);\n\n(invoc_array[(4)] \x3d G__42656);\n\n(invoc_array[(5)] \x3d G__42657);\n\n(invoc_array[vararg_idx] \x3d G__42658);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_6 \x3d function (G__42652,G__42653,G__42654,G__42655,G__42656,G__42657,var_args){\nvar G__42658 \x3d null;\nif (arguments.length \x3e 6) {\nvar G__43399__i \x3d 0, G__43399__a \x3d new Array(arguments.length -  6);\nwhile (G__43399__i \x3c G__43399__a.length) {G__43399__a[G__43399__i] \x3d arguments[G__43399__i + 6]; ++G__43399__i;}\n  G__42658 \x3d new cljs.core.IndexedSeq(G__43399__a,0,null);\n} \nreturn sci$impl$fns$arity_6__delegate.call(this,G__42652,G__42653,G__42654,G__42655,G__42656,G__42657,G__42658);};\nsci$impl$fns$arity_6.cljs$lang$maxFixedArity \x3d 6;\nsci$impl$fns$arity_6.cljs$lang$applyTo \x3d (function (arglist__43400){\nvar G__42652 \x3d cljs.core.first(arglist__43400);\narglist__43400 \x3d cljs.core.next(arglist__43400);\nvar G__42653 \x3d cljs.core.first(arglist__43400);\narglist__43400 \x3d cljs.core.next(arglist__43400);\nvar G__42654 \x3d cljs.core.first(arglist__43400);\narglist__43400 \x3d cljs.core.next(arglist__43400);\nvar G__42655 \x3d cljs.core.first(arglist__43400);\narglist__43400 \x3d cljs.core.next(arglist__43400);\nvar G__42656 \x3d cljs.core.first(arglist__43400);\narglist__43400 \x3d cljs.core.next(arglist__43400);\nvar G__42657 \x3d cljs.core.first(arglist__43400);\nvar G__42658 \x3d cljs.core.rest(arglist__43400);\nreturn sci$impl$fns$arity_6__delegate(G__42652,G__42653,G__42654,G__42655,G__42656,G__42657,G__42658);\n});\nsci$impl$fns$arity_6.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_6__delegate;\nreturn sci$impl$fns$arity_6;\n})()\n;\n\nbreak;\ncase (7):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_7__delegate \x3d function (G__42665,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,G__42672){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42665);\n\n(invoc_array[(1)] \x3d G__42666);\n\n(invoc_array[(2)] \x3d G__42667);\n\n(invoc_array[(3)] \x3d G__42668);\n\n(invoc_array[(4)] \x3d G__42669);\n\n(invoc_array[(5)] \x3d G__42670);\n\n(invoc_array[(6)] \x3d G__42671);\n\n(invoc_array[vararg_idx] \x3d G__42672);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_7 \x3d function (G__42665,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,var_args){\nvar G__42672 \x3d null;\nif (arguments.length \x3e 7) {\nvar G__43403__i \x3d 0, G__43403__a \x3d new Array(arguments.length -  7);\nwhile (G__43403__i \x3c G__43403__a.length) {G__43403__a[G__43403__i] \x3d arguments[G__43403__i + 7]; ++G__43403__i;}\n  G__42672 \x3d new cljs.core.IndexedSeq(G__43403__a,0,null);\n} \nreturn sci$impl$fns$arity_7__delegate.call(this,G__42665,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,G__42672);};\nsci$impl$fns$arity_7.cljs$lang$maxFixedArity \x3d 7;\nsci$impl$fns$arity_7.cljs$lang$applyTo \x3d (function (arglist__43404){\nvar G__42665 \x3d cljs.core.first(arglist__43404);\narglist__43404 \x3d cljs.core.next(arglist__43404);\nvar G__42666 \x3d cljs.core.first(arglist__43404);\narglist__43404 \x3d cljs.core.next(arglist__43404);\nvar G__42667 \x3d cljs.core.first(arglist__43404);\narglist__43404 \x3d cljs.core.next(arglist__43404);\nvar G__42668 \x3d cljs.core.first(arglist__43404);\narglist__43404 \x3d cljs.core.next(arglist__43404);\nvar G__42669 \x3d cljs.core.first(arglist__43404);\narglist__43404 \x3d cljs.core.next(arglist__43404);\nvar G__42670 \x3d cljs.core.first(arglist__43404);\narglist__43404 \x3d cljs.core.next(arglist__43404);\nvar G__42671 \x3d cljs.core.first(arglist__43404);\nvar G__42672 \x3d cljs.core.rest(arglist__43404);\nreturn sci$impl$fns$arity_7__delegate(G__42665,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,G__42672);\n});\nsci$impl$fns$arity_7.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_7__delegate;\nreturn sci$impl$fns$arity_7;\n})()\n;\n\nbreak;\ncase (8):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_8__delegate \x3d function (G__42673,G__42674,G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42673);\n\n(invoc_array[(1)] \x3d G__42674);\n\n(invoc_array[(2)] \x3d G__42675);\n\n(invoc_array[(3)] \x3d G__42676);\n\n(invoc_array[(4)] \x3d G__42677);\n\n(invoc_array[(5)] \x3d G__42678);\n\n(invoc_array[(6)] \x3d G__42679);\n\n(invoc_array[(7)] \x3d G__42680);\n\n(invoc_array[vararg_idx] \x3d G__42681);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_8 \x3d function (G__42673,G__42674,G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,var_args){\nvar G__42681 \x3d null;\nif (arguments.length \x3e 8) {\nvar G__43405__i \x3d 0, G__43405__a \x3d new Array(arguments.length -  8);\nwhile (G__43405__i \x3c G__43405__a.length) {G__43405__a[G__43405__i] \x3d arguments[G__43405__i + 8]; ++G__43405__i;}\n  G__42681 \x3d new cljs.core.IndexedSeq(G__43405__a,0,null);\n} \nreturn sci$impl$fns$arity_8__delegate.call(this,G__42673,G__42674,G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681);};\nsci$impl$fns$arity_8.cljs$lang$maxFixedArity \x3d 8;\nsci$impl$fns$arity_8.cljs$lang$applyTo \x3d (function (arglist__43406){\nvar G__42673 \x3d cljs.core.first(arglist__43406);\narglist__43406 \x3d cljs.core.next(arglist__43406);\nvar G__42674 \x3d cljs.core.first(arglist__43406);\narglist__43406 \x3d cljs.core.next(arglist__43406);\nvar G__42675 \x3d cljs.core.first(arglist__43406);\narglist__43406 \x3d cljs.core.next(arglist__43406);\nvar G__42676 \x3d cljs.core.first(arglist__43406);\narglist__43406 \x3d cljs.core.next(arglist__43406);\nvar G__42677 \x3d cljs.core.first(arglist__43406);\narglist__43406 \x3d cljs.core.next(arglist__43406);\nvar G__42678 \x3d cljs.core.first(arglist__43406);\narglist__43406 \x3d cljs.core.next(arglist__43406);\nvar G__42679 \x3d cljs.core.first(arglist__43406);\narglist__43406 \x3d cljs.core.next(arglist__43406);\nvar G__42680 \x3d cljs.core.first(arglist__43406);\nvar G__42681 \x3d cljs.core.rest(arglist__43406);\nreturn sci$impl$fns$arity_8__delegate(G__42673,G__42674,G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681);\n});\nsci$impl$fns$arity_8.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_8__delegate;\nreturn sci$impl$fns$arity_8;\n})()\n;\n\nbreak;\ncase (9):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_9__delegate \x3d function (G__42682,G__42683,G__42684,G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42682);\n\n(invoc_array[(1)] \x3d G__42683);\n\n(invoc_array[(2)] \x3d G__42684);\n\n(invoc_array[(3)] \x3d G__42685);\n\n(invoc_array[(4)] \x3d G__42686);\n\n(invoc_array[(5)] \x3d G__42687);\n\n(invoc_array[(6)] \x3d G__42688);\n\n(invoc_array[(7)] \x3d G__42689);\n\n(invoc_array[(8)] \x3d G__42690);\n\n(invoc_array[vararg_idx] \x3d G__42691);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_9 \x3d function (G__42682,G__42683,G__42684,G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,var_args){\nvar G__42691 \x3d null;\nif (arguments.length \x3e 9) {\nvar G__43416__i \x3d 0, G__43416__a \x3d new Array(arguments.length -  9);\nwhile (G__43416__i \x3c G__43416__a.length) {G__43416__a[G__43416__i] \x3d arguments[G__43416__i + 9]; ++G__43416__i;}\n  G__42691 \x3d new cljs.core.IndexedSeq(G__43416__a,0,null);\n} \nreturn sci$impl$fns$arity_9__delegate.call(this,G__42682,G__42683,G__42684,G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691);};\nsci$impl$fns$arity_9.cljs$lang$maxFixedArity \x3d 9;\nsci$impl$fns$arity_9.cljs$lang$applyTo \x3d (function (arglist__43417){\nvar G__42682 \x3d cljs.core.first(arglist__43417);\narglist__43417 \x3d cljs.core.next(arglist__43417);\nvar G__42683 \x3d cljs.core.first(arglist__43417);\narglist__43417 \x3d cljs.core.next(arglist__43417);\nvar G__42684 \x3d cljs.core.first(arglist__43417);\narglist__43417 \x3d cljs.core.next(arglist__43417);\nvar G__42685 \x3d cljs.core.first(arglist__43417);\narglist__43417 \x3d cljs.core.next(arglist__43417);\nvar G__42686 \x3d cljs.core.first(arglist__43417);\narglist__43417 \x3d cljs.core.next(arglist__43417);\nvar G__42687 \x3d cljs.core.first(arglist__43417);\narglist__43417 \x3d cljs.core.next(arglist__43417);\nvar G__42688 \x3d cljs.core.first(arglist__43417);\narglist__43417 \x3d cljs.core.next(arglist__43417);\nvar G__42689 \x3d cljs.core.first(arglist__43417);\narglist__43417 \x3d cljs.core.next(arglist__43417);\nvar G__42690 \x3d cljs.core.first(arglist__43417);\nvar G__42691 \x3d cljs.core.rest(arglist__43417);\nreturn sci$impl$fns$arity_9__delegate(G__42682,G__42683,G__42684,G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691);\n});\nsci$impl$fns$arity_9.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_9__delegate;\nreturn sci$impl$fns$arity_9;\n})()\n;\n\nbreak;\ncase (10):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_10__delegate \x3d function (G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704,G__42705,G__42706,G__42707){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42697);\n\n(invoc_array[(1)] \x3d G__42698);\n\n(invoc_array[(2)] \x3d G__42699);\n\n(invoc_array[(3)] \x3d G__42700);\n\n(invoc_array[(4)] \x3d G__42701);\n\n(invoc_array[(5)] \x3d G__42702);\n\n(invoc_array[(6)] \x3d G__42703);\n\n(invoc_array[(7)] \x3d G__42704);\n\n(invoc_array[(8)] \x3d G__42705);\n\n(invoc_array[(9)] \x3d G__42706);\n\n(invoc_array[vararg_idx] \x3d G__42707);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_10 \x3d function (G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704,G__42705,G__42706,var_args){\nvar G__42707 \x3d null;\nif (arguments.length \x3e 10) {\nvar G__43424__i \x3d 0, G__43424__a \x3d new Array(arguments.length -  10);\nwhile (G__43424__i \x3c G__43424__a.length) {G__43424__a[G__43424__i] \x3d arguments[G__43424__i + 10]; ++G__43424__i;}\n  G__42707 \x3d new cljs.core.IndexedSeq(G__43424__a,0,null);\n} \nreturn sci$impl$fns$arity_10__delegate.call(this,G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704,G__42705,G__42706,G__42707);};\nsci$impl$fns$arity_10.cljs$lang$maxFixedArity \x3d 10;\nsci$impl$fns$arity_10.cljs$lang$applyTo \x3d (function (arglist__43427){\nvar G__42697 \x3d cljs.core.first(arglist__43427);\narglist__43427 \x3d cljs.core.next(arglist__43427);\nvar G__42698 \x3d cljs.core.first(arglist__43427);\narglist__43427 \x3d cljs.core.next(arglist__43427);\nvar G__42699 \x3d cljs.core.first(arglist__43427);\narglist__43427 \x3d cljs.core.next(arglist__43427);\nvar G__42700 \x3d cljs.core.first(arglist__43427);\narglist__43427 \x3d cljs.core.next(arglist__43427);\nvar G__42701 \x3d cljs.core.first(arglist__43427);\narglist__43427 \x3d cljs.core.next(arglist__43427);\nvar G__42702 \x3d cljs.core.first(arglist__43427);\narglist__43427 \x3d cljs.core.next(arglist__43427);\nvar G__42703 \x3d cljs.core.first(arglist__43427);\narglist__43427 \x3d cljs.core.next(arglist__43427);\nvar G__42704 \x3d cljs.core.first(arglist__43427);\narglist__43427 \x3d cljs.core.next(arglist__43427);\nvar G__42705 \x3d cljs.core.first(arglist__43427);\narglist__43427 \x3d cljs.core.next(arglist__43427);\nvar G__42706 \x3d cljs.core.first(arglist__43427);\nvar G__42707 \x3d cljs.core.rest(arglist__43427);\nreturn sci$impl$fns$arity_10__delegate(G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704,G__42705,G__42706,G__42707);\n});\nsci$impl$fns$arity_10.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_10__delegate;\nreturn sci$impl$fns$arity_10;\n})()\n;\n\nbreak;\ncase (11):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_11__delegate \x3d function (G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719,G__42720,G__42721){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42710);\n\n(invoc_array[(1)] \x3d G__42711);\n\n(invoc_array[(2)] \x3d G__42712);\n\n(invoc_array[(3)] \x3d G__42713);\n\n(invoc_array[(4)] \x3d G__42714);\n\n(invoc_array[(5)] \x3d G__42715);\n\n(invoc_array[(6)] \x3d G__42716);\n\n(invoc_array[(7)] \x3d G__42717);\n\n(invoc_array[(8)] \x3d G__42718);\n\n(invoc_array[(9)] \x3d G__42719);\n\n(invoc_array[(10)] \x3d G__42720);\n\n(invoc_array[vararg_idx] \x3d G__42721);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_11 \x3d function (G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719,G__42720,var_args){\nvar G__42721 \x3d null;\nif (arguments.length \x3e 11) {\nvar G__43439__i \x3d 0, G__43439__a \x3d new Array(arguments.length -  11);\nwhile (G__43439__i \x3c G__43439__a.length) {G__43439__a[G__43439__i] \x3d arguments[G__43439__i + 11]; ++G__43439__i;}\n  G__42721 \x3d new cljs.core.IndexedSeq(G__43439__a,0,null);\n} \nreturn sci$impl$fns$arity_11__delegate.call(this,G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719,G__42720,G__42721);};\nsci$impl$fns$arity_11.cljs$lang$maxFixedArity \x3d 11;\nsci$impl$fns$arity_11.cljs$lang$applyTo \x3d (function (arglist__43444){\nvar G__42710 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42711 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42712 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42713 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42714 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42715 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42716 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42717 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42718 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42719 \x3d cljs.core.first(arglist__43444);\narglist__43444 \x3d cljs.core.next(arglist__43444);\nvar G__42720 \x3d cljs.core.first(arglist__43444);\nvar G__42721 \x3d cljs.core.rest(arglist__43444);\nreturn sci$impl$fns$arity_11__delegate(G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719,G__42720,G__42721);\n});\nsci$impl$fns$arity_11.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_11__delegate;\nreturn sci$impl$fns$arity_11;\n})()\n;\n\nbreak;\ncase (12):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_12__delegate \x3d function (G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731,G__42732,G__42733,G__42734,G__42735,G__42736){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42724);\n\n(invoc_array[(1)] \x3d G__42725);\n\n(invoc_array[(2)] \x3d G__42726);\n\n(invoc_array[(3)] \x3d G__42727);\n\n(invoc_array[(4)] \x3d G__42728);\n\n(invoc_array[(5)] \x3d G__42729);\n\n(invoc_array[(6)] \x3d G__42730);\n\n(invoc_array[(7)] \x3d G__42731);\n\n(invoc_array[(8)] \x3d G__42732);\n\n(invoc_array[(9)] \x3d G__42733);\n\n(invoc_array[(10)] \x3d G__42734);\n\n(invoc_array[(11)] \x3d G__42735);\n\n(invoc_array[vararg_idx] \x3d G__42736);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_12 \x3d function (G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731,G__42732,G__42733,G__42734,G__42735,var_args){\nvar G__42736 \x3d null;\nif (arguments.length \x3e 12) {\nvar G__43458__i \x3d 0, G__43458__a \x3d new Array(arguments.length -  12);\nwhile (G__43458__i \x3c G__43458__a.length) {G__43458__a[G__43458__i] \x3d arguments[G__43458__i + 12]; ++G__43458__i;}\n  G__42736 \x3d new cljs.core.IndexedSeq(G__43458__a,0,null);\n} \nreturn sci$impl$fns$arity_12__delegate.call(this,G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731,G__42732,G__42733,G__42734,G__42735,G__42736);};\nsci$impl$fns$arity_12.cljs$lang$maxFixedArity \x3d 12;\nsci$impl$fns$arity_12.cljs$lang$applyTo \x3d (function (arglist__43459){\nvar G__42724 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42725 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42726 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42727 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42728 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42729 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42730 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42731 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42732 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42733 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42734 \x3d cljs.core.first(arglist__43459);\narglist__43459 \x3d cljs.core.next(arglist__43459);\nvar G__42735 \x3d cljs.core.first(arglist__43459);\nvar G__42736 \x3d cljs.core.rest(arglist__43459);\nreturn sci$impl$fns$arity_12__delegate(G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731,G__42732,G__42733,G__42734,G__42735,G__42736);\n});\nsci$impl$fns$arity_12.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_12__delegate;\nreturn sci$impl$fns$arity_12;\n})()\n;\n\nbreak;\ncase (13):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_13__delegate \x3d function (G__42740,G__42741,G__42742,G__42743,G__42744,G__42745,G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42740);\n\n(invoc_array[(1)] \x3d G__42741);\n\n(invoc_array[(2)] \x3d G__42742);\n\n(invoc_array[(3)] \x3d G__42743);\n\n(invoc_array[(4)] \x3d G__42744);\n\n(invoc_array[(5)] \x3d G__42745);\n\n(invoc_array[(6)] \x3d G__42746);\n\n(invoc_array[(7)] \x3d G__42747);\n\n(invoc_array[(8)] \x3d G__42748);\n\n(invoc_array[(9)] \x3d G__42749);\n\n(invoc_array[(10)] \x3d G__42750);\n\n(invoc_array[(11)] \x3d G__42751);\n\n(invoc_array[(12)] \x3d G__42752);\n\n(invoc_array[vararg_idx] \x3d G__42753);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_13 \x3d function (G__42740,G__42741,G__42742,G__42743,G__42744,G__42745,G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,var_args){\nvar G__42753 \x3d null;\nif (arguments.length \x3e 13) {\nvar G__43461__i \x3d 0, G__43461__a \x3d new Array(arguments.length -  13);\nwhile (G__43461__i \x3c G__43461__a.length) {G__43461__a[G__43461__i] \x3d arguments[G__43461__i + 13]; ++G__43461__i;}\n  G__42753 \x3d new cljs.core.IndexedSeq(G__43461__a,0,null);\n} \nreturn sci$impl$fns$arity_13__delegate.call(this,G__42740,G__42741,G__42742,G__42743,G__42744,G__42745,G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753);};\nsci$impl$fns$arity_13.cljs$lang$maxFixedArity \x3d 13;\nsci$impl$fns$arity_13.cljs$lang$applyTo \x3d (function (arglist__43462){\nvar G__42740 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42741 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42742 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42743 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42744 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42745 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42746 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42747 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42748 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42749 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42750 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42751 \x3d cljs.core.first(arglist__43462);\narglist__43462 \x3d cljs.core.next(arglist__43462);\nvar G__42752 \x3d cljs.core.first(arglist__43462);\nvar G__42753 \x3d cljs.core.rest(arglist__43462);\nreturn sci$impl$fns$arity_13__delegate(G__42740,G__42741,G__42742,G__42743,G__42744,G__42745,G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753);\n});\nsci$impl$fns$arity_13.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_13__delegate;\nreturn sci$impl$fns$arity_13;\n})()\n;\n\nbreak;\ncase (14):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_14__delegate \x3d function (G__42759,G__42760,G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42759);\n\n(invoc_array[(1)] \x3d G__42760);\n\n(invoc_array[(2)] \x3d G__42761);\n\n(invoc_array[(3)] \x3d G__42762);\n\n(invoc_array[(4)] \x3d G__42763);\n\n(invoc_array[(5)] \x3d G__42764);\n\n(invoc_array[(6)] \x3d G__42765);\n\n(invoc_array[(7)] \x3d G__42766);\n\n(invoc_array[(8)] \x3d G__42767);\n\n(invoc_array[(9)] \x3d G__42768);\n\n(invoc_array[(10)] \x3d G__42769);\n\n(invoc_array[(11)] \x3d G__42770);\n\n(invoc_array[(12)] \x3d G__42771);\n\n(invoc_array[(13)] \x3d G__42772);\n\n(invoc_array[vararg_idx] \x3d G__42773);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_14 \x3d function (G__42759,G__42760,G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,var_args){\nvar G__42773 \x3d null;\nif (arguments.length \x3e 14) {\nvar G__43468__i \x3d 0, G__43468__a \x3d new Array(arguments.length -  14);\nwhile (G__43468__i \x3c G__43468__a.length) {G__43468__a[G__43468__i] \x3d arguments[G__43468__i + 14]; ++G__43468__i;}\n  G__42773 \x3d new cljs.core.IndexedSeq(G__43468__a,0,null);\n} \nreturn sci$impl$fns$arity_14__delegate.call(this,G__42759,G__42760,G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773);};\nsci$impl$fns$arity_14.cljs$lang$maxFixedArity \x3d 14;\nsci$impl$fns$arity_14.cljs$lang$applyTo \x3d (function (arglist__43469){\nvar G__42759 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42760 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42761 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42762 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42763 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42764 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42765 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42766 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42767 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42768 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42769 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42770 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42771 \x3d cljs.core.first(arglist__43469);\narglist__43469 \x3d cljs.core.next(arglist__43469);\nvar G__42772 \x3d cljs.core.first(arglist__43469);\nvar G__42773 \x3d cljs.core.rest(arglist__43469);\nreturn sci$impl$fns$arity_14__delegate(G__42759,G__42760,G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773);\n});\nsci$impl$fns$arity_14.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_14__delegate;\nreturn sci$impl$fns$arity_14;\n})()\n;\n\nbreak;\ncase (15):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_15__delegate \x3d function (G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791,G__42792,G__42793,G__42794,G__42795){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42780);\n\n(invoc_array[(1)] \x3d G__42781);\n\n(invoc_array[(2)] \x3d G__42782);\n\n(invoc_array[(3)] \x3d G__42783);\n\n(invoc_array[(4)] \x3d G__42784);\n\n(invoc_array[(5)] \x3d G__42785);\n\n(invoc_array[(6)] \x3d G__42786);\n\n(invoc_array[(7)] \x3d G__42787);\n\n(invoc_array[(8)] \x3d G__42788);\n\n(invoc_array[(9)] \x3d G__42789);\n\n(invoc_array[(10)] \x3d G__42790);\n\n(invoc_array[(11)] \x3d G__42791);\n\n(invoc_array[(12)] \x3d G__42792);\n\n(invoc_array[(13)] \x3d G__42793);\n\n(invoc_array[(14)] \x3d G__42794);\n\n(invoc_array[vararg_idx] \x3d G__42795);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_15 \x3d function (G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791,G__42792,G__42793,G__42794,var_args){\nvar G__42795 \x3d null;\nif (arguments.length \x3e 15) {\nvar G__43477__i \x3d 0, G__43477__a \x3d new Array(arguments.length -  15);\nwhile (G__43477__i \x3c G__43477__a.length) {G__43477__a[G__43477__i] \x3d arguments[G__43477__i + 15]; ++G__43477__i;}\n  G__42795 \x3d new cljs.core.IndexedSeq(G__43477__a,0,null);\n} \nreturn sci$impl$fns$arity_15__delegate.call(this,G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791,G__42792,G__42793,G__42794,G__42795);};\nsci$impl$fns$arity_15.cljs$lang$maxFixedArity \x3d 15;\nsci$impl$fns$arity_15.cljs$lang$applyTo \x3d (function (arglist__43478){\nvar G__42780 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42781 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42782 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42783 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42784 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42785 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42786 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42787 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42788 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42789 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42790 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42791 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42792 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42793 \x3d cljs.core.first(arglist__43478);\narglist__43478 \x3d cljs.core.next(arglist__43478);\nvar G__42794 \x3d cljs.core.first(arglist__43478);\nvar G__42795 \x3d cljs.core.rest(arglist__43478);\nreturn sci$impl$fns$arity_15__delegate(G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791,G__42792,G__42793,G__42794,G__42795);\n});\nsci$impl$fns$arity_15.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_15__delegate;\nreturn sci$impl$fns$arity_15;\n})()\n;\n\nbreak;\ncase (16):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_16__delegate \x3d function (G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809,G__42810,G__42811,G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42802);\n\n(invoc_array[(1)] \x3d G__42803);\n\n(invoc_array[(2)] \x3d G__42804);\n\n(invoc_array[(3)] \x3d G__42805);\n\n(invoc_array[(4)] \x3d G__42806);\n\n(invoc_array[(5)] \x3d G__42807);\n\n(invoc_array[(6)] \x3d G__42808);\n\n(invoc_array[(7)] \x3d G__42809);\n\n(invoc_array[(8)] \x3d G__42810);\n\n(invoc_array[(9)] \x3d G__42811);\n\n(invoc_array[(10)] \x3d G__42812);\n\n(invoc_array[(11)] \x3d G__42813);\n\n(invoc_array[(12)] \x3d G__42814);\n\n(invoc_array[(13)] \x3d G__42815);\n\n(invoc_array[(14)] \x3d G__42816);\n\n(invoc_array[(15)] \x3d G__42817);\n\n(invoc_array[vararg_idx] \x3d G__42818);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_16 \x3d function (G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809,G__42810,G__42811,G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,var_args){\nvar G__42818 \x3d null;\nif (arguments.length \x3e 16) {\nvar G__43479__i \x3d 0, G__43479__a \x3d new Array(arguments.length -  16);\nwhile (G__43479__i \x3c G__43479__a.length) {G__43479__a[G__43479__i] \x3d arguments[G__43479__i + 16]; ++G__43479__i;}\n  G__42818 \x3d new cljs.core.IndexedSeq(G__43479__a,0,null);\n} \nreturn sci$impl$fns$arity_16__delegate.call(this,G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809,G__42810,G__42811,G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818);};\nsci$impl$fns$arity_16.cljs$lang$maxFixedArity \x3d 16;\nsci$impl$fns$arity_16.cljs$lang$applyTo \x3d (function (arglist__43480){\nvar G__42802 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42803 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42804 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42805 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42806 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42807 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42808 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42809 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42810 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42811 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42812 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42813 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42814 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42815 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42816 \x3d cljs.core.first(arglist__43480);\narglist__43480 \x3d cljs.core.next(arglist__43480);\nvar G__42817 \x3d cljs.core.first(arglist__43480);\nvar G__42818 \x3d cljs.core.rest(arglist__43480);\nreturn sci$impl$fns$arity_16__delegate(G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809,G__42810,G__42811,G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818);\n});\nsci$impl$fns$arity_16.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_16__delegate;\nreturn sci$impl$fns$arity_16;\n})()\n;\n\nbreak;\ncase (17):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_17__delegate \x3d function (G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829,G__42830,G__42831,G__42832,G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42823);\n\n(invoc_array[(1)] \x3d G__42824);\n\n(invoc_array[(2)] \x3d G__42825);\n\n(invoc_array[(3)] \x3d G__42826);\n\n(invoc_array[(4)] \x3d G__42827);\n\n(invoc_array[(5)] \x3d G__42828);\n\n(invoc_array[(6)] \x3d G__42829);\n\n(invoc_array[(7)] \x3d G__42830);\n\n(invoc_array[(8)] \x3d G__42831);\n\n(invoc_array[(9)] \x3d G__42832);\n\n(invoc_array[(10)] \x3d G__42833);\n\n(invoc_array[(11)] \x3d G__42834);\n\n(invoc_array[(12)] \x3d G__42835);\n\n(invoc_array[(13)] \x3d G__42836);\n\n(invoc_array[(14)] \x3d G__42837);\n\n(invoc_array[(15)] \x3d G__42838);\n\n(invoc_array[(16)] \x3d G__42839);\n\n(invoc_array[vararg_idx] \x3d G__42840);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_17 \x3d function (G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829,G__42830,G__42831,G__42832,G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,var_args){\nvar G__42840 \x3d null;\nif (arguments.length \x3e 17) {\nvar G__43481__i \x3d 0, G__43481__a \x3d new Array(arguments.length -  17);\nwhile (G__43481__i \x3c G__43481__a.length) {G__43481__a[G__43481__i] \x3d arguments[G__43481__i + 17]; ++G__43481__i;}\n  G__42840 \x3d new cljs.core.IndexedSeq(G__43481__a,0,null);\n} \nreturn sci$impl$fns$arity_17__delegate.call(this,G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829,G__42830,G__42831,G__42832,G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840);};\nsci$impl$fns$arity_17.cljs$lang$maxFixedArity \x3d 17;\nsci$impl$fns$arity_17.cljs$lang$applyTo \x3d (function (arglist__43482){\nvar G__42823 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42824 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42825 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42826 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42827 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42828 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42829 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42830 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42831 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42832 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42833 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42834 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42835 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42836 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42837 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42838 \x3d cljs.core.first(arglist__43482);\narglist__43482 \x3d cljs.core.next(arglist__43482);\nvar G__42839 \x3d cljs.core.first(arglist__43482);\nvar G__42840 \x3d cljs.core.rest(arglist__43482);\nreturn sci$impl$fns$arity_17__delegate(G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829,G__42830,G__42831,G__42832,G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840);\n});\nsci$impl$fns$arity_17.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_17__delegate;\nreturn sci$impl$fns$arity_17;\n})()\n;\n\nbreak;\ncase (18):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_18__delegate \x3d function (G__42846,G__42847,G__42848,G__42849,G__42850,G__42851,G__42852,G__42853,G__42854,G__42855,G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42846);\n\n(invoc_array[(1)] \x3d G__42847);\n\n(invoc_array[(2)] \x3d G__42848);\n\n(invoc_array[(3)] \x3d G__42849);\n\n(invoc_array[(4)] \x3d G__42850);\n\n(invoc_array[(5)] \x3d G__42851);\n\n(invoc_array[(6)] \x3d G__42852);\n\n(invoc_array[(7)] \x3d G__42853);\n\n(invoc_array[(8)] \x3d G__42854);\n\n(invoc_array[(9)] \x3d G__42855);\n\n(invoc_array[(10)] \x3d G__42856);\n\n(invoc_array[(11)] \x3d G__42857);\n\n(invoc_array[(12)] \x3d G__42858);\n\n(invoc_array[(13)] \x3d G__42859);\n\n(invoc_array[(14)] \x3d G__42860);\n\n(invoc_array[(15)] \x3d G__42861);\n\n(invoc_array[(16)] \x3d G__42862);\n\n(invoc_array[(17)] \x3d G__42863);\n\n(invoc_array[vararg_idx] \x3d G__42864);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_18 \x3d function (G__42846,G__42847,G__42848,G__42849,G__42850,G__42851,G__42852,G__42853,G__42854,G__42855,G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,var_args){\nvar G__42864 \x3d null;\nif (arguments.length \x3e 18) {\nvar G__43489__i \x3d 0, G__43489__a \x3d new Array(arguments.length -  18);\nwhile (G__43489__i \x3c G__43489__a.length) {G__43489__a[G__43489__i] \x3d arguments[G__43489__i + 18]; ++G__43489__i;}\n  G__42864 \x3d new cljs.core.IndexedSeq(G__43489__a,0,null);\n} \nreturn sci$impl$fns$arity_18__delegate.call(this,G__42846,G__42847,G__42848,G__42849,G__42850,G__42851,G__42852,G__42853,G__42854,G__42855,G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864);};\nsci$impl$fns$arity_18.cljs$lang$maxFixedArity \x3d 18;\nsci$impl$fns$arity_18.cljs$lang$applyTo \x3d (function (arglist__43490){\nvar G__42846 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42847 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42848 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42849 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42850 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42851 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42852 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42853 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42854 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42855 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42856 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42857 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42858 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42859 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42860 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42861 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42862 \x3d cljs.core.first(arglist__43490);\narglist__43490 \x3d cljs.core.next(arglist__43490);\nvar G__42863 \x3d cljs.core.first(arglist__43490);\nvar G__42864 \x3d cljs.core.rest(arglist__43490);\nreturn sci$impl$fns$arity_18__delegate(G__42846,G__42847,G__42848,G__42849,G__42850,G__42851,G__42852,G__42853,G__42854,G__42855,G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864);\n});\nsci$impl$fns$arity_18.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_18__delegate;\nreturn sci$impl$fns$arity_18;\n})()\n;\n\nbreak;\ncase (19):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_19__delegate \x3d function (G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875,G__42876,G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42868);\n\n(invoc_array[(1)] \x3d G__42869);\n\n(invoc_array[(2)] \x3d G__42870);\n\n(invoc_array[(3)] \x3d G__42871);\n\n(invoc_array[(4)] \x3d G__42872);\n\n(invoc_array[(5)] \x3d G__42873);\n\n(invoc_array[(6)] \x3d G__42874);\n\n(invoc_array[(7)] \x3d G__42875);\n\n(invoc_array[(8)] \x3d G__42876);\n\n(invoc_array[(9)] \x3d G__42877);\n\n(invoc_array[(10)] \x3d G__42878);\n\n(invoc_array[(11)] \x3d G__42879);\n\n(invoc_array[(12)] \x3d G__42880);\n\n(invoc_array[(13)] \x3d G__42881);\n\n(invoc_array[(14)] \x3d G__42882);\n\n(invoc_array[(15)] \x3d G__42883);\n\n(invoc_array[(16)] \x3d G__42884);\n\n(invoc_array[(17)] \x3d G__42885);\n\n(invoc_array[(18)] \x3d G__42886);\n\n(invoc_array[vararg_idx] \x3d G__42887);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_19 \x3d function (G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875,G__42876,G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,var_args){\nvar G__42887 \x3d null;\nif (arguments.length \x3e 19) {\nvar G__43493__i \x3d 0, G__43493__a \x3d new Array(arguments.length -  19);\nwhile (G__43493__i \x3c G__43493__a.length) {G__43493__a[G__43493__i] \x3d arguments[G__43493__i + 19]; ++G__43493__i;}\n  G__42887 \x3d new cljs.core.IndexedSeq(G__43493__a,0,null);\n} \nreturn sci$impl$fns$arity_19__delegate.call(this,G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875,G__42876,G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887);};\nsci$impl$fns$arity_19.cljs$lang$maxFixedArity \x3d 19;\nsci$impl$fns$arity_19.cljs$lang$applyTo \x3d (function (arglist__43498){\nvar G__42868 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42869 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42870 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42871 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42872 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42873 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42874 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42875 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42876 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42877 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42878 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42879 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42880 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42881 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42882 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42883 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42884 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42885 \x3d cljs.core.first(arglist__43498);\narglist__43498 \x3d cljs.core.next(arglist__43498);\nvar G__42886 \x3d cljs.core.first(arglist__43498);\nvar G__42887 \x3d cljs.core.rest(arglist__43498);\nreturn sci$impl$fns$arity_19__delegate(G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875,G__42876,G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887);\n});\nsci$impl$fns$arity_19.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_19__delegate;\nreturn sci$impl$fns$arity_19;\n})()\n;\n\nbreak;\ncase (20):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_20__delegate \x3d function (G__42895,G__42896,G__42897,G__42898,G__42899,G__42900,G__42901,G__42902,G__42903,G__42904,G__42905,G__42906,G__42907,G__42908,G__42909,G__42910,G__42911,G__42912,G__42913,G__42914,G__42915){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42895);\n\n(invoc_array[(1)] \x3d G__42896);\n\n(invoc_array[(2)] \x3d G__42897);\n\n(invoc_array[(3)] \x3d G__42898);\n\n(invoc_array[(4)] \x3d G__42899);\n\n(invoc_array[(5)] \x3d G__42900);\n\n(invoc_array[(6)] \x3d G__42901);\n\n(invoc_array[(7)] \x3d G__42902);\n\n(invoc_array[(8)] \x3d G__42903);\n\n(invoc_array[(9)] \x3d G__42904);\n\n(invoc_array[(10)] \x3d G__42905);\n\n(invoc_array[(11)] \x3d G__42906);\n\n(invoc_array[(12)] \x3d G__42907);\n\n(invoc_array[(13)] \x3d G__42908);\n\n(invoc_array[(14)] \x3d G__42909);\n\n(invoc_array[(15)] \x3d G__42910);\n\n(invoc_array[(16)] \x3d G__42911);\n\n(invoc_array[(17)] \x3d G__42912);\n\n(invoc_array[(18)] \x3d G__42913);\n\n(invoc_array[(19)] \x3d G__42914);\n\n(invoc_array[vararg_idx] \x3d G__42915);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_20 \x3d function (G__42895,G__42896,G__42897,G__42898,G__42899,G__42900,G__42901,G__42902,G__42903,G__42904,G__42905,G__42906,G__42907,G__42908,G__42909,G__42910,G__42911,G__42912,G__42913,G__42914,var_args){\nvar G__42915 \x3d null;\nif (arguments.length \x3e 20) {\nvar G__43503__i \x3d 0, G__43503__a \x3d new Array(arguments.length -  20);\nwhile (G__43503__i \x3c G__43503__a.length) {G__43503__a[G__43503__i] \x3d arguments[G__43503__i + 20]; ++G__43503__i;}\n  G__42915 \x3d new cljs.core.IndexedSeq(G__43503__a,0,null);\n} \nreturn sci$impl$fns$arity_20__delegate.call(this,G__42895,G__42896,G__42897,G__42898,G__42899,G__42900,G__42901,G__42902,G__42903,G__42904,G__42905,G__42906,G__42907,G__42908,G__42909,G__42910,G__42911,G__42912,G__42913,G__42914,G__42915);};\nsci$impl$fns$arity_20.cljs$lang$maxFixedArity \x3d 20;\nsci$impl$fns$arity_20.cljs$lang$applyTo \x3d (function (arglist__43507){\nvar G__42895 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42896 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42897 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42898 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42899 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42900 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42901 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42902 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42903 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42904 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42905 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42906 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42907 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42908 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42909 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42910 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42911 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42912 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42913 \x3d cljs.core.first(arglist__43507);\narglist__43507 \x3d cljs.core.next(arglist__43507);\nvar G__42914 \x3d cljs.core.first(arglist__43507);\nvar G__42915 \x3d cljs.core.rest(arglist__43507);\nreturn sci$impl$fns$arity_20__delegate(G__42895,G__42896,G__42897,G__42898,G__42899,G__42900,G__42901,G__42902,G__42903,G__42904,G__42905,G__42906,G__42907,G__42908,G__42909,G__42910,G__42911,G__42912,G__42913,G__42914,G__42915);\n});\nsci$impl$fns$arity_20.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_20__delegate;\nreturn sci$impl$fns$arity_20;\n})()\n;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__42599)].join(\x27\x27)));\n\n}\n})():(function (){var G__42926 \x3d fixed_arity;\nswitch (G__42926) {\ncase (0):\nvar recur__41805__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_0(){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\nwhile(true){\nvar ret__41806__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41805__auto__ \x3d\x3d\x3d ret__41806__auto__)){\ncontinue;\n} else {\nreturn ret__41806__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (1):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_1(G__42932){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42932);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (2):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_2(G__42946,G__42947){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42946);\n\n(invoc_array[(1)] \x3d G__42947);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (3):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_3(G__42957,G__42958,G__42959){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42957);\n\n(invoc_array[(1)] \x3d G__42958);\n\n(invoc_array[(2)] \x3d G__42959);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (4):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_4(G__42968,G__42969,G__42970,G__42971){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42968);\n\n(invoc_array[(1)] \x3d G__42969);\n\n(invoc_array[(2)] \x3d G__42970);\n\n(invoc_array[(3)] \x3d G__42971);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (5):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_5(G__42977,G__42978,G__42979,G__42980,G__42981){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42977);\n\n(invoc_array[(1)] \x3d G__42978);\n\n(invoc_array[(2)] \x3d G__42979);\n\n(invoc_array[(3)] \x3d G__42980);\n\n(invoc_array[(4)] \x3d G__42981);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (6):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_6(G__42989,G__42990,G__42991,G__42992,G__42993,G__42994){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42989);\n\n(invoc_array[(1)] \x3d G__42990);\n\n(invoc_array[(2)] \x3d G__42991);\n\n(invoc_array[(3)] \x3d G__42992);\n\n(invoc_array[(4)] \x3d G__42993);\n\n(invoc_array[(5)] \x3d G__42994);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (7):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_7(G__42999,G__43000,G__43001,G__43002,G__43003,G__43005,G__43006){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42999);\n\n(invoc_array[(1)] \x3d G__43000);\n\n(invoc_array[(2)] \x3d G__43001);\n\n(invoc_array[(3)] \x3d G__43002);\n\n(invoc_array[(4)] \x3d G__43003);\n\n(invoc_array[(5)] \x3d G__43005);\n\n(invoc_array[(6)] \x3d G__43006);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (8):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_8(G__43011,G__43012,G__43013,G__43014,G__43015,G__43016,G__43017,G__43018){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43011);\n\n(invoc_array[(1)] \x3d G__43012);\n\n(invoc_array[(2)] \x3d G__43013);\n\n(invoc_array[(3)] \x3d G__43014);\n\n(invoc_array[(4)] \x3d G__43015);\n\n(invoc_array[(5)] \x3d G__43016);\n\n(invoc_array[(6)] \x3d G__43017);\n\n(invoc_array[(7)] \x3d G__43018);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (9):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_9(G__43028,G__43029,G__43030,G__43031,G__43032,G__43033,G__43034,G__43035,G__43036){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43028);\n\n(invoc_array[(1)] \x3d G__43029);\n\n(invoc_array[(2)] \x3d G__43030);\n\n(invoc_array[(3)] \x3d G__43031);\n\n(invoc_array[(4)] \x3d G__43032);\n\n(invoc_array[(5)] \x3d G__43033);\n\n(invoc_array[(6)] \x3d G__43034);\n\n(invoc_array[(7)] \x3d G__43035);\n\n(invoc_array[(8)] \x3d G__43036);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (10):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_10(G__43047,G__43048,G__43049,G__43050,G__43051,G__43052,G__43053,G__43054,G__43055,G__43056){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43047);\n\n(invoc_array[(1)] \x3d G__43048);\n\n(invoc_array[(2)] \x3d G__43049);\n\n(invoc_array[(3)] \x3d G__43050);\n\n(invoc_array[(4)] \x3d G__43051);\n\n(invoc_array[(5)] \x3d G__43052);\n\n(invoc_array[(6)] \x3d G__43053);\n\n(invoc_array[(7)] \x3d G__43054);\n\n(invoc_array[(8)] \x3d G__43055);\n\n(invoc_array[(9)] \x3d G__43056);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (11):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_11(G__43061,G__43062,G__43063,G__43064,G__43065,G__43066,G__43067,G__43068,G__43069,G__43070,G__43071){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43061);\n\n(invoc_array[(1)] \x3d G__43062);\n\n(invoc_array[(2)] \x3d G__43063);\n\n(invoc_array[(3)] \x3d G__43064);\n\n(invoc_array[(4)] \x3d G__43065);\n\n(invoc_array[(5)] \x3d G__43066);\n\n(invoc_array[(6)] \x3d G__43067);\n\n(invoc_array[(7)] \x3d G__43068);\n\n(invoc_array[(8)] \x3d G__43069);\n\n(invoc_array[(9)] \x3d G__43070);\n\n(invoc_array[(10)] \x3d G__43071);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (12):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_12(G__43078,G__43079,G__43080,G__43081,G__43082,G__43083,G__43084,G__43085,G__43086,G__43087,G__43088,G__43089){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43078);\n\n(invoc_array[(1)] \x3d G__43079);\n\n(invoc_array[(2)] \x3d G__43080);\n\n(invoc_array[(3)] \x3d G__43081);\n\n(invoc_array[(4)] \x3d G__43082);\n\n(invoc_array[(5)] \x3d G__43083);\n\n(invoc_array[(6)] \x3d G__43084);\n\n(invoc_array[(7)] \x3d G__43085);\n\n(invoc_array[(8)] \x3d G__43086);\n\n(invoc_array[(9)] \x3d G__43087);\n\n(invoc_array[(10)] \x3d G__43088);\n\n(invoc_array[(11)] \x3d G__43089);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (13):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_13(G__43097,G__43098,G__43099,G__43100,G__43101,G__43102,G__43103,G__43104,G__43105,G__43106,G__43107,G__43108,G__43109){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43097);\n\n(invoc_array[(1)] \x3d G__43098);\n\n(invoc_array[(2)] \x3d G__43099);\n\n(invoc_array[(3)] \x3d G__43100);\n\n(invoc_array[(4)] \x3d G__43101);\n\n(invoc_array[(5)] \x3d G__43102);\n\n(invoc_array[(6)] \x3d G__43103);\n\n(invoc_array[(7)] \x3d G__43104);\n\n(invoc_array[(8)] \x3d G__43105);\n\n(invoc_array[(9)] \x3d G__43106);\n\n(invoc_array[(10)] \x3d G__43107);\n\n(invoc_array[(11)] \x3d G__43108);\n\n(invoc_array[(12)] \x3d G__43109);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (14):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_14(G__43118,G__43119,G__43120,G__43121,G__43122,G__43123,G__43124,G__43125,G__43126,G__43127,G__43128,G__43129,G__43130,G__43131){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43118);\n\n(invoc_array[(1)] \x3d G__43119);\n\n(invoc_array[(2)] \x3d G__43120);\n\n(invoc_array[(3)] \x3d G__43121);\n\n(invoc_array[(4)] \x3d G__43122);\n\n(invoc_array[(5)] \x3d G__43123);\n\n(invoc_array[(6)] \x3d G__43124);\n\n(invoc_array[(7)] \x3d G__43125);\n\n(invoc_array[(8)] \x3d G__43126);\n\n(invoc_array[(9)] \x3d G__43127);\n\n(invoc_array[(10)] \x3d G__43128);\n\n(invoc_array[(11)] \x3d G__43129);\n\n(invoc_array[(12)] \x3d G__43130);\n\n(invoc_array[(13)] \x3d G__43131);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (15):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_15(G__43133,G__43134,G__43135,G__43136,G__43137,G__43138,G__43139,G__43140,G__43141,G__43142,G__43143,G__43144,G__43145,G__43146,G__43147){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43133);\n\n(invoc_array[(1)] \x3d G__43134);\n\n(invoc_array[(2)] \x3d G__43135);\n\n(invoc_array[(3)] \x3d G__43136);\n\n(invoc_array[(4)] \x3d G__43137);\n\n(invoc_array[(5)] \x3d G__43138);\n\n(invoc_array[(6)] \x3d G__43139);\n\n(invoc_array[(7)] \x3d G__43140);\n\n(invoc_array[(8)] \x3d G__43141);\n\n(invoc_array[(9)] \x3d G__43142);\n\n(invoc_array[(10)] \x3d G__43143);\n\n(invoc_array[(11)] \x3d G__43144);\n\n(invoc_array[(12)] \x3d G__43145);\n\n(invoc_array[(13)] \x3d G__43146);\n\n(invoc_array[(14)] \x3d G__43147);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (16):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_16(G__43152,G__43153,G__43154,G__43155,G__43156,G__43157,G__43158,G__43159,G__43160,G__43161,G__43162,G__43163,G__43164,G__43165,G__43166,G__43167){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43152);\n\n(invoc_array[(1)] \x3d G__43153);\n\n(invoc_array[(2)] \x3d G__43154);\n\n(invoc_array[(3)] \x3d G__43155);\n\n(invoc_array[(4)] \x3d G__43156);\n\n(invoc_array[(5)] \x3d G__43157);\n\n(invoc_array[(6)] \x3d G__43158);\n\n(invoc_array[(7)] \x3d G__43159);\n\n(invoc_array[(8)] \x3d G__43160);\n\n(invoc_array[(9)] \x3d G__43161);\n\n(invoc_array[(10)] \x3d G__43162);\n\n(invoc_array[(11)] \x3d G__43163);\n\n(invoc_array[(12)] \x3d G__43164);\n\n(invoc_array[(13)] \x3d G__43165);\n\n(invoc_array[(14)] \x3d G__43166);\n\n(invoc_array[(15)] \x3d G__43167);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (17):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_17(G__43174,G__43175,G__43176,G__43177,G__43178,G__43179,G__43180,G__43181,G__43182,G__43183,G__43184,G__43185,G__43186,G__43187,G__43188,G__43189,G__43190){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43174);\n\n(invoc_array[(1)] \x3d G__43175);\n\n(invoc_array[(2)] \x3d G__43176);\n\n(invoc_array[(3)] \x3d G__43177);\n\n(invoc_array[(4)] \x3d G__43178);\n\n(invoc_array[(5)] \x3d G__43179);\n\n(invoc_array[(6)] \x3d G__43180);\n\n(invoc_array[(7)] \x3d G__43181);\n\n(invoc_array[(8)] \x3d G__43182);\n\n(invoc_array[(9)] \x3d G__43183);\n\n(invoc_array[(10)] \x3d G__43184);\n\n(invoc_array[(11)] \x3d G__43185);\n\n(invoc_array[(12)] \x3d G__43186);\n\n(invoc_array[(13)] \x3d G__43187);\n\n(invoc_array[(14)] \x3d G__43188);\n\n(invoc_array[(15)] \x3d G__43189);\n\n(invoc_array[(16)] \x3d G__43190);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (18):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_18(G__43192,G__43193,G__43194,G__43195,G__43196,G__43197,G__43198,G__43199,G__43200,G__43201,G__43202,G__43203,G__43204,G__43205,G__43206,G__43207,G__43208,G__43209){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43192);\n\n(invoc_array[(1)] \x3d G__43193);\n\n(invoc_array[(2)] \x3d G__43194);\n\n(invoc_array[(3)] \x3d G__43195);\n\n(invoc_array[(4)] \x3d G__43196);\n\n(invoc_array[(5)] \x3d G__43197);\n\n(invoc_array[(6)] \x3d G__43198);\n\n(invoc_array[(7)] \x3d G__43199);\n\n(invoc_array[(8)] \x3d G__43200);\n\n(invoc_array[(9)] \x3d G__43201);\n\n(invoc_array[(10)] \x3d G__43202);\n\n(invoc_array[(11)] \x3d G__43203);\n\n(invoc_array[(12)] \x3d G__43204);\n\n(invoc_array[(13)] \x3d G__43205);\n\n(invoc_array[(14)] \x3d G__43206);\n\n(invoc_array[(15)] \x3d G__43207);\n\n(invoc_array[(16)] \x3d G__43208);\n\n(invoc_array[(17)] \x3d G__43209);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (19):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_19(G__43215,G__43216,G__43217,G__43218,G__43219,G__43220,G__43221,G__43222,G__43223,G__43224,G__43225,G__43226,G__43227,G__43228,G__43229,G__43230,G__43231,G__43232,G__43233){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43215);\n\n(invoc_array[(1)] \x3d G__43216);\n\n(invoc_array[(2)] \x3d G__43217);\n\n(invoc_array[(3)] \x3d G__43218);\n\n(invoc_array[(4)] \x3d G__43219);\n\n(invoc_array[(5)] \x3d G__43220);\n\n(invoc_array[(6)] \x3d G__43221);\n\n(invoc_array[(7)] \x3d G__43222);\n\n(invoc_array[(8)] \x3d G__43223);\n\n(invoc_array[(9)] \x3d G__43224);\n\n(invoc_array[(10)] \x3d G__43225);\n\n(invoc_array[(11)] \x3d G__43226);\n\n(invoc_array[(12)] \x3d G__43227);\n\n(invoc_array[(13)] \x3d G__43228);\n\n(invoc_array[(14)] \x3d G__43229);\n\n(invoc_array[(15)] \x3d G__43230);\n\n(invoc_array[(16)] \x3d G__43231);\n\n(invoc_array[(17)] \x3d G__43232);\n\n(invoc_array[(18)] \x3d G__43233);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (20):\nvar recur__41807__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_20(G__43237,G__43238,G__43239,G__43240,G__43241,G__43242,G__43243,G__43244,G__43245,G__43246,G__43247,G__43248,G__43249,G__43250,G__43251,G__43252,G__43253,G__43254,G__43255,G__43256){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43237);\n\n(invoc_array[(1)] \x3d G__43238);\n\n(invoc_array[(2)] \x3d G__43239);\n\n(invoc_array[(3)] \x3d G__43240);\n\n(invoc_array[(4)] \x3d G__43241);\n\n(invoc_array[(5)] \x3d G__43242);\n\n(invoc_array[(6)] \x3d G__43243);\n\n(invoc_array[(7)] \x3d G__43244);\n\n(invoc_array[(8)] \x3d G__43245);\n\n(invoc_array[(9)] \x3d G__43246);\n\n(invoc_array[(10)] \x3d G__43247);\n\n(invoc_array[(11)] \x3d G__43248);\n\n(invoc_array[(12)] \x3d G__43249);\n\n(invoc_array[(13)] \x3d G__43250);\n\n(invoc_array[(14)] \x3d G__43251);\n\n(invoc_array[(15)] \x3d G__43252);\n\n(invoc_array[(16)] \x3d G__43253);\n\n(invoc_array[(17)] \x3d G__43254);\n\n(invoc_array[(18)] \x3d G__43255);\n\n(invoc_array[(19)] \x3d G__43256);\n\nwhile(true){\nvar ret__41808__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41807__auto__ \x3d\x3d\x3d ret__41808__auto__)){\ncontinue;\n} else {\nreturn ret__41808__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__42926)].join(\x27\x27)));\n\n}\n})());\nreturn f;\n}));\n\n(sci.impl.fns.fun.cljs$lang$maxFixedArity \x3d 11);\n\nsci.impl.fns.lookup_by_arity \x3d (function sci$impl$fns$lookup_by_arity(arities,arity){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(arities,arity);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22variadic\x22,\x22variadic\x22,882626057).cljs$core$IFn$_invoke$arity$1(arities);\n}\n});\nsci.impl.fns.fn_arity_map \x3d (function sci$impl$fns$fn_arity_map(ctx,enclosed_array,fn_name,macro_QMARK_,fn_bodies){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (arity_map,fn_body){\nvar f \x3d sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$5(ctx,enclosed_array,fn_body,fn_name,macro_QMARK_);\nvar var_arg_QMARK_ \x3d new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body);\nif(cljs.core.truth_(var_arg_QMARK_)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,new cljs.core.Keyword(null,\x22variadic\x22,\x22variadic\x22,882626057),f);\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,fixed_arity,f);\n}\n}),cljs.core.PersistentArrayMap.EMPTY,fn_bodies);\n});\nsci.impl.fns.maybe_destructured \x3d (function sci$impl$fns$maybe_destructured(params,body,loc){\nif(cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,params)){\nreturn cljs.core.cons(params,body);\n} else {\nvar params__$1 \x3d params;\nvar new_params \x3d cljs.core.with_meta(cljs.core.PersistentVector.EMPTY,cljs.core.meta(params__$1));\nvar lets \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.truth_(params__$1)){\nif((cljs.core.first(params__$1) instanceof cljs.core.Symbol)){\nvar G__43579 \x3d cljs.core.next(params__$1);\nvar G__43580 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,cljs.core.first(params__$1));\nvar G__43581 \x3d lets;\nparams__$1 \x3d G__43579;\nnew_params \x3d G__43580;\nlets \x3d G__43581;\ncontinue;\n} else {\nvar gparam \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22p__\x22);\nvar G__43582 \x3d cljs.core.next(params__$1);\nvar G__43583 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,gparam);\nvar G__43584 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lets,cljs.core.first(params__$1)),gparam);\nparams__$1 \x3d G__43582;\nnew_params \x3d G__43583;\nlets \x3d G__43584;\ncontinue;\n}\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new_params,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,lets,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),loc),null,(1),null)))));\n}\nbreak;\n}\n}\n});\nsci.impl.fns.fn_STAR__STAR_ \x3d (function sci$impl$fns$fn_STAR__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43586 \x3d arguments.length;\nvar i__5750__auto___43587 \x3d (0);\nwhile(true){\nif((i__5750__auto___43587 \x3c len__5749__auto___43586)){\nargs__5755__auto__.push((arguments[i__5750__auto___43587]));\n\nvar G__43588 \x3d (i__5750__auto___43587 + (1));\ni__5750__auto___43587 \x3d G__43588;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.fns.fn_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.fns.fn_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,sigs){\nvar name \x3d (((cljs.core.first(sigs) instanceof cljs.core.Symbol))?cljs.core.first(sigs):null);\nvar sigs__$1 \x3d (cljs.core.truth_(name)?cljs.core.next(sigs):sigs);\nvar sigs__$2 \x3d ((cljs.core.vector_QMARK_(cljs.core.first(sigs__$1)))?(new cljs.core.List(null,sigs__$1,null,(1),null)):((cljs.core.seq_QMARK_(cljs.core.first(sigs__$1)))?sigs__$1:sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(((cljs.core.seq(sigs__$1))?[\x22Parameter declaration \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(sigs__$1)),\x22 should be a vector\x22].join(\x27\x27):\x22Parameter declaration missing\x22),form)));\nvar psig \x3d (function (sig){\nif((!(cljs.core.seq_QMARK_(sig)))){\nthrow sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Invalid signature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sig),\x22 should be a list\x22].join(\x27\x27),form);\n} else {\n}\n\nvar vec__43290 \x3d sig;\nvar seq__43291 \x3d cljs.core.seq(vec__43290);\nvar first__43292 \x3d cljs.core.first(seq__43291);\nvar seq__43291__$1 \x3d cljs.core.next(seq__43291);\nvar params \x3d first__43292;\nvar body \x3d seq__43291__$1;\nvar ___$1 \x3d (((!(cljs.core.vector_QMARK_(params))))?sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(((cljs.core.seq_QMARK_(cljs.core.first(sigs__$2)))?[\x22Parameter declaration \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(params),\x22 should be a vector\x22].join(\x27\x27):[\x22Invalid signature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sig),\x22 should be a list\x22].join(\x27\x27)),form):null);\nvar conds \x3d ((((cljs.core.next(body)) \x26\x26 (cljs.core.map_QMARK_(cljs.core.first(body)))))?cljs.core.first(body):null);\nvar body__$1 \x3d (cljs.core.truth_(conds)?cljs.core.next(body):body);\nvar conds__$1 \x3d (function (){var or__5025__auto__ \x3d conds;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.meta(params);\n}\n})();\nvar pre \x3d new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869).cljs$core$IFn$_invoke$arity$1(conds__$1);\nvar post \x3d new cljs.core.Keyword(null,\x22post\x22,\x22post\x22,269697687).cljs$core$IFn$_invoke$arity$1(conds__$1);\nvar body__$2 \x3d (cljs.core.truth_(post)?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null)),(new cljs.core.List(null,((((1) \x3c cljs.core.count(body__$1)))?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body__$1))):cljs.core.first(body__$1)),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (c){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assert\x22,\x22cljs.core/assert\x22,1075777968,null),null,(1),null)),(new cljs.core.List(null,c,null,(1),null)))));\n}),post),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))], 0)))),null,(1),null))))):body__$1);\nvar body__$3 \x3d (cljs.core.truth_(pre)?cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (c){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assert\x22,\x22cljs.core/assert\x22,1075777968,null),null,(1),null)),(new cljs.core.List(null,c,null,(1),null)))));\n}),pre),body__$2):body__$2);\nreturn sci.impl.fns.maybe_destructured(params,body__$3,cljs.core.meta(form));\n});\nvar new_sigs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(psig,sigs__$2);\nvar expr \x3d cljs.core.with_meta((cljs.core.truth_(name)?cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),name,new_sigs):cljs.core.cons(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new_sigs)),cljs.core.meta(form));\nreturn expr;\n}));\n\n(sci.impl.fns.fn_STAR__STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.fns.fn_STAR__STAR_.cljs$lang$applyTo \x3d (function (seq43283){\nvar G__43284 \x3d cljs.core.first(seq43283);\nvar seq43283__$1 \x3d cljs.core.next(seq43283);\nvar G__43285 \x3d cljs.core.first(seq43283__$1);\nvar seq43283__$2 \x3d cljs.core.next(seq43283__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43284,G__43285,seq43283__$2);\n}));\n\nsci.impl.fns.sigs \x3d (function sci$impl$fns$sigs(fdecl){\nvar asig \x3d (function (fdecl__$1){\nvar arglist \x3d cljs.core.first(fdecl__$1);\nvar arglist__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22\x26form\x22,\x22\x26form\x22,1482799337,null),cljs.core.first(arglist)))?cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(arglist,(2),cljs.core.count(arglist)):arglist);\nvar body \x3d cljs.core.next(fdecl__$1);\nif(cljs.core.map_QMARK_(cljs.core.first(body))){\nif(cljs.core.next(body)){\nreturn cljs.core.with_meta(arglist__$1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(cljs.core.meta(arglist__$1))?cljs.core.meta(arglist__$1):cljs.core.PersistentArrayMap.EMPTY),cljs.core.first(body)));\n} else {\nreturn arglist__$1;\n}\n} else {\nreturn arglist__$1;\n}\n});\nif(cljs.core.seq_QMARK_(cljs.core.first(fdecl))){\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nvar fdecls \x3d fdecl;\nwhile(true){\nif(cljs.core.truth_(fdecls)){\nvar G__43596 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.identity(asig(cljs.core.first(fdecls))));\nvar G__43597 \x3d cljs.core.next(fdecls);\nret \x3d G__43596;\nfdecls \x3d G__43597;\ncontinue;\n} else {\nreturn cljs.core.seq(ret);\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.List(null,cljs.core.identity(asig(fdecl)),null,(1),null));\n}\n});\nsci.impl.fns.defn_STAR_ \x3d (function sci$impl$fns$defn_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43601 \x3d arguments.length;\nvar i__5750__auto___43602 \x3d (0);\nwhile(true){\nif((i__5750__auto___43602 \x3c len__5749__auto___43601)){\nargs__5755__auto__.push((arguments[i__5750__auto___43602]));\n\nvar G__43603 \x3d (i__5750__auto___43602 + (1));\ni__5750__auto___43602 \x3d G__43603;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.fns.defn_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.fns.defn_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,name,fdecl){\nif((name instanceof cljs.core.Symbol)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22First argument to defn must be a symbol\x22,form);\n}\n\nvar m \x3d ((typeof cljs.core.first(fdecl) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),cljs.core.first(fdecl)], null):cljs.core.PersistentArrayMap.EMPTY);\nvar fdecl__$1 \x3d ((typeof cljs.core.first(fdecl) \x3d\x3d\x3d \x27string\x27)?cljs.core.next(fdecl):fdecl);\nvar m__$1 \x3d ((cljs.core.map_QMARK_(cljs.core.first(fdecl__$1)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(m,cljs.core.first(fdecl__$1)):m);\nvar fdecl__$2 \x3d ((cljs.core.map_QMARK_(cljs.core.first(fdecl__$1)))?cljs.core.next(fdecl__$1):fdecl__$1);\nvar fdecl__$3 \x3d ((cljs.core.vector_QMARK_(cljs.core.first(fdecl__$2)))?(new cljs.core.List(null,fdecl__$2,null,(1),null)):fdecl__$2);\nvar m__$2 \x3d ((cljs.core.map_QMARK_(cljs.core.last(fdecl__$3)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(m__$1,cljs.core.last(fdecl__$3)):m__$1);\nvar fdecl__$4 \x3d ((cljs.core.map_QMARK_(cljs.core.last(fdecl__$3)))?cljs.core.butlast(fdecl__$3):fdecl__$3);\nvar m__$3 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,sci.impl.fns.sigs(fdecl__$4),null,(1),null)),(2),null))], null),m__$2);\nvar name_m \x3d cljs.core.meta(name);\nvar m__$4 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(name_m)?name_m:cljs.core.PersistentArrayMap.EMPTY),m__$3);\nvar macro_QMARK_ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(name_m);\nvar expr \x3d cljs.core.cons(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),fdecl__$4);\nvar expr__$1 \x3d (new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),(new cljs.core.List(null,cljs.core.with_meta(name,m__$4),(new cljs.core.List(null,(cljs.core.truth_((function (){var or__5025__auto__ \x3d macro_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn name;\n}\n})())?cljs.core.with_meta(expr,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci.impl\x22,\x22fn\x22,\x22sci.impl/fn\x22,1695180073),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),macro_QMARK_,new cljs.core.Keyword(null,\x22fn-name\x22,\x22fn-name\x22,-766594004),name], null)], null)):expr),null,(1),null)),(2),null)),(3),null));\nreturn expr__$1;\n}));\n\n(sci.impl.fns.defn_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.fns.defn_STAR_.cljs$lang$applyTo \x3d (function (seq43314){\nvar G__43315 \x3d cljs.core.first(seq43314);\nvar seq43314__$1 \x3d cljs.core.next(seq43314);\nvar G__43316 \x3d cljs.core.first(seq43314__$1);\nvar seq43314__$2 \x3d cljs.core.next(seq43314__$1);\nvar G__43317 \x3d cljs.core.first(seq43314__$2);\nvar seq43314__$3 \x3d cljs.core.next(seq43314__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43315,G__43316,G__43317,seq43314__$3);\n}));\n\nsci.impl.fns.defmacro_STAR_ \x3d (function sci$impl$fns$defmacro_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43608 \x3d arguments.length;\nvar i__5750__auto___43609 \x3d (0);\nwhile(true){\nif((i__5750__auto___43609 \x3c len__5749__auto___43608)){\nargs__5755__auto__.push((arguments[i__5750__auto___43609]));\n\nvar G__43610 \x3d (i__5750__auto___43609 + (1));\ni__5750__auto___43609 \x3d G__43610;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.fns.defmacro_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.fns.defmacro_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,name,args){\nvar name__$1 \x3d cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(name,cljs.core.assoc,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true);\nvar prefix \x3d (function (){var p \x3d (new cljs.core.List(null,name__$1,null,(1),null));\nvar args__$1 \x3d args;\nwhile(true){\nvar f \x3d cljs.core.first(args__$1);\nif(typeof f \x3d\x3d\x3d \x27string\x27){\nvar G__43614 \x3d cljs.core.cons(f,p);\nvar G__43615 \x3d cljs.core.next(args__$1);\np \x3d G__43614;\nargs__$1 \x3d G__43615;\ncontinue;\n} else {\nif(cljs.core.map_QMARK_(f)){\nvar G__43616 \x3d cljs.core.cons(f,p);\nvar G__43617 \x3d cljs.core.next(args__$1);\np \x3d G__43616;\nargs__$1 \x3d G__43617;\ncontinue;\n} else {\nreturn p;\n}\n}\nbreak;\n}\n})();\nvar fdecl \x3d (function (){var fd \x3d args;\nwhile(true){\nif(typeof cljs.core.first(fd) \x3d\x3d\x3d \x27string\x27){\nvar G__43618 \x3d cljs.core.next(fd);\nfd \x3d G__43618;\ncontinue;\n} else {\nif(cljs.core.map_QMARK_(cljs.core.first(fd))){\nvar G__43619 \x3d cljs.core.next(fd);\nfd \x3d G__43619;\ncontinue;\n} else {\nreturn fd;\n}\n}\nbreak;\n}\n})();\nvar fdecl__$1 \x3d ((cljs.core.vector_QMARK_(cljs.core.first(fdecl)))?(new cljs.core.List(null,fdecl,null,(1),null)):fdecl);\nvar add_implicit_args \x3d (function (fd){\nvar args__$1 \x3d cljs.core.first(fd);\nreturn cljs.core.cons(cljs.core.vec(cljs.core.cons(new cljs.core.Symbol(null,\x22\x26form\x22,\x22\x26form\x22,1482799337,null),cljs.core.cons(new cljs.core.Symbol(null,\x22\x26env\x22,\x22\x26env\x22,-919163083,null),args__$1))),cljs.core.next(fd));\n});\nvar add_args \x3d (function (acc,ds){\nwhile(true){\nif((ds \x3d\x3d null)){\nreturn acc;\n} else {\nvar d \x3d cljs.core.first(ds);\nif(cljs.core.map_QMARK_(d)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,d);\n} else {\nvar G__43620 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,add_implicit_args(d));\nvar G__43621 \x3d cljs.core.next(ds);\nacc \x3d G__43620;\nds \x3d G__43621;\ncontinue;\n}\n}\nbreak;\n}\n});\nvar fdecl__$2 \x3d cljs.core.seq(add_args(cljs.core.PersistentVector.EMPTY,fdecl__$1));\nvar decl \x3d (function (){var p \x3d prefix;\nvar d \x3d fdecl__$2;\nwhile(true){\nif(cljs.core.truth_(p)){\nvar G__43622 \x3d cljs.core.next(p);\nvar G__43623 \x3d cljs.core.cons(cljs.core.first(p),d);\np \x3d G__43622;\nd \x3d G__43623;\ncontinue;\n} else {\nreturn d;\n}\nbreak;\n}\n})();\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),decl),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,name__$1,null,(1),null)),(2),null)),null,(1),null)),(2),null)),(3),null));\n}));\n\n(sci.impl.fns.defmacro_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.fns.defmacro_STAR_.cljs$lang$applyTo \x3d (function (seq43337){\nvar G__43338 \x3d cljs.core.first(seq43337);\nvar seq43337__$1 \x3d cljs.core.next(seq43337);\nvar G__43339 \x3d cljs.core.first(seq43337__$1);\nvar seq43337__$2 \x3d cljs.core.next(seq43337__$1);\nvar G__43340 \x3d cljs.core.first(seq43337__$2);\nvar seq43337__$3 \x3d cljs.core.next(seq43337__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43338,G__43339,G__43340,seq43337__$3);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.parser.js", true, "goog.provide(\x27sci.impl.parser\x27);\nsci.impl.parser.eof \x3d new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517);\nsci.impl.parser.read_eval \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*read-eval*\x22,\x22*read-eval*\x22,1122065414,null),false,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Defaults to true (or value specified by system property, see below)\\n  ***This setting implies that the full power of the reader is in play,\\n  including syntax that can cause code to execute. It should never be\\n  used with untrusted sources. See also: clojure.edn/read.***\\n\\n  When set to logical false in the thread-local binding,\\n  the eval reader (#\x3d) and record/type literal syntax are disabled in read/load.\\n  Example (will fail): (binding [*read-eval* false] (read-string \\\x22#\x3d(* 2 21)\\\x22))\\n\\n  The default binding can be controlled by the system property\\n  \x27clojure.read.eval\x27 System properties can be set on the command line\\n  like this:\\n\\n  java -Dclojure.read.eval\x3dfalse ...\\n\\n  The system property can also be set to \x27unknown\x27 via\\n  -Dclojure.read.eval\x3dunknown, in which case the default binding\\n  is :unknown and all reads will fail in contexts where *read-eval*\\n  has not been explicitly bound to either true or false. This setting\\n  can be a useful diagnostic tool to ensure that all of your reads\\n  occur in considered contexts. You can also accomplish this in a\\n  particular scope by binding *read-eval* to :unknown\\n  \x22], null));\nsci.impl.parser.data_readers \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*data-readers*\x22,\x22*data-readers*\x22,1269051058,null),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Map from reader tag symbols to data reader Vars.\\n\\n  When Clojure starts, it searches for files named \x27data_readers.clj\x27\\n  and \x27data_readers.cljc\x27 at the root of the classpath. Each such file\\n  must contain a literal map of symbols, like this:\\n\\n      {foo/bar my.project.foo/bar\\n       foo/baz my.project/baz}\\n\\n  The first symbol in each pair is a tag that will be recognized by\\n  the Clojure reader. The second symbol in the pair is the\\n  fully-qualified name of a Var which will be invoked by the reader to\\n  parse the form following the tag. For example, given the\\n  data_readers.clj file above, the Clojure reader would parse this\\n  form:\\n\\n      #foo/bar [1 2 3]\\n\\n  by invoking the Var #\x27my.project.foo/bar on the vector [1 2 3]. The\\n  data reader function is invoked on the form AFTER it has been read\\n  as a normal Clojure data structure by the reader.\\n\\n  Reader tags without namespace qualifiers are reserved for\\n  Clojure. Default reader tags are defined in\\n  clojure.core/default-data-readers but may be overridden in\\n  data_readers.clj, data_readers.cljc, or by rebinding this Var.\x22], null));\nsci.impl.parser.default_data_reader_fn \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*default-data-reader-fn*\x22,\x22*default-data-reader-fn*\x22,758795499,null),null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When no data reader is found for a tag and *default-data-reader-fn*\\n  is non-nil, it will be called with two arguments,\\n  the tag and the value.  If *default-data-reader-fn* is nil (the\\n  default), an exception will be thrown for the unknown tag.\x22], null));\nsci.impl.parser.reader_resolver \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*reader-resolver*\x22,\x22*reader-resolver*\x22,309718590,null),null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true], null));\nsci.impl.parser.suppress_read \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*suppress-read*\x22,\x22*suppress-read*\x22,1470729096,null),null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true], null));\nsci.impl.parser.default_opts \x3d edamame.core.normalize_opts(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),true,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244),new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),cljs.core.seq_QMARK_,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),false], null));\nsci.impl.parser.var__GT_sym \x3d (function sci$impl$parser$var__GT_sym(v){\nvar temp__5804__auto__ \x3d cljs.core.meta(v);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar m \x3d temp__5804__auto__;\nif(cljs.core.truth_(new cljs.core.Keyword(\x22sci\x22,\x22record\x22,\x22sci/record\x22,-778731026).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(v)));\n} else {\nvar temp__5804__auto____$1 \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar var_name \x3d temp__5804__auto____$1;\nvar temp__5804__auto____$2 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5804__auto____$2)){\nvar ns \x3d temp__5804__auto____$2;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(ns)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_name));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n});\nsci.impl.parser.fully_qualify \x3d (function sci$impl$parser$fully_qualify(ctx,sym){\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar sym_ns \x3d (function (){var temp__5804__auto__ \x3d cljs.core.namespace(sym);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar n \x3d temp__5804__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(n);\n} else {\nreturn null;\n}\n})();\nvar current_ns \x3d sci.impl.utils.current_ns_name();\nvar current_ns_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(current_ns);\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar the_current_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,current_ns);\nvar aliases \x3d new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nvar res_without_sym \x3d (function sci$impl$parser$fully_qualify_$_res_without_sym(sym__$1){\nvar sym_name_str \x3d cljs.core.name(sym__$1);\nvar or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar refers \x3d temp__5804__auto__;\nvar temp__5804__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(refers,sym__$1);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar v \x3d temp__5804__auto____$1;\nreturn sci.impl.parser.var__GT_sym(v);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(the_current_ns,sym__$1);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn sci.impl.parser.var__GT_sym(v);\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d ((((((cljs.core.contains_QMARK_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)),sym__$1)) \x26\x26 (cljs.core.not((function (){var G__43491 \x3d the_current_ns;\nvar G__43491__$1 \x3d (((G__43491 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(G__43491));\nvar G__43491__$2 \x3d (((G__43491__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43491__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)));\nvar G__43491__$3 \x3d (((G__43491__$2 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334).cljs$core$IFn$_invoke$arity$1(G__43491__$2));\nif((G__43491__$3 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.contains_QMARK_(G__43491__$3,sym__$1);\n}\n})())))) || (cljs.core.contains_QMARK_(sci.impl.utils.ana_macros,sym__$1))))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22clojure.core\x22,sym_name_str):null);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d sci.impl.interop.fully_qualify_class(ctx,sym__$1);\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nif(clojure.string.includes_QMARK_(sym_name_str,\x22.\x22)){\nif((((!(clojure.string.starts_with_QMARK_(sym_name_str,\x22.\x22)))) \x26\x26 (clojure.string.ends_with_QMARK_(sym_name_str,\x22.\x22)))){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci$impl$parser$fully_qualify_$_res_without_sym(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym_name_str,(0),(((sym_name_str).length) - (1)))))),\x22.\x22].join(\x27\x27));\n} else {\nreturn sym__$1;\n}\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns_str,sym_name_str);\n}\n}\n}\n}\n}\n});\nvar ret \x3d ((cljs.core.not(sym_ns))?res_without_sym(sym):(function (){var sym_name \x3d cljs.core.name(sym);\nvar nss \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(nss,sym_ns))){\nreturn sym;\n} else {\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(aliases,sym_ns);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns \x3d temp__5802__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),sym_name);\n} else {\nvar temp__5802__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(nss,current_ns)),sym_ns);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar import$ \x3d temp__5802__auto____$1;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(import$),cljs.core.name(sym));\n} else {\nreturn sym;\n}\n}\n}\n})());\nreturn ret;\n});\nsci.impl.parser.throw_eval_read \x3d (function sci$impl$parser$throw_eval_read(_){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22EvalReader not allowed when *read-eval* is false.\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844)], null));\n});\nsci.impl.parser.auto_resolve \x3d (function sci$impl$parser$auto_resolve(ctx,opts){\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22auto-resolve\x22,\x22auto-resolve\x22,1851201983).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar env_val \x3d cljs.core.deref(env);\nvar current_ns \x3d sci.impl.utils.current_ns_name();\nvar the_current_ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_val,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),current_ns], null));\nvar aliases \x3d new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nvar auto_resolve \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(aliases,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),current_ns);\nreturn auto_resolve;\n}\n});\nsci.impl.parser.get_line_number \x3d (function sci$impl$parser$get_line_number(reader){\nreturn cljs.tools.reader.reader_types.get_line_number(reader);\n});\nsci.impl.parser.get_column_number \x3d (function sci$impl$parser$get_column_number(reader){\nreturn cljs.tools.reader.reader_types.get_column_number(reader);\n});\nsci.impl.parser.parse_next \x3d (function sci$impl$parser$parse_next(var_args){\nvar G__43512 \x3d arguments.length;\nswitch (G__43512) {\ncase 2:\nreturn sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,r){\nreturn sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,r,null);\n}));\n\n(sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,r,opts){\nvar features \x3d new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336).cljs$core$IFn$_invoke$arity$1(ctx);\nvar readers \x3d new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030).cljs$core$IFn$_invoke$arity$1(ctx);\nvar readers__$1 \x3d ((sci.impl.utils.var_QMARK_(readers))?cljs.core.deref(readers):readers);\nvar auto_resolve \x3d sci.impl.parser.auto_resolve(ctx,opts);\nvar parse_opts \x3d (function (){var G__43521 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sci.impl.parser.default_opts,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),features,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22auto-resolve\x22,\x22auto-resolve\x22,1851201983),auto_resolve,new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22resolve-symbol\x22,\x22resolve-symbol\x22,-319166964),(function (p1__43509_SHARP_){\nreturn sci.impl.parser.fully_qualify(ctx,p1__43509_SHARP_);\n})], null),new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),(function (t){\nvar or__5025__auto__ \x3d (function (){var and__5023__auto__ \x3d readers__$1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (readers__$1.cljs$core$IFn$_invoke$arity$1 ? readers__$1.cljs$core$IFn$_invoke$arity$1(t) : readers__$1.call(null,t));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var fexpr__43527 \x3d cljs.core.deref(sci.impl.parser.data_readers);\nreturn (fexpr__43527.cljs$core$IFn$_invoke$arity$1 ? fexpr__43527.cljs$core$IFn$_invoke$arity$1(t) : fexpr__43527.call(null,t));\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var G__43528 \x3d (function (){var G__43530 \x3d ctx;\nvar G__43531 \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar G__43532 \x3d t;\nvar fexpr__43529 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__43529.cljs$core$IFn$_invoke$arity$3 ? fexpr__43529.cljs$core$IFn$_invoke$arity$3(G__43530,G__43531,G__43532) : fexpr__43529.call(null,G__43530,G__43531,G__43532));\n})();\nvar G__43528__$1 \x3d (((G__43528 \x3d\x3d null))?null:cljs.core.meta(G__43528));\nif((G__43528__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(\x22sci.impl.record\x22,\x22map-constructor\x22,\x22sci.impl.record/map-constructor\x22,1072184780).cljs$core$IFn$_invoke$arity$1(G__43528__$1);\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.deref(sci.impl.parser.default_data_reader_fn);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar f \x3d temp__5804__auto__;\nreturn (function (form){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(t,form) : f.call(null,t,form));\n});\n} else {\nreturn null;\n}\n}\n}\n}\n}),new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),(cljs.core.truth_(cljs.core.deref(sci.impl.parser.read_eval))?(function (x){\nreturn sci.impl.utils.eval(ctx,x);\n}):sci.impl.parser.throw_eval_read)], 0));\nif(cljs.core.truth_(opts)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__43521,opts], 0));\n} else {\nreturn G__43521;\n}\n})();\nvar ret \x3d (function (){try{var v \x3d edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2(r,parse_opts);\nif(cljs.core.keyword_identical_QMARK_(v,new cljs.core.Keyword(\x22edamame.core\x22,\x22eof\x22,\x22edamame.core/eof\x22,1855384188))){\nreturn new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517);\n} else {\nif((((v instanceof cljs.core.Symbol)) \x26\x26 (cljs.tools.reader.reader_types.indexing_reader_QMARK_(r)))){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6(v,cljs.core.assoc,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),sci.impl.parser.get_line_number(r),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),(sci.impl.parser.get_column_number(r) - cljs.core.str.cljs$core$IFn$_invoke$arity$1(v).length));\n} else {\nreturn v;\n}\n}\n}catch (e43564){if((e43564 instanceof cljs.core.ExceptionInfo)){\nvar e \x3d e43564;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.ex_data(e),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),\x22parse\x22,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0)),e);\n} else {\nthrow e43564;\n\n}\n}})();\nreturn ret;\n}));\n\n(sci.impl.parser.parse_next.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.parser.reader \x3d (function sci$impl$parser$reader(x){\nreturn edamame.core.reader(x);\n});\nsci.impl.parser.parse_string \x3d (function sci$impl$parser$parse_string(ctx,s){\nvar r \x3d sci.impl.parser.reader(s);\nvar v \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,r);\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),v)){\nreturn null;\n} else {\nreturn v;\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.load.js", true, "goog.provide(\x27sci.impl.load\x27);\n/**\n * Low level load-reader* that doesn\x27t install any bindings\n */\nsci.impl.load.load_reader_STAR_ \x3d (function sci$impl$load$load_reader_STAR_(ctx,reader){\nvar reader__$1 \x3d (((((!((reader \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d reader.cljs$tools$reader$reader_types$IndexingReader$))))?true:false):false))?reader:cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(reader));\nvar ret \x3d null;\nwhile(true){\nvar x \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader__$1);\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),x)){\nreturn ret;\n} else {\nvar G__43862 \x3d sci.impl.utils.eval(ctx,x);\nret \x3d G__43862;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Low level load-string* that doesn\x27t install any bindings\n */\nsci.impl.load.load_string_STAR_ \x3d (function sci$impl$load$load_string_STAR_(ctx,s){\nvar rdr \x3d cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\nreturn sci.impl.load.load_reader_STAR_(ctx,rdr);\n});\nsci.impl.load.load_reader \x3d (function sci$impl$load$load_reader(reader){\nvar ctx \x3d sci.ctx_store.get_ctx();\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,cljs.core.deref(sci.impl.utils.current_ns),sci.impl.parser.data_readers,cljs.core.deref(sci.impl.parser.data_readers)]));\n\ntry{return sci.impl.load.load_reader_STAR_(ctx,reader);\n}finally {sci.impl.vars.pop_thread_bindings();\n}});\nsci.impl.load.load_string \x3d (function sci$impl$load$load_string(s){\nvar rdr \x3d cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\nreturn sci.impl.load.load_reader(rdr);\n});\nsci.impl.load.handle_refer_all \x3d (function sci$impl$load$handle_refer_all(the_current_ns,the_loaded_ns,include_sym_QMARK_,rename_sym,only){\nvar referred \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nvar only__$1 \x3d (cljs.core.truth_(only)?cljs.core.set(only):null);\nvar referred__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns,p__43604){\nvar vec__43605 \x3d p__43604;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43605,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43605,(1),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (k instanceof cljs.core.Symbol);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (include_sym_QMARK_.cljs$core$IFn$_invoke$arity$1 ? include_sym_QMARK_.cljs$core$IFn$_invoke$arity$1(k) : include_sym_QMARK_.call(null,k));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn ((cljs.core.not(only__$1)) || (cljs.core.contains_QMARK_(only__$1,k)));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns,(rename_sym.cljs$core$IFn$_invoke$arity$1 ? rename_sym.cljs$core$IFn$_invoke$arity$1(k) : rename_sym.call(null,k)),v);\n} else {\nreturn ns;\n}\n}),referred,the_loaded_ns);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),referred__$1);\n});\nsci.impl.load.handle_js_lib \x3d (function sci$impl$load$handle_js_lib(env,opts,lib,cnn,the_lib){\nvar path \x3d new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168).cljs$core$IFn$_invoke$arity$1(opts);\nvar the_lib__$1 \x3d (cljs.core.truth_(path)?cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (the_lib__$1,path__$1){\nreturn Reflect.get(the_lib__$1,path__$1);\n}),the_lib,path.split(\x22.\x22)):the_lib);\nvar clazz \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.munge([cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib),(cljs.core.truth_(path)?\x22$\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(path)].join(\x27\x27)));\nvar env__$1 \x3d cljs.core.assoc_in(cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),clazz,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)], null),the_lib__$1),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511),clazz], null),the_lib__$1);\nvar env__$2 \x3d (function (){var temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar alias \x3d temp__5802__auto__;\nreturn cljs.core.assoc_in(env__$1,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),alias], null),clazz);\n} else {\nreturn env__$1;\n}\n})();\nvar env__$3 \x3d (function (){var temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar refers \x3d temp__5802__auto__;\nvar rename \x3d new cljs.core.Keyword(null,\x22rename\x22,\x22rename\x22,1508157613).cljs$core$IFn$_invoke$arity$1(opts);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (env__$3,refer){\nvar sub_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib),\x22$$\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(refer)].join(\x27\x27));\nvar the_sublib \x3d Reflect.get(the_lib__$1,cljs.core.str.cljs$core$IFn$_invoke$arity$1(refer));\nvar refer__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(rename,refer,refer);\nreturn cljs.core.assoc_in(cljs.core.assoc_in(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc_in(env__$3,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),refer__$1], null),sub_sym),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),refer__$1),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),sub_sym,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)], null),the_sublib),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511),sub_sym], null),the_sublib);\n}),env__$2,refers);\n} else {\nreturn env__$2;\n}\n})();\nreturn env__$3;\n});\nsci.impl.load.lib_PLUS_path \x3d (function sci$impl$load$lib_PLUS_path(lib){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3(lib,cljs.core.re_pattern(\x22\\\\$\x22),(2));\n});\nsci.impl.load.handle_require_libspec_env \x3d (function sci$impl$load$handle_require_libspec_env(_ctx,env,current_ns,the_loaded_ns,lib_name,p__43625){\nvar map__43626 \x3d p__43625;\nvar map__43626__$1 \x3d cljs.core.__destructure_map(map__43626);\nvar opts \x3d map__43626__$1;\nvar as \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641));\nvar refer \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553));\nvar refer_macros \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,\x22refer-macros\x22,\x22refer-macros\x22,-1906841953));\nvar rename \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,\x22rename\x22,\x22rename\x22,1508157613));\nvar exclude \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334));\nvar only \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,\x22only\x22,\x22only\x22,1907811652));\nvar use \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,\x22use\x22,\x22use\x22,-1846382424));\nvar or__5025__auto__ \x3d ((typeof lib_name \x3d\x3d\x3d \x27string\x27)?(function (){var vec__43627 \x3d sci.impl.load.lib_PLUS_path(lib_name);\nvar lib_name__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43627,(0),null);\nvar path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43627,(1),null);\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721).cljs$core$IFn$_invoke$arity$1(env),lib_name__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar the_lib \x3d temp__5802__auto__;\nreturn sci.impl.load.handle_js_lib(env,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path),lib_name__$1,current_ns,the_lib);\n} else {\nreturn env;\n}\n})():null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar the_current_ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),current_ns], null));\nvar the_current_ns__$1 \x3d (cljs.core.truth_(as)?cljs.core.assoc_in(the_current_ns,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),as], null),lib_name):the_current_ns);\nvar rename_sym \x3d (cljs.core.truth_(rename)?(function (sym){\nvar or__5025__auto____$1 \x3d (rename.cljs$core$IFn$_invoke$arity$1 ? rename.cljs$core$IFn$_invoke$arity$1(sym) : rename.call(null,sym));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn sym;\n}\n}):cljs.core.identity);\nvar include_sym_QMARK_ \x3d (cljs.core.truth_(exclude)?(function (){var excludes \x3d cljs.core.set(exclude);\nreturn (function (sym){\nreturn (!(cljs.core.contains_QMARK_(excludes,sym)));\n});\n})():cljs.core.constantly(true));\nvar refer__$1 \x3d (cljs.core.truth_(refer_macros)?(((((refer \x3d\x3d null)) || (cljs.core.coll_QMARK_(refer))))?cljs.core.into.cljs$core$IFn$_invoke$arity$2(refer,refer_macros):refer):refer);\nvar the_current_ns__$2 \x3d (cljs.core.truth_(refer__$1)?(cljs.core.truth_((function (){var or__5025__auto____$1 \x3d cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),refer__$1);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn use;\n}\n})())?sci.impl.load.handle_refer_all(the_current_ns__$1,the_loaded_ns,include_sym_QMARK_,rename_sym,null):((cljs.core.sequential_QMARK_(refer__$1))?(function (){var referred \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns__$1);\nvar referred__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns,sym){\nif(cljs.core.truth_(include_sym_QMARK_(sym))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns,(rename_sym.cljs$core$IFn$_invoke$arity$1 ? rename_sym.cljs$core$IFn$_invoke$arity$1(sym) : rename_sym.call(null,sym)),(function (){var temp__5802__auto__ \x3d cljs.core.find(the_loaded_ns,sym);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__43630 \x3d temp__5802__auto__;\nvar _k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43630,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43630,(1),null);\nreturn v;\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22 does not exist\x22].join(\x27\x27)));\n}\n})());\n} else {\nreturn ns;\n}\n}),referred,refer__$1);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns__$1,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),referred__$1);\n})():(function(){throw (new Error(\x22:refer value must be a sequential collection of symbols\x22))})()\n)):(cljs.core.truth_(use)?sci.impl.load.handle_refer_all(the_current_ns__$1,the_loaded_ns,include_sym_QMARK_,rename_sym,only):the_current_ns__$1\n));\nvar env__$1 \x3d cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),current_ns], null),the_current_ns__$2);\nvar temp__5804__auto___43881 \x3d (function (){var G__43633 \x3d the_loaded_ns;\nvar G__43633__$1 \x3d (((G__43633 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(G__43633));\nvar G__43633__$2 \x3d (((G__43633__$1 \x3d\x3d null))?null:cljs.core.meta(G__43633__$1));\nif((G__43633__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(\x22sci.impl\x22,\x22required-fn\x22,\x22sci.impl/required-fn\x22,2082701278).cljs$core$IFn$_invoke$arity$1(G__43633__$2);\n}\n})();\nif(cljs.core.truth_(temp__5804__auto___43881)){\nvar on_loaded_43882 \x3d temp__5804__auto___43881;\nvar G__43634_43883 \x3d cljs.core.PersistentArrayMap.EMPTY;\n(on_loaded_43882.cljs$core$IFn$_invoke$arity$1 ? on_loaded_43882.cljs$core$IFn$_invoke$arity$1(G__43634_43883) : on_loaded_43882.call(null,G__43634_43883));\n} else {\n}\n\nreturn env__$1;\n}\n});\nsci.impl.load.loaded_libs \x3d (function sci$impl$load$loaded_libs(env){\nreturn cljs.core.deref(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Symbol(null,\x22*loaded-libs*\x22,\x22*loaded-libs*\x22,1951428860,null)], null)));\n});\nsci.impl.load.add_loaded_lib \x3d (function sci$impl$load$add_loaded_lib(env,lib){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(sci.impl.load.loaded_libs(env),cljs.core.conj,lib);\n\nreturn null;\n});\nsci.impl.load.handle_require_libspec \x3d (function sci$impl$load$handle_require_libspec(ctx,lib,opts){\nvar env_STAR_ \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar env \x3d cljs.core.deref(env_STAR_);\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar lib__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821).cljs$core$IFn$_invoke$arity$1(env),lib,lib);\nvar js_lib_QMARK_ \x3d typeof lib__$1 \x3d\x3d\x3d \x27string\x27;\nvar or__5025__auto__ \x3d ((js_lib_QMARK_)?(function (){var vec__43668 \x3d sci.impl.load.lib_PLUS_path(lib__$1);\nvar lib__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43668,(0),null);\nvar path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43668,(1),null);\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721).cljs$core$IFn$_invoke$arity$1(env),lib__$2);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar the_lib \x3d temp__5804__auto__;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env_STAR_,(function (env__$1){\nreturn sci.impl.load.handle_js_lib(env__$1,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path),lib__$2,cnn,the_lib);\n}));\n\nreturn cljs.core.PersistentArrayMap.EMPTY;\n} else {\nreturn null;\n}\n})():null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22as-alias\x22,\x22as-alias\x22,82482467).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar as_alias \x3d temp__5802__auto__;\nreturn cljs.core.reset_BANG_(env_STAR_,sci.impl.load.handle_require_libspec_env(ctx,env,cnn,null,lib__$1,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641),as_alias], null)));\n} else {\nvar map__43703 \x3d opts;\nvar map__43703__$1 \x3d cljs.core.__destructure_map(map__43703);\nvar reload \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43703__$1,new cljs.core.Keyword(null,\x22reload\x22,\x22reload\x22,863702807));\nvar reload_all \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43703__$1,new cljs.core.Keyword(null,\x22reload-all\x22,\x22reload-all\x22,761570200));\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar reload_STAR_ \x3d (function (){var or__5025__auto____$1 \x3d reload;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d reload_all;\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn new cljs.core.Keyword(null,\x22reload-all\x22,\x22reload-all\x22,761570200).cljs$core$IFn$_invoke$arity$1(ctx);\n}\n}\n})();\nvar temp__5802__auto___43905__$1 \x3d (cljs.core.truth_(reload_STAR_)?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,lib__$1));\nif(cljs.core.truth_(temp__5802__auto___43905__$1)){\nvar the_loaded_ns_43906 \x3d temp__5802__auto___43905__$1;\nvar loading_43907 \x3d new cljs.core.Keyword(null,\x22loading\x22,\x22loading\x22,-737050189).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d loading_43907;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((!(cljs.core.contains_QMARK_(cljs.core.deref(sci.impl.load.loaded_libs(env)),lib__$1)))) \x26\x26 (cljs.core.nat_int_QMARK_(loading_43907.indexOf(lib__$1))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2((function (){var lib_emphasized \x3d [\x22[ \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib__$1),\x22 ]\x22].join(\x27\x27);\nvar loading__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(loading_43907,lib__$1);\nvar loading__$2 \x3d cljs.core.replace.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.createAsIfByAssoc([lib__$1,lib_emphasized]),loading__$1);\nreturn [\x22Cyclic load dependency: \x22,clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22-\x3e\x22,loading__$2)].join(\x27\x27);\n})(),lib__$1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(lib__$1,cnn)){\n} else {\ncljs.core.reset_BANG_(env_STAR_,sci.impl.load.handle_require_libspec_env(ctx,env,cnn,the_loaded_ns_43906,lib__$1,opts));\n}\n}\n} else {\nvar temp__5802__auto___43908__$2 \x3d new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334).cljs$core$IFn$_invoke$arity$1(env);\nif(cljs.core.truth_(temp__5802__auto___43908__$2)){\nvar load_fn_43909 \x3d temp__5802__auto___43908__$2;\nvar curr_ns_43910 \x3d cljs.core.deref(sci.impl.utils.current_ns);\nvar temp__5802__auto___43911__$3 \x3d (function (){var G__43739 \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372),lib__$1,new cljs.core.Keyword(null,\x22libname\x22,\x22libname\x22,135992497),lib__$1,new cljs.core.Keyword(null,\x22ctx\x22,\x22ctx\x22,-493610118),ctx,new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.types.getName(curr_ns_43910),new cljs.core.Keyword(null,\x22reload\x22,\x22reload\x22,863702807),(function (){var or__5025__auto____$1 \x3d reload;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn reload_all;\n}\n})()], null);\nreturn (load_fn_43909.cljs$core$IFn$_invoke$arity$1 ? load_fn_43909.cljs$core$IFn$_invoke$arity$1(G__43739) : load_fn_43909.call(null,G__43739));\n})();\nif(cljs.core.truth_(temp__5802__auto___43911__$3)){\nvar map__43742_43913 \x3d temp__5802__auto___43911__$3;\nvar map__43742_43914__$1 \x3d cljs.core.__destructure_map(map__43742_43913);\nvar file_43915 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43742_43914__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar source_43916 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43742_43914__$1,new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539));\nvar handled_43917 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43742_43914__$1,new cljs.core.Keyword(null,\x22handled\x22,\x22handled\x22,1889700151));\nvar ctx_43918__$1 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),cljs.core.PersistentArrayMap.EMPTY),new cljs.core.Keyword(null,\x22reload-all\x22,\x22reload-all\x22,761570200),reload_all),new cljs.core.Keyword(null,\x22loading\x22,\x22loading\x22,-737050189),(function (loading){\nif((loading \x3d\x3d null)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [lib__$1], null);\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(loading,lib__$1);\n}\n}));\nif(cljs.core.truth_(source_43916)){\ntry{sci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,curr_ns_43910,sci.impl.utils.current_file,file_43915,sci.impl.parser.data_readers,cljs.core.deref(sci.impl.parser.data_readers)]));\n\ntry{sci.impl.load.load_string_STAR_(ctx_43918__$1,source_43916);\n}finally {sci.impl.vars.pop_thread_bindings();\n}}catch (e43751){if((e43751 instanceof Error)){\nvar e_43920 \x3d e43751;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(env_STAR_,cljs.core.update,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([lib__$1], 0));\n\nthrow e_43920;\n} else {\nthrow e43751;\n\n}\n}} else {\n}\n\nif(cljs.core.truth_(handled_43917)){\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env_STAR_,(function (env__$1){\nvar namespaces__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(env__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar the_loaded_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces__$1,lib__$1);\nreturn sci.impl.load.handle_require_libspec_env(ctx,env__$1,cnn,the_loaded_ns,lib__$1,opts);\n}));\n}\n} else {\nvar or__5025__auto___43923__$1 \x3d (cljs.core.truth_(reload_STAR_)?(function (){var temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,lib__$1);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar the_loaded_ns \x3d temp__5804__auto__;\nreturn cljs.core.reset_BANG_(env_STAR_,sci.impl.load.handle_require_libspec_env(ctx,env,cnn,the_loaded_ns,lib__$1,opts));\n} else {\nreturn null;\n}\n})():null);\nif(cljs.core.truth_(or__5025__auto___43923__$1)){\n} else {\nthrow (new Error([\x22Could not find namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib__$1),\x22.\x22].join(\x27\x27)));\n}\n}\n} else {\nthrow (new Error([\x22Could not find namespace \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib__$1),\x22.\x22].join(\x27\x27)));\n}\n}\n\nif(js_lib_QMARK_){\n} else {\nsci.impl.load.add_loaded_lib(env,lib__$1);\n}\n\nreturn null;\n}\n}\n});\nsci.impl.load.load_lib_STAR_ \x3d (function sci$impl$load$load_lib_STAR_(ctx,prefix,lib,options){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d prefix;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (cljs.core.name(lib).indexOf(\x22.\x22) \x3e (0));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Found lib name \x27\x22,cljs.core.name(lib),\x22\x27 containing period with prefix \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22\x27.  lib names inside prefix lists must not contain periods\x22].join(\x27\x27),lib);\n} else {\n}\n\nvar lib__$1 \x3d (cljs.core.truth_(prefix)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib)].join(\x27\x27)):lib);\nvar opts \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,options);\nreturn sci.impl.load.handle_require_libspec(ctx,lib__$1,opts);\n});\nsci.impl.load.load_lib \x3d (function sci$impl$load$load_lib(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43925 \x3d arguments.length;\nvar i__5750__auto___43940 \x3d (0);\nwhile(true){\nif((i__5750__auto___43940 \x3c len__5749__auto___43925)){\nargs__5755__auto__.push((arguments[i__5750__auto___43940]));\n\nvar G__43941 \x3d (i__5750__auto___43940 + (1));\ni__5750__auto___43940 \x3d G__43941;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.load.load_lib.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.load_lib.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,prefix,lib,options){\nreturn sci.impl.load.load_lib_STAR_(ctx,prefix,lib,options);\n}));\n\n(sci.impl.load.load_lib.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.load.load_lib.cljs$lang$applyTo \x3d (function (seq43752){\nvar G__43753 \x3d cljs.core.first(seq43752);\nvar seq43752__$1 \x3d cljs.core.next(seq43752);\nvar G__43754 \x3d cljs.core.first(seq43752__$1);\nvar seq43752__$2 \x3d cljs.core.next(seq43752__$1);\nvar G__43755 \x3d cljs.core.first(seq43752__$2);\nvar seq43752__$3 \x3d cljs.core.next(seq43752__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43753,G__43754,G__43755,seq43752__$3);\n}));\n\n/**\n * Prepends a symbol or a seq to coll\n */\nsci.impl.load.prependss \x3d (function sci$impl$load$prependss(x,coll){\nif((x instanceof cljs.core.Symbol)){\nreturn cljs.core.cons(x,coll);\n} else {\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,coll);\n}\n});\n/**\n * Returns true if x is a libspec\n */\nsci.impl.load.libspec_QMARK_ \x3d (function sci$impl$load$libspec_QMARK_(x){\nreturn (((x instanceof cljs.core.Symbol)) || (((cljs.core.vector_QMARK_(x)) \x26\x26 ((((cljs.core.second(x) \x3d\x3d null)) || ((cljs.core.second(x) instanceof cljs.core.Keyword)))))));\n});\n/**\n * Loads libs, evaling libspecs, prefix lists, and flags for\n *   forwarding to load-lib\n */\nsci.impl.load.load_libs \x3d (function sci$impl$load$load_libs(ctx,kw,args){\nvar args_STAR_ \x3d cljs.core.cons(kw,args);\nvar flags \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword_QMARK_,args_STAR_);\nvar opts \x3d cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(flags,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(true));\nvar args_STAR___$1 \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(cljs.core.keyword_QMARK_),args_STAR_);\nvar supported_43947 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22use\x22,\x22use\x22,-1846382424),null,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641),null,new cljs.core.Keyword(null,\x22require\x22,\x22require\x22,-468001333),null,new cljs.core.Keyword(null,\x22verbose\x22,\x22verbose\x22,1694226060),null,new cljs.core.Keyword(null,\x22reload\x22,\x22reload\x22,863702807),null,new cljs.core.Keyword(null,\x22reload-all\x22,\x22reload-all\x22,761570200),null,new cljs.core.Keyword(null,\x22require-macros\x22,\x22require-macros\x22,707947416),null,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),null], null), null);\nvar unsupported_43948 \x3d cljs.core.seq(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(supported_43947,flags));\nif(unsupported_43948){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,\x22Unsupported option(s) supplied: \x22,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22,\x22,unsupported_43948)),args);\n} else {\n}\n\nif(cljs.core.seq(args_STAR___$1)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22Nothing specified to load\x22,args);\n}\n\nvar seq__43775 \x3d cljs.core.seq(args_STAR___$1);\nvar chunk__43776 \x3d null;\nvar count__43777 \x3d (0);\nvar i__43778 \x3d (0);\nwhile(true){\nif((i__43778 \x3c count__43777)){\nvar arg \x3d chunk__43776.cljs$core$IIndexed$_nth$arity$2(null,i__43778);\nif(sci.impl.load.libspec_QMARK_(arg)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,null,sci.impl.load.prependss(arg,opts));\n} else {\nvar vec__43815_43965 \x3d arg;\nvar seq__43816_43966 \x3d cljs.core.seq(vec__43815_43965);\nvar first__43817_43967 \x3d cljs.core.first(seq__43816_43966);\nvar seq__43816_43968__$1 \x3d cljs.core.next(seq__43816_43966);\nvar prefix_43969 \x3d first__43817_43967;\nvar args_STAR__43970__$2 \x3d seq__43816_43968__$1;\nif((prefix_43969 \x3d\x3d null)){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22prefix cannot be nil\x22,args);\n} else {\n}\n\nvar seq__43818_43971 \x3d cljs.core.seq(args_STAR__43970__$2);\nvar chunk__43819_43972 \x3d null;\nvar count__43820_43973 \x3d (0);\nvar i__43821_43974 \x3d (0);\nwhile(true){\nif((i__43821_43974 \x3c count__43820_43973)){\nvar arg_43975__$1 \x3d chunk__43819_43972.cljs$core$IIndexed$_nth$arity$2(null,i__43821_43974);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_43969,sci.impl.load.prependss(arg_43975__$1,opts));\n\n\nvar G__43977 \x3d seq__43818_43971;\nvar G__43978 \x3d chunk__43819_43972;\nvar G__43979 \x3d count__43820_43973;\nvar G__43980 \x3d (i__43821_43974 + (1));\nseq__43818_43971 \x3d G__43977;\nchunk__43819_43972 \x3d G__43978;\ncount__43820_43973 \x3d G__43979;\ni__43821_43974 \x3d G__43980;\ncontinue;\n} else {\nvar temp__5804__auto___43981 \x3d cljs.core.seq(seq__43818_43971);\nif(temp__5804__auto___43981){\nvar seq__43818_43982__$1 \x3d temp__5804__auto___43981;\nif(cljs.core.chunked_seq_QMARK_(seq__43818_43982__$1)){\nvar c__5548__auto___43983 \x3d cljs.core.chunk_first(seq__43818_43982__$1);\nvar G__43984 \x3d cljs.core.chunk_rest(seq__43818_43982__$1);\nvar G__43985 \x3d c__5548__auto___43983;\nvar G__43986 \x3d cljs.core.count(c__5548__auto___43983);\nvar G__43987 \x3d (0);\nseq__43818_43971 \x3d G__43984;\nchunk__43819_43972 \x3d G__43985;\ncount__43820_43973 \x3d G__43986;\ni__43821_43974 \x3d G__43987;\ncontinue;\n} else {\nvar arg_43988__$1 \x3d cljs.core.first(seq__43818_43982__$1);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_43969,sci.impl.load.prependss(arg_43988__$1,opts));\n\n\nvar G__43989 \x3d cljs.core.next(seq__43818_43982__$1);\nvar G__43990 \x3d null;\nvar G__43991 \x3d (0);\nvar G__43992 \x3d (0);\nseq__43818_43971 \x3d G__43989;\nchunk__43819_43972 \x3d G__43990;\ncount__43820_43973 \x3d G__43991;\ni__43821_43974 \x3d G__43992;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}\n\n\nvar G__43993 \x3d seq__43775;\nvar G__43994 \x3d chunk__43776;\nvar G__43995 \x3d count__43777;\nvar G__43996 \x3d (i__43778 + (1));\nseq__43775 \x3d G__43993;\nchunk__43776 \x3d G__43994;\ncount__43777 \x3d G__43995;\ni__43778 \x3d G__43996;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__43775);\nif(temp__5804__auto__){\nvar seq__43775__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__43775__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__43775__$1);\nvar G__44011 \x3d cljs.core.chunk_rest(seq__43775__$1);\nvar G__44012 \x3d c__5548__auto__;\nvar G__44013 \x3d cljs.core.count(c__5548__auto__);\nvar G__44014 \x3d (0);\nseq__43775 \x3d G__44011;\nchunk__43776 \x3d G__44012;\ncount__43777 \x3d G__44013;\ni__43778 \x3d G__44014;\ncontinue;\n} else {\nvar arg \x3d cljs.core.first(seq__43775__$1);\nif(sci.impl.load.libspec_QMARK_(arg)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,null,sci.impl.load.prependss(arg,opts));\n} else {\nvar vec__43822_44015 \x3d arg;\nvar seq__43823_44016 \x3d cljs.core.seq(vec__43822_44015);\nvar first__43824_44017 \x3d cljs.core.first(seq__43823_44016);\nvar seq__43823_44018__$1 \x3d cljs.core.next(seq__43823_44016);\nvar prefix_44019 \x3d first__43824_44017;\nvar args_STAR__44020__$2 \x3d seq__43823_44018__$1;\nif((prefix_44019 \x3d\x3d null)){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22prefix cannot be nil\x22,args);\n} else {\n}\n\nvar seq__43825_44022 \x3d cljs.core.seq(args_STAR__44020__$2);\nvar chunk__43826_44023 \x3d null;\nvar count__43827_44024 \x3d (0);\nvar i__43828_44025 \x3d (0);\nwhile(true){\nif((i__43828_44025 \x3c count__43827_44024)){\nvar arg_44026__$1 \x3d chunk__43826_44023.cljs$core$IIndexed$_nth$arity$2(null,i__43828_44025);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_44019,sci.impl.load.prependss(arg_44026__$1,opts));\n\n\nvar G__44028 \x3d seq__43825_44022;\nvar G__44029 \x3d chunk__43826_44023;\nvar G__44030 \x3d count__43827_44024;\nvar G__44031 \x3d (i__43828_44025 + (1));\nseq__43825_44022 \x3d G__44028;\nchunk__43826_44023 \x3d G__44029;\ncount__43827_44024 \x3d G__44030;\ni__43828_44025 \x3d G__44031;\ncontinue;\n} else {\nvar temp__5804__auto___44032__$1 \x3d cljs.core.seq(seq__43825_44022);\nif(temp__5804__auto___44032__$1){\nvar seq__43825_44033__$1 \x3d temp__5804__auto___44032__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__43825_44033__$1)){\nvar c__5548__auto___44034 \x3d cljs.core.chunk_first(seq__43825_44033__$1);\nvar G__44036 \x3d cljs.core.chunk_rest(seq__43825_44033__$1);\nvar G__44037 \x3d c__5548__auto___44034;\nvar G__44038 \x3d cljs.core.count(c__5548__auto___44034);\nvar G__44039 \x3d (0);\nseq__43825_44022 \x3d G__44036;\nchunk__43826_44023 \x3d G__44037;\ncount__43827_44024 \x3d G__44038;\ni__43828_44025 \x3d G__44039;\ncontinue;\n} else {\nvar arg_44040__$1 \x3d cljs.core.first(seq__43825_44033__$1);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_44019,sci.impl.load.prependss(arg_44040__$1,opts));\n\n\nvar G__44041 \x3d cljs.core.next(seq__43825_44033__$1);\nvar G__44042 \x3d null;\nvar G__44043 \x3d (0);\nvar G__44044 \x3d (0);\nseq__43825_44022 \x3d G__44041;\nchunk__43826_44023 \x3d G__44042;\ncount__43827_44024 \x3d G__44043;\ni__43828_44025 \x3d G__44044;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}\n\n\nvar G__44045 \x3d cljs.core.next(seq__43775__$1);\nvar G__44046 \x3d null;\nvar G__44047 \x3d (0);\nvar G__44048 \x3d (0);\nseq__43775 \x3d G__44045;\nchunk__43776 \x3d G__44046;\ncount__43777 \x3d G__44047;\ni__43778 \x3d G__44048;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsci.impl.load.eval_require \x3d (function sci$impl$load$eval_require(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44049 \x3d arguments.length;\nvar i__5750__auto___44050 \x3d (0);\nwhile(true){\nif((i__5750__auto___44050 \x3c len__5749__auto___44049)){\nargs__5755__auto__.push((arguments[i__5750__auto___44050]));\n\nvar G__44051 \x3d (i__5750__auto___44050 + (1));\ni__5750__auto___44050 \x3d G__44051;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.load.eval_require.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.eval_require.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,args){\nreturn sci.impl.load.load_libs(ctx,new cljs.core.Keyword(null,\x22require\x22,\x22require\x22,-468001333),args);\n}));\n\n(sci.impl.load.eval_require.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.load.eval_require.cljs$lang$applyTo \x3d (function (seq43832){\nvar G__43833 \x3d cljs.core.first(seq43832);\nvar seq43832__$1 \x3d cljs.core.next(seq43832);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43833,seq43832__$1);\n}));\n\nsci.impl.load.eval_require_macros \x3d (function sci$impl$load$eval_require_macros(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44066 \x3d arguments.length;\nvar i__5750__auto___44067 \x3d (0);\nwhile(true){\nif((i__5750__auto___44067 \x3c len__5749__auto___44066)){\nargs__5755__auto__.push((arguments[i__5750__auto___44067]));\n\nvar G__44068 \x3d (i__5750__auto___44067 + (1));\ni__5750__auto___44067 \x3d G__44068;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.load.eval_require_macros.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.eval_require_macros.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,args){\nreturn sci.impl.load.load_libs(ctx,new cljs.core.Keyword(null,\x22require-macros\x22,\x22require-macros\x22,707947416),args);\n}));\n\n(sci.impl.load.eval_require_macros.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.load.eval_require_macros.cljs$lang$applyTo \x3d (function (seq43834){\nvar G__43835 \x3d cljs.core.first(seq43834);\nvar seq43834__$1 \x3d cljs.core.next(seq43834);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43835,seq43834__$1);\n}));\n\nsci.impl.load.eval_use \x3d (function sci$impl$load$eval_use(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44070 \x3d arguments.length;\nvar i__5750__auto___44071 \x3d (0);\nwhile(true){\nif((i__5750__auto___44071 \x3c len__5749__auto___44070)){\nargs__5755__auto__.push((arguments[i__5750__auto___44071]));\n\nvar G__44072 \x3d (i__5750__auto___44071 + (1));\ni__5750__auto___44071 \x3d G__44072;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.load.eval_use.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.eval_use.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,args){\nreturn sci.impl.load.load_libs(ctx,new cljs.core.Keyword(null,\x22use\x22,\x22use\x22,-1846382424),args);\n}));\n\n(sci.impl.load.eval_use.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.load.eval_use.cljs$lang$applyTo \x3d (function (seq43838){\nvar G__43839 \x3d cljs.core.first(seq43838);\nvar seq43838__$1 \x3d cljs.core.next(seq43838);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43839,seq43838__$1);\n}));\n\nsci.impl.load.eval_refer_clojure \x3d (function sci$impl$load$eval_refer_clojure(ctx,exprs){\nvar ns_sym \x3d new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null);\nvar exprs__$1 \x3d exprs;\nwhile(true){\nif(cljs.core.truth_(exprs__$1)){\nvar vec__43840 \x3d exprs__$1;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43840,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43840,(1),null);\nvar G__43843_44090 \x3d k;\nvar G__43843_44091__$1 \x3d (((G__43843_44090 instanceof cljs.core.Keyword))?G__43843_44090.fqn:null);\nswitch (G__43843_44091__$1) {\ncase \x22exclude\x22:\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),((function (exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym){\nreturn (function (env){\nvar cnn \x3d sci.impl.utils.current_ns_name();\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(env,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),ns_sym,new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.into,cljs.core.PersistentHashSet.EMPTY),v);\n});})(exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym))\n);\n\nbreak;\ncase \x22only\x22:\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),((function (exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym){\nreturn (function (env){\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar other_ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_sym], null));\nvar other_vars \x3d cljs.core.select_keys(other_ns,v);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn], null),cljs.core.merge,other_vars);\n});})(exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym))\n);\n\nbreak;\ncase \x22rename\x22:\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),((function (exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym){\nreturn (function (env){\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar namespaces \x3d new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(env);\nvar the_current_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,cnn);\nvar other_ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_sym], null));\nvar the_current_ns__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (exprs__$1,cnn,namespaces,the_current_ns,other_ns,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym){\nreturn (function (acc,p__43844){\nvar vec__43845 \x3d p__43844;\nvar original_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43845,(0),null);\nvar new_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43845,(1),null);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc_in(acc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),new_name], null),cljs.core.get.cljs$core$IFn$_invoke$arity$2(other_ns,original_name)),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),ns_sym,new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),original_name);\n});})(exprs__$1,cnn,namespaces,the_current_ns,other_ns,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym))\n,the_current_ns,v);\nreturn cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn], null),the_current_ns__$1);\n});})(exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym))\n);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__43843_44091__$1)].join(\x27\x27)));\n\n}\n\nvar G__44112 \x3d cljs.core.nnext(exprs__$1);\nexprs__$1 \x3d G__44112;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\nsci.impl.load.eval_refer_STAR_ \x3d (function sci$impl$load$eval_refer_STAR_(env,ns_sym,filters){\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar namespaces \x3d new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(env);\nvar ns \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,ns_sym);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nthrow (new Error([\x22No namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_sym)].join(\x27\x27)));\n}\n})();\nvar fs \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,filters);\nvar public_keys \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.symbol_QMARK_,cljs.core.keys(ns));\nvar rename \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22rename\x22,\x22rename\x22,1508157613).cljs$core$IFn$_invoke$arity$1(fs);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})();\nvar exclude \x3d cljs.core.set(new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334).cljs$core$IFn$_invoke$arity$1(fs));\nvar to_do \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(fs)))?public_keys:(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(fs);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d new cljs.core.Keyword(null,\x22only\x22,\x22only\x22,1907811652).cljs$core$IFn$_invoke$arity$1(fs);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn public_keys;\n}\n}\n})());\nvar _ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d to_do;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(cljs.core.sequential_QMARK_(to_do)));\n} else {\nreturn and__5023__auto__;\n}\n})())?(function(){throw (new Error(\x22:only/:refer value must be a sequential collection of symbols\x22))})():null);\nvar the_current_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,cnn);\nvar referred \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nvar referred__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (referred__$1,sym){\nif(cljs.core.not((exclude.cljs$core$IFn$_invoke$arity$1 ? exclude.cljs$core$IFn$_invoke$arity$1(sym) : exclude.call(null,sym)))){\nvar v \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ns,sym);\nif(cljs.core.truth_(v)){\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22 does not exist\x22].join(\x27\x27)\n));\n}\n\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(referred__$1,(function (){var or__5025__auto__ \x3d (rename.cljs$core$IFn$_invoke$arity$1 ? rename.cljs$core$IFn$_invoke$arity$1(sym) : rename.call(null,sym));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sym;\n}\n})(),v);\n} else {\nreturn referred__$1;\n}\n}),referred,to_do);\nvar the_current_ns__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),referred__$1);\nvar namespaces__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(namespaces,cnn,the_current_ns__$1);\nvar env__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),namespaces__$1);\nreturn env__$1;\n});\n/**\n * The function equivalent of :refer is handled differently than what we\n *   did before (this is more like what Clojure itself does.) For\n *   referring clojure.core we still use the old code.\n */\nsci.impl.load.eval_refer \x3d (function sci$impl$load$eval_refer(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44118 \x3d arguments.length;\nvar i__5750__auto___44119 \x3d (0);\nwhile(true){\nif((i__5750__auto___44119 \x3c len__5749__auto___44118)){\nargs__5755__auto__.push((arguments[i__5750__auto___44119]));\n\nvar G__44120 \x3d (i__5750__auto___44119 + (1));\ni__5750__auto___44119 \x3d G__44120;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.load.eval_refer.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.eval_refer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,ns_sym,filters){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),ns_sym)){\nsci.impl.load.eval_refer_clojure(ctx,filters);\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),sci.impl.load.eval_refer_STAR_,ns_sym,filters);\n}\n\nreturn null;\n}));\n\n(sci.impl.load.eval_refer.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.load.eval_refer.cljs$lang$applyTo \x3d (function (seq43849){\nvar G__43850 \x3d cljs.core.first(seq43849);\nvar seq43849__$1 \x3d cljs.core.next(seq43849);\nvar G__43851 \x3d cljs.core.first(seq43849__$1);\nvar seq43849__$2 \x3d cljs.core.next(seq43849__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43850,G__43851,seq43849__$2);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.analyzer.js", true, "goog.provide(\x27sci.impl.analyzer\x27);\ngoog.scope(function(){\n  sci.impl.analyzer.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nsci.impl.analyzer.recur_target \x3d (function sci$impl$analyzer$recur_target(ctx){\nreturn new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536).cljs$core$IFn$_invoke$arity$1(ctx);\n});\nsci.impl.analyzer.with_recur_target \x3d (function sci$impl$analyzer$with_recur_target(ctx,v){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536),v);\n});\nsci.impl.analyzer.without_recur_target \x3d (function sci$impl$analyzer$without_recur_target(var_args){\nvar G__46794 \x3d arguments.length;\nswitch (G__46794) {\ncase 1:\nreturn sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1 \x3d (function (ctx){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536),false);\n}));\n\n(sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reason){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(ctx,new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536),false,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22no-recur-reason\x22,\x22no-recur-reason\x22,-1993064353),reason], 0));\n}));\n\n(sci.impl.analyzer.without_recur_target.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.analyzer.recur_target_QMARK_ \x3d (function sci$impl$analyzer$recur_target_QMARK_(ctx){\nreturn new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536).cljs$core$IFn$_invoke$arity$1(ctx);\n});\nsci.impl.analyzer.throw_error_with_location \x3d (function sci$impl$analyzer$throw_error_with_location(msg,node){\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3(msg,node,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),\x22analysis\x22], null));\n});\n\n\n\n\nsci.impl.analyzer.analyze_children_tail \x3d (function sci$impl$analyzer$analyze_children_tail(ctx,children){\nvar rt \x3d sci.impl.analyzer.recur_target(ctx);\nvar non_tail_ctx \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar analyzed_children_non_tail \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p1__46803_SHARP_){\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(non_tail_ctx,p1__46803_SHARP_) : sci.impl.analyzer.analyze.call(null,non_tail_ctx,p1__46803_SHARP_));\n}),cljs.core.butlast(children));\nvar ret_child \x3d (function (){var G__46808 \x3d sci.impl.analyzer.with_recur_target(ctx,rt);\nvar G__46809 \x3d cljs.core.last(children);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46808,G__46809) : sci.impl.analyzer.analyze.call(null,G__46808,G__46809));\n})();\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(analyzed_children_non_tail,ret_child);\n});\nsci.impl.analyzer.return_do \x3d (function sci$impl$analyzer$return_do(ctx,expr,children){\nvar child_count \x3d cljs.core.count(children);\nif((child_count \x3e (5))){\nvar node1 \x3d (function (){var G__46815 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__46816 \x3d expr;\nvar G__46817 \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_do.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_do.cljs$core$IFn$_invoke$arity$3(G__46815,G__46816,G__46817) : sci.impl.analyzer.return_do.call(null,G__46815,G__46816,G__46817));\n})();\nvar node2 \x3d (function (){var G__46819 \x3d ctx;\nvar G__46820 \x3d expr;\nvar G__46821 \x3d cljs.core.drop.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_do.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_do.cljs$core$IFn$_invoke$arity$3(G__46819,G__46820,G__46821) : sci.impl.analyzer.return_do.call(null,G__46819,G__46820,G__46821));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node1,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node2,ctx__$1,bindings);\n}),null);\n} else {\nvar analyzed_children \x3d sci.impl.analyzer.analyze_children_tail(ctx,children);\nvar G__46822 \x3d child_count;\nswitch (G__46822) {\ncase (0):\nreturn null;\n\nbreak;\ncase (1):\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\n\nbreak;\ncase (2):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node0,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node1,ctx__$1,bindings);\n}),null);\n\nbreak;\ncase (3):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node0,ctx__$1,bindings);\n\nsci.impl.types.eval(node1,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node2,ctx__$1,bindings);\n}),null);\n\nbreak;\ncase (4):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar node3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node0,ctx__$1,bindings);\n\nsci.impl.types.eval(node1,ctx__$1,bindings);\n\nsci.impl.types.eval(node2,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node3,ctx__$1,bindings);\n}),null);\n\nbreak;\ncase (5):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar node3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar node4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node0,ctx__$1,bindings);\n\nsci.impl.types.eval(node1,ctx__$1,bindings);\n\nsci.impl.types.eval(node2,ctx__$1,bindings);\n\nsci.impl.types.eval(node3,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node4,ctx__$1,bindings);\n}),null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__46822)].join(\x27\x27)));\n\n}\n}\n});\nsci.impl.analyzer.return_or \x3d (function sci$impl$analyzer$return_or(ctx,expr,children){\nvar child_count_SHARP_ \x3d cljs.core.count(children);\nif((child_count_SHARP_ \x3e (5))){\nvar a0_SHARP_ \x3d (function (){var G__46834 \x3d ctx;\nvar G__46835 \x3d expr;\nvar G__46836 \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_or.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_or.cljs$core$IFn$_invoke$arity$3(G__46834,G__46835,G__46836) : sci.impl.analyzer.return_or.call(null,G__46834,G__46835,G__46836));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46840 \x3d ctx;\nvar G__46841 \x3d expr;\nvar G__46842 \x3d cljs.core.drop.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_or.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_or.cljs$core$IFn$_invoke$arity$3(G__46840,G__46841,G__46842) : sci.impl.analyzer.return_or.call(null,G__46840,G__46841,G__46842));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\n}\n}),null);\n} else {\nvar children__$1 \x3d sci.impl.analyzer.analyze_children_tail(ctx,children);\nvar G__46843 \x3d child_count_SHARP_;\nswitch (G__46843) {\ncase (0):\nreturn null;\n\nbreak;\ncase (1):\nvar G__46844 \x3d ctx;\nvar G__46845 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46844,G__46845) : sci.impl.analyzer.analyze.call(null,G__46844,G__46845));\n\nbreak;\ncase (2):\nvar a0_SHARP_ \x3d (function (){var G__46846 \x3d ctx;\nvar G__46847 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46846,G__46847) : sci.impl.analyzer.analyze.call(null,G__46846,G__46847));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46848 \x3d ctx;\nvar G__46849 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46848,G__46849) : sci.impl.analyzer.analyze.call(null,G__46848,G__46849));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\n}\n}),null);\n\nbreak;\ncase (3):\nvar a0_SHARP_ \x3d (function (){var G__46850 \x3d ctx;\nvar G__46851 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46850,G__46851) : sci.impl.analyzer.analyze.call(null,G__46850,G__46851));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46852 \x3d ctx;\nvar G__46853 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46852,G__46853) : sci.impl.analyzer.analyze.call(null,G__46852,G__46853));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46854 \x3d ctx;\nvar G__46855 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46854,G__46855) : sci.impl.analyzer.analyze.call(null,G__46854,G__46855));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\n}\n}\n}),null);\n\nbreak;\ncase (4):\nvar a0_SHARP_ \x3d (function (){var G__46856 \x3d ctx;\nvar G__46857 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46856,G__46857) : sci.impl.analyzer.analyze.call(null,G__46856,G__46857));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46862 \x3d ctx;\nvar G__46863 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46862,G__46863) : sci.impl.analyzer.analyze.call(null,G__46862,G__46863));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46869 \x3d ctx;\nvar G__46870 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46869,G__46870) : sci.impl.analyzer.analyze.call(null,G__46869,G__46870));\n})();\nvar a3_SHARP_ \x3d (function (){var G__46876 \x3d ctx;\nvar G__46877 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46876,G__46877) : sci.impl.analyzer.analyze.call(null,G__46876,G__46877));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn sci.impl.types.eval(a3_SHARP_,ctx__$1,bindings);\n}\n}\n}\n}),null);\n\nbreak;\ncase (5):\nvar a0_SHARP_ \x3d (function (){var G__46887 \x3d ctx;\nvar G__46888 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46887,G__46888) : sci.impl.analyzer.analyze.call(null,G__46887,G__46888));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46889 \x3d ctx;\nvar G__46890 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46889,G__46890) : sci.impl.analyzer.analyze.call(null,G__46889,G__46890));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46891 \x3d ctx;\nvar G__46892 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46891,G__46892) : sci.impl.analyzer.analyze.call(null,G__46891,G__46892));\n})();\nvar a3_SHARP_ \x3d (function (){var G__46896 \x3d ctx;\nvar G__46897 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46896,G__46897) : sci.impl.analyzer.analyze.call(null,G__46896,G__46897));\n})();\nvar a4_SHARP_ \x3d (function (){var G__46898 \x3d ctx;\nvar G__46899 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(4));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46898,G__46899) : sci.impl.analyzer.analyze.call(null,G__46898,G__46899));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d sci.impl.types.eval(a3_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nreturn sci.impl.types.eval(a4_SHARP_,ctx__$1,bindings);\n}\n}\n}\n}\n}),null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__46843)].join(\x27\x27)));\n\n}\n}\n});\nsci.impl.analyzer.return_and \x3d (function sci$impl$analyzer$return_and(ctx,expr,children){\nvar child_count_SHARP_ \x3d cljs.core.count(children);\nif((child_count_SHARP_ \x3e (5))){\nvar a0_SHARP_ \x3d (function (){var G__46901 \x3d ctx;\nvar G__46902 \x3d expr;\nvar G__46903 \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_and.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_and.cljs$core$IFn$_invoke$arity$3(G__46901,G__46902,G__46903) : sci.impl.analyzer.return_and.call(null,G__46901,G__46902,G__46903));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46904 \x3d ctx;\nvar G__46905 \x3d expr;\nvar G__46906 \x3d cljs.core.drop.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_and.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_and.cljs$core$IFn$_invoke$arity$3(G__46904,G__46905,G__46906) : sci.impl.analyzer.return_and.call(null,G__46904,G__46905,G__46906));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n} else {\nvar children__$1 \x3d sci.impl.analyzer.analyze_children_tail(ctx,children);\nvar G__46908 \x3d child_count_SHARP_;\nswitch (G__46908) {\ncase (0):\nreturn true;\n\nbreak;\ncase (1):\nvar G__46909 \x3d ctx;\nvar G__46910 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46909,G__46910) : sci.impl.analyzer.analyze.call(null,G__46909,G__46910));\n\nbreak;\ncase (2):\nvar a0_SHARP_ \x3d (function (){var G__46912 \x3d ctx;\nvar G__46913 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46912,G__46913) : sci.impl.analyzer.analyze.call(null,G__46912,G__46913));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46914 \x3d ctx;\nvar G__46915 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46914,G__46915) : sci.impl.analyzer.analyze.call(null,G__46914,G__46915));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n\nbreak;\ncase (3):\nvar a0_SHARP_ \x3d (function (){var G__46920 \x3d ctx;\nvar G__46921 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46920,G__46921) : sci.impl.analyzer.analyze.call(null,G__46920,G__46921));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46922 \x3d ctx;\nvar G__46923 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46922,G__46923) : sci.impl.analyzer.analyze.call(null,G__46922,G__46923));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46924 \x3d ctx;\nvar G__46925 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46924,G__46925) : sci.impl.analyzer.analyze.call(null,G__46924,G__46925));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n\nbreak;\ncase (4):\nvar a0_SHARP_ \x3d (function (){var G__46926 \x3d ctx;\nvar G__46927 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46926,G__46927) : sci.impl.analyzer.analyze.call(null,G__46926,G__46927));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46929 \x3d ctx;\nvar G__46930 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46929,G__46930) : sci.impl.analyzer.analyze.call(null,G__46929,G__46930));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46932 \x3d ctx;\nvar G__46933 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46932,G__46933) : sci.impl.analyzer.analyze.call(null,G__46932,G__46933));\n})();\nvar a3_SHARP_ \x3d (function (){var G__46934 \x3d ctx;\nvar G__46935 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46934,G__46935) : sci.impl.analyzer.analyze.call(null,G__46934,G__46935));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn sci.impl.types.eval(a3_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n\nbreak;\ncase (5):\nvar a0_SHARP_ \x3d (function (){var G__46940 \x3d ctx;\nvar G__46941 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46940,G__46941) : sci.impl.analyzer.analyze.call(null,G__46940,G__46941));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46942 \x3d ctx;\nvar G__46943 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46942,G__46943) : sci.impl.analyzer.analyze.call(null,G__46942,G__46943));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46944 \x3d ctx;\nvar G__46945 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46944,G__46945) : sci.impl.analyzer.analyze.call(null,G__46944,G__46945));\n})();\nvar a3_SHARP_ \x3d (function (){var G__46946 \x3d ctx;\nvar G__46947 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46946,G__46947) : sci.impl.analyzer.analyze.call(null,G__46946,G__46947));\n})();\nvar a4_SHARP_ \x3d (function (){var G__46948 \x3d ctx;\nvar G__46949 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(4));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46948,G__46949) : sci.impl.analyzer.analyze.call(null,G__46948,G__46949));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$2)){\nvar and__5023__auto____$3 \x3d sci.impl.types.eval(a3_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$3)){\nreturn sci.impl.types.eval(a4_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto____$3;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__46908)].join(\x27\x27)));\n\n}\n}\n});\nsci.impl.analyzer.return_recur \x3d (function sci$impl$analyzer$return_recur(ctx,expr,analyzed_children){\nif(cljs.core.truth_(sci.impl.analyzer.recur_target_QMARK_(ctx))){\n} else {\nsci.impl.analyzer.throw_error_with_location((function (){var G__46962 \x3d new cljs.core.Keyword(null,\x22no-recur-reason\x22,\x22no-recur-reason\x22,-1993064353).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__46962__$1 \x3d (((G__46962 instanceof cljs.core.Keyword))?G__46962.fqn:null);\nswitch (G__46962__$1) {\ncase \x22try\x22:\nreturn \x22Cannot recur across try\x22;\n\nbreak;\ndefault:\nreturn \x22Can only recur from tail position\x22;\n\n}\n})(),expr);\n}\n\nvar params \x3d new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__46963 \x3d cljs.core.count(analyzed_children);\nswitch (G__46963) {\ncase (0):\nvar recur__45811__auto__ \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn recur__45811__auto__;\n}),null);\n\nbreak;\ncase (1):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (2):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (3):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (4):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (5):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (6):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (7):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (8):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (9):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (10):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (11):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (12):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (13):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (14):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (15):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (16):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar param15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(15));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\nvar eval_15 \x3d sci.impl.types.eval(arg15,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\n(bindings[(15)] \x3d eval_15);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (17):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar param15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar param16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(16));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\nvar eval_15 \x3d sci.impl.types.eval(arg15,ctx__$1,bindings);\nvar eval_16 \x3d sci.impl.types.eval(arg16,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\n(bindings[(15)] \x3d eval_15);\n\n(bindings[(16)] \x3d eval_16);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (18):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar param15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar param16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nvar param17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(17));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\nvar eval_15 \x3d sci.impl.types.eval(arg15,ctx__$1,bindings);\nvar eval_16 \x3d sci.impl.types.eval(arg16,ctx__$1,bindings);\nvar eval_17 \x3d sci.impl.types.eval(arg17,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\n(bindings[(15)] \x3d eval_15);\n\n(bindings[(16)] \x3d eval_16);\n\n(bindings[(17)] \x3d eval_17);\n\nreturn recur46955;\n}),null);\n\nbreak;\ncase (19):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar param15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar param16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nvar param17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(17));\nvar arg18 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(18));\nvar param18 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(18));\nvar recur46955 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\nvar eval_15 \x3d sci.impl.types.eval(arg15,ctx__$1,bindings);\nvar eval_16 \x3d sci.impl.types.eval(arg16,ctx__$1,bindings);\nvar eval_17 \x3d sci.impl.types.eval(arg17,ctx__$1,bindings);\nvar eval_18 \x3d sci.impl.types.eval(arg18,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\n(bindings[(15)] \x3d eval_15);\n\n(bindings[(16)] \x3d eval_16);\n\n(bindings[(17)] \x3d eval_17);\n\n(bindings[(18)] \x3d eval_18);\n\nreturn recur46955;\n}),null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__46963)].join(\x27\x27)));\n\n}\n});\nsci.impl.analyzer.analyze_children \x3d (function sci$impl$analyzer$analyze_children(ctx,children){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p1__47017_SHARP_){\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,p1__47017_SHARP_) : sci.impl.analyzer.analyze.call(null,ctx,p1__47017_SHARP_));\n}),children);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nsci.impl.analyzer.FnBody \x3d (function (params,body,fixed_arity,var_arg_name,self_ref_idx,iden__GT_invoke_idx,__meta,__extmap,__hash){\nthis.params \x3d params;\nthis.body \x3d body;\nthis.fixed_arity \x3d fixed_arity;\nthis.var_arg_name \x3d var_arg_name;\nthis.self_ref_idx \x3d self_ref_idx;\nthis.iden__GT_invoke_idx \x3d iden__GT_invoke_idx;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k47019,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__47023 \x3d k47019;\nvar G__47023__$1 \x3d (((G__47023 instanceof cljs.core.Keyword))?G__47023.fqn:null);\nswitch (G__47023__$1) {\ncase \x22params\x22:\nreturn self__.params;\n\nbreak;\ncase \x22body\x22:\nreturn self__.body;\n\nbreak;\ncase \x22fixed-arity\x22:\nreturn self__.fixed_arity;\n\nbreak;\ncase \x22var-arg-name\x22:\nreturn self__.var_arg_name;\n\nbreak;\ncase \x22self-ref-idx\x22:\nreturn self__.self_ref_idx;\n\nbreak;\ncase \x22iden-\x3einvoke-idx\x22:\nreturn self__.iden__GT_invoke_idx;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k47019,else__5326__auto__);\n\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__47027){\nvar vec__47028 \x3d p__47027;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47028,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47028,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#sci.impl.analyzer.FnBody{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),self__.body],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),self__.fixed_arity],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),self__.var_arg_name],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),self__.self_ref_idx],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),self__.iden__GT_invoke_idx],null))], null),self__.__extmap));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__47018){\nvar self__ \x3d this;\nvar G__47018__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__47018__$1,6,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (6 + cljs.core.count(self__.__extmap));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1733662014 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this47020,other47021){\nvar self__ \x3d this;\nvar this47020__$1 \x3d this;\nreturn (((!((other47021 \x3d\x3d null)))) \x26\x26 ((((this47020__$1.constructor \x3d\x3d\x3d other47021.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this47020__$1.params,other47021.params)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this47020__$1.body,other47021.body)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this47020__$1.fixed_arity,other47021.fixed_arity)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this47020__$1.var_arg_name,other47021.var_arg_name)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this47020__$1.self_ref_idx,other47021.self_ref_idx)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this47020__$1.iden__GT_invoke_idx,other47021.iden__GT_invoke_idx)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this47020__$1.__extmap,other47021.__extmap)))))))))))))))));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),null,new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),null,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),null,new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),null,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k47019){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__47044 \x3d k47019;\nvar G__47044__$1 \x3d (((G__47044 instanceof cljs.core.Keyword))?G__47044.fqn:null);\nswitch (G__47044__$1) {\ncase \x22params\x22:\ncase \x22body\x22:\ncase \x22fixed-arity\x22:\ncase \x22var-arg-name\x22:\ncase \x22self-ref-idx\x22:\ncase \x22iden-\x3einvoke-idx\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k47019);\n\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__47018){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__47045 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__47046 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__47045.cljs$core$IFn$_invoke$arity$2 ? pred__47045.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__47046) : pred__47045.call(null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__47046)))){\nreturn (new sci.impl.analyzer.FnBody(G__47018,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__47045.cljs$core$IFn$_invoke$arity$2 ? pred__47045.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),expr__47046) : pred__47045.call(null,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),expr__47046)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,G__47018,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__47045.cljs$core$IFn$_invoke$arity$2 ? pred__47045.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),expr__47046) : pred__47045.call(null,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),expr__47046)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,G__47018,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__47045.cljs$core$IFn$_invoke$arity$2 ? pred__47045.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),expr__47046) : pred__47045.call(null,new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),expr__47046)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,G__47018,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__47045.cljs$core$IFn$_invoke$arity$2 ? pred__47045.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),expr__47046) : pred__47045.call(null,new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),expr__47046)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,G__47018,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__47045.cljs$core$IFn$_invoke$arity$2 ? pred__47045.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),expr__47046) : pred__47045.call(null,new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),expr__47046)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,G__47018,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__47018),null));\n}\n}\n}\n}\n}\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),self__.body,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),self__.fixed_arity,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),self__.var_arg_name,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),self__.self_ref_idx,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),self__.iden__GT_invoke_idx,null))], null),self__.__extmap));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__47018){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,G__47018,self__.__extmap,self__.__hash));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(sci.impl.analyzer.FnBody.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params\x22,\x22params\x22,-1943919534,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null),new cljs.core.Symbol(null,\x22fixed-arity\x22,\x22fixed-arity\x22,-1067989900,null),new cljs.core.Symbol(null,\x22var-arg-name\x22,\x22var-arg-name\x22,540506640,null),new cljs.core.Symbol(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,255993715,null),new cljs.core.Symbol(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-157095499,null)], null);\n}));\n\n(sci.impl.analyzer.FnBody.cljs$lang$type \x3d true);\n\n(sci.impl.analyzer.FnBody.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22sci.impl.analyzer/FnBody\x22,null,(1),null));\n}));\n\n(sci.impl.analyzer.FnBody.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22sci.impl.analyzer/FnBody\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.analyzer/FnBody.\n */\nsci.impl.analyzer.__GT_FnBody \x3d (function sci$impl$analyzer$__GT_FnBody(params,body,fixed_arity,var_arg_name,self_ref_idx,iden__GT_invoke_idx){\nreturn (new sci.impl.analyzer.FnBody(params,body,fixed_arity,var_arg_name,self_ref_idx,iden__GT_invoke_idx,null,null,null));\n});\n\n/**\n * Factory function for sci.impl.analyzer/FnBody, taking a map of keywords to field values.\n */\nsci.impl.analyzer.map__GT_FnBody \x3d (function sci$impl$analyzer$map__GT_FnBody(G__47022){\nvar extmap__5365__auto__ \x3d (function (){var G__47048 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__47022,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026)], 0));\nif(cljs.core.record_QMARK_(G__47022)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__47048);\n} else {\nreturn G__47048;\n}\n})();\nreturn (new sci.impl.analyzer.FnBody(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(G__47022),new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(G__47022),new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(G__47022),new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887).cljs$core$IFn$_invoke$arity$1(G__47022),new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812).cljs$core$IFn$_invoke$arity$1(G__47022),new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(G__47022),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nsci.impl.analyzer.expand_fn_args_PLUS_body \x3d (function sci$impl$analyzer$expand_fn_args_PLUS_body(p__47053,p__47054,_macro_QMARK_,fn_name,fn_id){\nvar map__47055 \x3d p__47053;\nvar map__47055__$1 \x3d cljs.core.__destructure_map(map__47055);\nvar ctx \x3d map__47055__$1;\nvar fn_expr \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__47055__$1,new cljs.core.Keyword(null,\x22fn-expr\x22,\x22fn-expr\x22,-933027985));\nvar vec__47056 \x3d p__47054;\nvar seq__47057 \x3d cljs.core.seq(vec__47056);\nvar first__47058 \x3d cljs.core.first(seq__47057);\nvar seq__47057__$1 \x3d cljs.core.next(seq__47057);\nvar binding_vector \x3d first__47058;\nvar body_exprs \x3d seq__47057__$1;\nif(cljs.core.truth_(binding_vector)){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Parameter declaration missing.\x22,fn_expr);\n}\n\nif(cljs.core.vector_QMARK_(binding_vector)){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Parameter declaration should be a vector\x22,fn_expr);\n}\n\nvar vec__47059 \x3d cljs.core.split_with((function (p1__47052_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),p1__47052_SHARP_);\n}),binding_vector);\nvar fixed_args \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47059,(0),null);\nvar vec__47062 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47059,(1),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47062,(0),null);\nvar var_arg_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47062,(1),null);\nvar fixed_args__$1 \x3d cljs.core.vec(fixed_args);\nvar fixed_arity \x3d cljs.core.count(fixed_args__$1);\nvar param_names \x3d (function (){var G__47066 \x3d fixed_args__$1;\nif(cljs.core.truth_(var_arg_name)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(G__47066,var_arg_name);\n} else {\nreturn G__47066;\n}\n})();\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),param_names);\nvar param_count \x3d cljs.core.count(param_names);\nvar param_idens \x3d cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2(param_count,cljs.core.gensym);\nvar param_bindings \x3d cljs.core.zipmap(param_names,param_idens);\nvar iden__GT_invoke_idx \x3d cljs.core.zipmap(param_idens,cljs.core.range.cljs$core$IFn$_invoke$arity$0());\nvar bindings \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx__$1),param_names);\nvar ctx__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$1,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([bindings,param_bindings], 0)));\nvar ctx__$3 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$2,new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),iden__GT_invoke_idx);\nvar ctx__$4 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$4(ctx__$3,new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.conj,(function (){var or__5025__auto__ \x3d var_arg_name;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn fixed_arity;\n}\n})());\nvar ___$1 \x3d cljs.core._vreset_BANG_(new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4),cljs.core.assoc_in(cljs.core._deref(new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx__$4),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)),cljs.core.zipmap(param_idens,cljs.core.range.cljs$core$IFn$_invoke$arity$0())));\nvar self_ref_idx \x3d (cljs.core.truth_(fn_name)?(function (){var G__47067 \x3d ctx__$4;\nvar G__47068 \x3d new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4);\nvar G__47069 \x3d fn_id;\nreturn (sci.impl.analyzer.update_parents.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.update_parents.cljs$core$IFn$_invoke$arity$3(G__47067,G__47068,G__47069) : sci.impl.analyzer.update_parents.call(null,G__47067,G__47068,G__47069));\n})():null);\nvar body \x3d sci.impl.analyzer.return_do(sci.impl.analyzer.with_recur_target(ctx__$4,true),fn_expr,body_exprs);\nvar iden__GT_invoke_idx__$1 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx__$4),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)));\nvar G__47071 \x3d sci.impl.analyzer.__GT_FnBody(binding_vector,body,fixed_arity,var_arg_name,self_ref_idx,iden__GT_invoke_idx__$1);\nif(cljs.core.truth_(var_arg_name)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__47071,new cljs.core.Keyword(null,\x22vararg-idx\x22,\x22vararg-idx\x22,-590991228),cljs.core.get.cljs$core$IFn$_invoke$arity$2(iden__GT_invoke_idx__$1,cljs.core.last(param_idens)));\n} else {\nreturn G__47071;\n}\n});\nsci.impl.analyzer.analyzed_fn_meta \x3d (function sci$impl$analyzer$analyzed_fn_meta(ctx,m){\nvar meta_needs_eval_QMARK_ \x3d (cljs.core.count(m) \x3e (2));\nvar m__$1 \x3d ((meta_needs_eval_QMARK_)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((function (){var G__47073 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),true);\nvar G__47074 \x3d m;\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47073,G__47074) : sci.impl.analyzer.analyze.call(null,G__47073,G__47074));\n})(),cljs.core.assoc,new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978),new cljs.core.Keyword(null,\x22eval\x22,\x22eval\x22,-1103567905)):m);\nreturn m__$1;\n});\nsci.impl.analyzer.single_arity_fn \x3d (function sci$impl$analyzer$single_arity_fn(bindings_fn,fn_body,fn_name,self_ref_in_enclosed_idx,self_ref_QMARK_,nsm,fn_meta,macro_QMARK_){\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar copy_enclosed__GT_invocation \x3d new cljs.core.Keyword(null,\x22copy-enclosed-\x3einvocation\x22,\x22copy-enclosed-\x3einvocation\x22,-1322388729).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar invoc_size \x3d new cljs.core.Keyword(null,\x22invoc-size\x22,\x22invoc-size\x22,2053298058).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar body \x3d new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar vararg_idx \x3d new cljs.core.Keyword(null,\x22vararg-idx\x22,\x22vararg-idx\x22,-590991228).cljs$core$IFn$_invoke$arity$1(fn_body);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\nvar enclosed_array \x3d (bindings_fn.cljs$core$IFn$_invoke$arity$1 ? bindings_fn.cljs$core$IFn$_invoke$arity$1(bindings) : bindings_fn.call(null,bindings));\nvar f \x3d sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11(ctx,enclosed_array,body,fn_name,macro_QMARK_,fixed_arity,copy_enclosed__GT_invocation,body,invoc_size,nsm,vararg_idx);\nvar f__$1 \x3d (((fn_meta \x3d\x3d null))?f:(function (){var fn_meta__$1 \x3d sci.impl.types.eval(fn_meta,ctx,bindings);\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3(f,cljs.core.merge,fn_meta__$1);\n})());\nvar f__$2 \x3d (cljs.core.truth_(macro_QMARK_)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(f__$1,(function (p1__47075_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(p1__47075_SHARP_,new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),macro_QMARK_,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22sci.impl\x22,\x22inner-fn\x22,\x22sci.impl/inner-fn\x22,1663302998),f__$1], 0));\n})):f__$1);\nif(cljs.core.truth_(self_ref_QMARK_)){\n(enclosed_array[self_ref_in_enclosed_idx] \x3d f__$2);\n} else {\n}\n\nreturn f__$2;\n}),null);\n});\nsci.impl.analyzer.multi_arity_fn_body \x3d (function sci$impl$analyzer$multi_arity_fn_body(fn_body,fn_name,nsm){\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar copy_enclosed__GT_invocation \x3d new cljs.core.Keyword(null,\x22copy-enclosed-\x3einvocation\x22,\x22copy-enclosed-\x3einvocation\x22,-1322388729).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar invoc_size \x3d new cljs.core.Keyword(null,\x22invoc-size\x22,\x22invoc-size\x22,2053298058).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar body \x3d new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar vararg_idx \x3d new cljs.core.Keyword(null,\x22vararg-idx\x22,\x22vararg-idx\x22,-590991228).cljs$core$IFn$_invoke$arity$1(fn_body);\nreturn (function (enclosed_array){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\nvar f \x3d sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11(ctx,enclosed_array,body,fn_name,sci.impl.utils.macro_QMARK_,fixed_arity,copy_enclosed__GT_invocation,body,invoc_size,nsm,vararg_idx);\nreturn f;\n}),null);\n});\n});\nsci.impl.analyzer.analyze_fn_STAR_ \x3d (function sci$impl$analyzer$analyze_fn_STAR_(ctx,p__47079){\nvar vec__47080 \x3d p__47079;\nvar seq__47081 \x3d cljs.core.seq(vec__47080);\nvar first__47082 \x3d cljs.core.first(seq__47081);\nvar seq__47081__$1 \x3d cljs.core.next(seq__47081);\nvar _fn \x3d first__47082;\nvar first__47082__$1 \x3d cljs.core.first(seq__47081__$1);\nvar seq__47081__$2 \x3d cljs.core.next(seq__47081__$1);\nvar name_QMARK_ \x3d first__47082__$1;\nvar body \x3d seq__47081__$2;\nvar fn_expr \x3d vec__47080;\nvar fn_expr_m \x3d cljs.core.meta(fn_expr);\nvar fn_extra_m \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22fn\x22,\x22sci.impl/fn\x22,1695180073).cljs$core$IFn$_invoke$arity$1(fn_expr_m);\nvar macro_QMARK_ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(fn_extra_m);\nvar defn_name \x3d new cljs.core.Keyword(null,\x22fn-name\x22,\x22fn-name\x22,-766594004).cljs$core$IFn$_invoke$arity$1(fn_extra_m);\nvar fn_expr_m__$1 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(fn_expr_m,new cljs.core.Keyword(\x22sci.impl\x22,\x22fn\x22,\x22sci.impl/fn\x22,1695180073));\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22fn-expr\x22,\x22fn-expr\x22,-933027985),fn_expr);\nvar fn_name \x3d (((name_QMARK_ instanceof cljs.core.Symbol))?name_QMARK_:null);\nvar body__$1 \x3d (cljs.core.truth_(fn_name)?body:cljs.core.cons(name_QMARK_,body));\nvar bodies \x3d ((cljs.core.seq_QMARK_(cljs.core.first(body__$1)))?body__$1:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [body__$1], null));\nvar fn_id \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar parents \x3d cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentVector.EMPTY)(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx__$1),fn_id);\nvar ctx__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$1,new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),parents);\nvar ctx__$3 \x3d (cljs.core.truth_(fn_name)?cljs.core.assoc_in(ctx__$2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),fn_name], null),fn_id):ctx__$2);\nvar fn_name__$1 \x3d (function (){var or__5025__auto__ \x3d defn_name;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn fn_name;\n}\n})();\nvar bindings \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx__$3);\nvar bound_idens \x3d cljs.core.set(cljs.core.vals(bindings));\nvar ctx__$4 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$3,new cljs.core.Keyword(null,\x22outer-idens\x22,\x22outer-idens\x22,1197381241),bound_idens);\nvar closure_bindings \x3d new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4);\nvar analyzed_bodies \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__47090,body__$2){\nvar map__47091 \x3d p__47090;\nvar map__47091__$1 \x3d cljs.core.__destructure_map(map__47091);\nvar acc \x3d map__47091__$1;\nvar max_fixed \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__47091__$1,new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124));\nvar min_varargs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__47091__$1,new cljs.core.Keyword(null,\x22min-varargs\x22,\x22min-varargs\x22,1999010596));\nvar orig_body \x3d body__$2;\nvar arglist \x3d cljs.core.first(body__$2);\nvar body__$3 \x3d sci.impl.analyzer.expand_fn_args_PLUS_body(ctx__$4,body__$2,macro_QMARK_,fn_name__$1,fn_id);\nvar var_arg_name \x3d new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887).cljs$core$IFn$_invoke$arity$1(body__$3);\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(body__$3);\nvar new_min_varargs \x3d (cljs.core.truth_(var_arg_name)?fixed_arity:null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d var_arg_name;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn min_varargs;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.analyzer.throw_error_with_location(\x22Can\x27t have more than 1 variadic overload\x22,fn_expr);\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(var_arg_name);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d min_varargs;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (fixed_arity \x3e min_varargs);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.analyzer.throw_error_with_location(\x22Can\x27t have fixed arity function with more params than variadic function\x22,fn_expr);\n} else {\n}\n\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(acc,new cljs.core.Keyword(null,\x22min-varargs\x22,\x22min-varargs\x22,1999010596),new_min_varargs,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),(function (){var x__5110__auto__ \x3d fixed_arity;\nvar y__5111__auto__ \x3d max_fixed;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})()], 0)),new cljs.core.Keyword(null,\x22bodies\x22,\x22bodies\x22,-1295887172),cljs.core.conj,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(body__$3,new cljs.core.Keyword(null,\x22orig\x22,\x22orig\x22,-1678309870),orig_body)),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.conj,arglist);\n}),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22bodies\x22,\x22bodies\x22,-1295887172),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22min-var-args\x22,\x22min-var-args\x22,-1883389660),null,new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),(-1)], null),bodies);\nvar cb_idens_by_arity \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(closure_bindings),parents);\nvar cb_idens \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.vals(cb_idens_by_arity)));\nvar self_ref_QMARK_ \x3d (cljs.core.truth_(fn_name__$1)?cljs.core.contains_QMARK_(cb_idens,fn_id):null);\nvar closed_over_idens \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(bound_idens,cljs.core.keys(cb_idens));\nvar iden__GT_invoke_idx \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(closure_bindings),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.pop(parents),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)));\nvar closed_over_iden__GT_binding_idx \x3d (cljs.core.truth_(iden__GT_invoke_idx)?cljs.core.zipmap(closed_over_idens,cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(iden__GT_invoke_idx,closed_over_idens)):null);\nvar closed_over_cnt \x3d cljs.core.count(closed_over_idens);\nvar iden__GT_enclosed_idx \x3d cljs.core.zipmap(closed_over_idens,cljs.core.range.cljs$core$IFn$_invoke$arity$1(closed_over_cnt));\nvar iden__GT_enclosed_idx__$1 \x3d (cljs.core.truth_(fn_name__$1)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(iden__GT_enclosed_idx,fn_id,closed_over_cnt):iden__GT_enclosed_idx);\nvar vec__47083 \x3d (((function (){var or__5025__auto__ \x3d self_ref_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.seq(closed_over_iden__GT_binding_idx);\n}\n})())?(function (){var enclosed_array_cnt \x3d (function (){var G__47100 \x3d closed_over_cnt;\nif(cljs.core.truth_(fn_name__$1)){\nreturn (G__47100 + (1));\n} else {\nreturn G__47100;\n}\n})();\nvar binding__GT_enclosed \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (iden){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(iden__GT_invoke_idx,iden);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar binding_idx \x3d temp__5804__auto__;\nvar enclosed_idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(iden__GT_enclosed_idx__$1,iden);\nvar G__47103 \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((2));\n(G__47103[(0)] \x3d binding_idx);\n\n(G__47103[(1)] \x3d enclosed_idx);\n\nreturn G__47103;\n} else {\nreturn null;\n}\n}),closed_over_idens));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (bindings__$1){\nvar a__5613__auto__ \x3d binding__GT_enclosed;\nvar l__5614__auto__ \x3d a__5613__auto__.length;\nvar idx \x3d (0);\nvar ret \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(enclosed_array_cnt);\nwhile(true){\nif((idx \x3c l__5614__auto__)){\nvar G__48628 \x3d (idx + (1));\nvar G__48629 \x3d (function (){var idxs \x3d (binding__GT_enclosed[idx]);\nvar binding_idx \x3d (idxs[(0)]);\nvar binding_val \x3d (bindings__$1[binding_idx]);\nvar enclosed_idx \x3d (idxs[(1)]);\n(ret[enclosed_idx] \x3d binding_val);\n\nreturn ret;\n})();\nidx \x3d G__48628;\nret \x3d G__48629;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}),enclosed_array_cnt], null);\n})():new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.constantly(null)], null));\nvar bindings_fn \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47083,(0),null);\nvar enclosed_array_cnt \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47083,(1),null);\nvar bodies__$1 \x3d new cljs.core.Keyword(null,\x22bodies\x22,\x22bodies\x22,-1295887172).cljs$core$IFn$_invoke$arity$1(analyzed_bodies);\nvar bodies__$2 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (body__$2){\nvar iden__GT_invocation_idx \x3d new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(body__$2);\nvar invocation_self_idx \x3d new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812).cljs$core$IFn$_invoke$arity$1(body__$2);\nvar enclosed__GT_invocation \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (iden){\nvar temp__5804__auto__ \x3d (iden__GT_invocation_idx.cljs$core$IFn$_invoke$arity$1 ? iden__GT_invocation_idx.cljs$core$IFn$_invoke$arity$1(iden) : iden__GT_invocation_idx.call(null,iden));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar invocation_idx \x3d temp__5804__auto__;\nvar G__47114 \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((2));\n(G__47114[(0)] \x3d (iden__GT_enclosed_idx__$1.cljs$core$IFn$_invoke$arity$1 ? iden__GT_enclosed_idx__$1.cljs$core$IFn$_invoke$arity$1(iden) : iden__GT_enclosed_idx__$1.call(null,iden)));\n\n(G__47114[(1)] \x3d invocation_idx);\n\nreturn G__47114;\n} else {\nreturn null;\n}\n}),closed_over_idens));\nvar invoc_size \x3d cljs.core.count(iden__GT_invocation_idx);\nvar copy_enclosed__GT_invocation \x3d (((enclosed__GT_invocation.length \x3e (0)))?(function (enclosed_array,invoc_array){\nvar a__5613__auto__ \x3d enclosed__GT_invocation;\nvar l__5614__auto__ \x3d a__5613__auto__.length;\nvar idx \x3d (0);\nvar ret \x3d invoc_array;\nwhile(true){\nif((idx \x3c l__5614__auto__)){\nvar G__48632 \x3d (idx + (1));\nvar G__48633 \x3d (function (){var idxs \x3d (enclosed__GT_invocation[idx]);\nvar enclosed_idx \x3d (idxs[(0)]);\nvar enclosed_val \x3d (enclosed_array[enclosed_idx]);\nvar invoc_idx \x3d (idxs[(1)]);\n(ret[invoc_idx] \x3d enclosed_val);\n\nreturn ret;\n})();\nidx \x3d G__48632;\nret \x3d G__48633;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}):null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(body__$2,new cljs.core.Keyword(null,\x22invoc-size\x22,\x22invoc-size\x22,2053298058),invoc_size,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22invocation-self-idx\x22,\x22invocation-self-idx\x22,-1258983407),invocation_self_idx,new cljs.core.Keyword(null,\x22copy-enclosed-\x3einvocation\x22,\x22copy-enclosed-\x3einvocation\x22,-1322388729),copy_enclosed__GT_invocation], 0));\n}),bodies__$1);\nvar fn_meta \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(fn_expr_m__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095)], 0));\nvar fn_meta__$1 \x3d ((cljs.core.seq(fn_meta))?(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$4,fn_meta) : sci.impl.analyzer.analyze.call(null,ctx__$4,fn_meta)):null);\nvar single_arity \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(bodies__$2)))?cljs.core.first(bodies__$2):null);\nvar nsm \x3d sci.impl.utils.current_ns_name();\nvar self_ref_in_enclosed_idx \x3d (function (){var G__47117 \x3d enclosed_array_cnt;\nif((G__47117 \x3d\x3d null)){\nreturn null;\n} else {\nreturn (G__47117 - (1));\n}\n})();\nvar ret_node \x3d (cljs.core.truth_(single_arity)?sci.impl.analyzer.single_arity_fn(bindings_fn,single_arity,fn_name__$1,self_ref_in_enclosed_idx,self_ref_QMARK_,nsm,fn_meta__$1,macro_QMARK_):(function (){var arities \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (arity_map,fn_body){\nvar f \x3d sci.impl.analyzer.multi_arity_fn_body(fn_body,fn_name__$1,nsm);\nvar var_arg_QMARK_ \x3d new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body);\nif(cljs.core.truth_(var_arg_QMARK_)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,new cljs.core.Keyword(null,\x22variadic\x22,\x22variadic\x22,882626057),f);\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,fixed_arity,f);\n}\n}),cljs.core.PersistentArrayMap.EMPTY,bodies__$2);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$5,bindings__$1){\nvar enclosed_array \x3d (bindings_fn.cljs$core$IFn$_invoke$arity$1 ? bindings_fn.cljs$core$IFn$_invoke$arity$1(bindings__$1) : bindings_fn.call(null,bindings__$1));\nvar f \x3d (function() { \nvar G__48636__delegate \x3d function (args){\nvar arg_count \x3d cljs.core.count(args);\nvar temp__5802__auto__ \x3d sci.impl.fns.lookup_by_arity(arities,arg_count);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f \x3d temp__5802__auto__;\nvar f__$1 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(enclosed_array) : f.call(null,enclosed_array));\nvar f__$2 \x3d sci.impl.types.eval(f__$1,ctx__$5,bindings__$1);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f__$2,args);\n} else {\nthrow (new Error((function (){var actual_count \x3d (cljs.core.truth_(macro_QMARK_)?(arg_count - (2)):arg_count);\nreturn [\x22Cannot call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_name__$1),\x22 with \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(actual_count),\x22 arguments\x22].join(\x27\x27);\n})()));\n}\n};\nvar G__48636 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__48638__i \x3d 0, G__48638__a \x3d new Array(arguments.length -  0);\nwhile (G__48638__i \x3c G__48638__a.length) {G__48638__a[G__48638__i] \x3d arguments[G__48638__i + 0]; ++G__48638__i;}\n  args \x3d new cljs.core.IndexedSeq(G__48638__a,0,null);\n} \nreturn G__48636__delegate.call(this,args);};\nG__48636.cljs$lang$maxFixedArity \x3d 0;\nG__48636.cljs$lang$applyTo \x3d (function (arglist__48639){\nvar args \x3d cljs.core.seq(arglist__48639);\nreturn G__48636__delegate(args);\n});\nG__48636.cljs$core$IFn$_invoke$arity$variadic \x3d G__48636__delegate;\nreturn G__48636;\n})()\n;\nvar f__$1 \x3d (((fn_meta__$1 \x3d\x3d null))?f:(function (){var fn_meta__$2 \x3d sci.impl.types.eval(fn_meta__$1,ctx__$5,bindings__$1);\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3(f,cljs.core.merge,fn_meta__$2);\n})());\nvar f__$2 \x3d (cljs.core.truth_(macro_QMARK_)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(f__$1,(function (p1__47077_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(p1__47077_SHARP_,new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),macro_QMARK_,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22sci.impl\x22,\x22inner-fn\x22,\x22sci.impl/inner-fn\x22,1663302998),f__$1], 0));\n})):f__$1);\nif(cljs.core.truth_(self_ref_QMARK_)){\n(enclosed_array[self_ref_in_enclosed_idx] \x3d f__$2);\n} else {\n}\n\nreturn f__$2;\n}),null);\n})());\nvar tag \x3d new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(fn_expr_m__$1);\nvar arglists \x3d (cljs.core.truth_(defn_name)?new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(analyzed_bodies):null);\nvar G__47124 \x3d ret_node;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d tag;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn arglists;\n}\n})())){\nreturn cljs.core.with_meta(G__47124,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),arglists,new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),tag], null));\n} else {\nreturn G__47124;\n}\n});\n/**\n * :syms \x3d closed over values\n */\nsci.impl.analyzer.update_parents \x3d (function sci$impl$analyzer$update_parents(ctx,closure_bindings,ob){\nvar parents \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx);\nvar new_cb \x3d cljs.core._vreset_BANG_(closure_bindings,(function (cb){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cb,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parents,new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)),(function (iden__GT_invoke_idx){\nif(cljs.core.contains_QMARK_(iden__GT_invoke_idx,ob)){\nreturn iden__GT_invoke_idx;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(iden__GT_invoke_idx,ob,cljs.core.count(iden__GT_invoke_idx));\n}\n}));\n})(cljs.core._deref(closure_bindings)));\nvar closure_idx \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new_cb,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(parents,new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ob], 0)));\nreturn closure_idx;\n});\nsci.impl.analyzer.analyze_let_STAR_ \x3d (function sci$impl$analyzer$analyze_let_STAR_(ctx,expr,destructured_let_bindings,exprs){\nif((cljs.core.count(destructured_let_bindings) \x3e (10))){\nvar G__47126 \x3d ctx;\nvar G__47127 \x3d expr;\nvar G__47128 \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2((10),destructured_let_bindings);\nvar G__47129 \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),cljs.core.vec(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((10),destructured_let_bindings)),exprs),cljs.core.meta(expr))], null);\nreturn (sci.impl.analyzer.analyze_let_STAR_.cljs$core$IFn$_invoke$arity$4 ? sci.impl.analyzer.analyze_let_STAR_.cljs$core$IFn$_invoke$arity$4(G__47126,G__47127,G__47128,G__47129) : sci.impl.analyzer.analyze_let_STAR_.call(null,G__47126,G__47127,G__47128,G__47129));\n} else {\nvar rt \x3d sci.impl.analyzer.recur_target(ctx);\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar stack \x3d sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(expr),true);\nvar vec__47131 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__47134,p__47135){\nvar vec__47136 \x3d p__47134;\nvar ctx__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47136,(0),null);\nvar let_nodes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47136,(1),null);\nvar idens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47136,(2),null);\nvar vec__47139 \x3d p__47135;\nvar binding_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47139,(0),null);\nvar binding_value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47139,(1),null);\nvar m \x3d cljs.core.meta(binding_value);\nvar t \x3d (cljs.core.truth_(m)?new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(m):null);\nvar binding_name__$1 \x3d (cljs.core.truth_(t)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(binding_name,cljs.core.assoc,new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),t):binding_name);\nvar v \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$2,binding_value) : sci.impl.analyzer.analyze.call(null,ctx__$2,binding_value));\nvar new_iden \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar cb \x3d new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$2);\nvar idx \x3d sci.impl.analyzer.update_parents(ctx__$2,cb,new_iden);\nvar iden__GT_invoke_idx \x3d new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(ctx__$2);\nvar iden__GT_invoke_idx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(iden__GT_invoke_idx,new_iden,idx);\nvar ctx__$3 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$2,new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),iden__GT_invoke_idx__$1);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.update.cljs$core$IFn$_invoke$arity$3(ctx__$3,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),(function (p1__47125_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__47125_SHARP_,binding_name__$1),binding_name__$1,new_iden);\n})),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(let_nodes,v),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(idens,new_iden)], null);\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [ctx__$1,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY], null),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),destructured_let_bindings));\nvar ctx__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47131,(0),null);\nvar let_nodes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47131,(1),null);\nvar idens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47131,(2),null);\nvar body \x3d sci.impl.analyzer.return_do(sci.impl.analyzer.with_recur_target(ctx__$2,rt),expr,exprs);\nvar iden__GT_invoke_idx \x3d new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(ctx__$2);\nvar idxs \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(iden__GT_invoke_idx,idens);\nvar G__47147 \x3d cljs.core.count(idxs);\nswitch (G__47147) {\ncase (0):\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (1):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (2):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(1));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nvar idx1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(1));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nvar val1 \x3d sci.impl.types.eval(node1,ctx__$3,bindings);\n(bindings[idx1] \x3d val1);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (3):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(2));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nvar idx1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(1));\nvar idx2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(2));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nvar val1 \x3d sci.impl.types.eval(node1,ctx__$3,bindings);\n(bindings[idx1] \x3d val1);\n\nvar val2 \x3d sci.impl.types.eval(node2,ctx__$3,bindings);\n(bindings[idx2] \x3d val2);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (4):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(2));\nvar node3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(3));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nvar idx1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(1));\nvar idx2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(2));\nvar idx3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(3));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nvar val1 \x3d sci.impl.types.eval(node1,ctx__$3,bindings);\n(bindings[idx1] \x3d val1);\n\nvar val2 \x3d sci.impl.types.eval(node2,ctx__$3,bindings);\n(bindings[idx2] \x3d val2);\n\nvar val3 \x3d sci.impl.types.eval(node3,ctx__$3,bindings);\n(bindings[idx3] \x3d val3);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (5):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(2));\nvar node3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(3));\nvar node4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(4));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nvar idx1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(1));\nvar idx2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(2));\nvar idx3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(3));\nvar idx4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(4));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nvar val1 \x3d sci.impl.types.eval(node1,ctx__$3,bindings);\n(bindings[idx1] \x3d val1);\n\nvar val2 \x3d sci.impl.types.eval(node2,ctx__$3,bindings);\n(bindings[idx2] \x3d val2);\n\nvar val3 \x3d sci.impl.types.eval(node3,ctx__$3,bindings);\n(bindings[idx3] \x3d val3);\n\nvar val4 \x3d sci.impl.types.eval(node4,ctx__$3,bindings);\n(bindings[idx4] \x3d val4);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__47147)].join(\x27\x27)));\n\n}\n}\n});\nsci.impl.analyzer.init_var_BANG_ \x3d (function sci$impl$analyzer$init_var_BANG_(ctx,name,expr){\nvar cnn_48649 \x3d sci.impl.utils.current_ns_name();\nvar env_48650 \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar the_current_ns_48651 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(env_48650),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn_48649], null),cljs.core.PersistentArrayMap.EMPTY);\nvar refers_48652 \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns_48651);\nvar the_current_ns_48653__$1 \x3d (function (){var temp__5802__auto__ \x3d (function (){var and__5023__auto__ \x3d refers_48652;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn refers_48652.get(name);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar x \x3d temp__5802__auto__;\nreturn sci.impl.analyzer.throw_error_with_location([cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22 already refers to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 in namespace \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnn_48649)].join(\x27\x27),expr);\n} else {\nvar temp__5802__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(the_current_ns_48651,name);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar the_var \x3d temp__5802__auto____$1;\nvar cur_file \x3d cljs.core.deref(sci.impl.utils.current_file);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cur_file,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(the_var)))){\n} else {\ncljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(the_var,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cur_file], 0));\n}\n\nreturn the_current_ns_48651;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns_48651,name,(function (){var G__47156 \x3d (new sci.lang.Var(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnn_48649),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], null),false,false,null));\nG__47156.sci$impl$vars$IVar$unbind$arity$1(null);\n\nreturn G__47156;\n})());\n}\n}\n})();\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env_48650,(function (env__$1){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5(env__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cljs.core.assoc,cnn_48649,the_current_ns_48653__$1);\n}));\n\nreturn null;\n});\nsci.impl.analyzer.analyze_def \x3d (function sci$impl$analyzer$analyze_def(ctx,expr){\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar vec__47161 \x3d expr;\nvar _def \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47161,(0),null);\nvar var_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47161,(1),null);\nvar _QMARK_docstring \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47161,(2),null);\nvar _QMARK_init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47161,(3),null);\nvar curr_ns \x3d cljs.core.deref(sci.impl.utils.current_ns);\nvar simple_QMARK_ \x3d cljs.core.simple_symbol_QMARK_(var_name);\nif(((simple_QMARK_) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace(var_name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(curr_ns)))))){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Var name should be simple symbol.\x22,expr);\n}\n\nvar var_name__$1 \x3d ((simple_QMARK_)?var_name:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(var_name)));\nsci.impl.analyzer.init_var_BANG_(ctx__$1,var_name__$1,expr);\n\nvar arg_count \x3d cljs.core.count(expr);\nvar docstring \x3d ((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((4),arg_count)) \x26\x26 (typeof _QMARK_docstring \x3d\x3d\x3d \x27string\x27)))?_QMARK_docstring:null);\nvar expected_arg_count \x3d (cljs.core.truth_(docstring)?(4):(3));\nif((arg_count \x3c\x3d expected_arg_count)){\n} else {\nthrow (new Error(\x22Too many arguments to def\x22));\n}\n\nvar init \x3d (cljs.core.truth_(docstring)?_QMARK_init:_QMARK_docstring);\nvar init__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),arg_count))?sci.impl.utils.var_unbound:(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,init) : sci.impl.analyzer.analyze.call(null,ctx__$1,init)));\nvar expr_loc \x3d cljs.core.meta(expr);\nvar expr_loc_QMARK_ \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(expr_loc);\nvar var_meta \x3d cljs.core.meta(var_name__$1);\nvar m \x3d (cljs.core.truth_(expr_loc_QMARK_)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(var_meta,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(expr_loc)),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(expr_loc)):(function (){var top_level_loc \x3d sci.impl.utils._STAR_top_level_location_STAR_;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(var_meta,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(top_level_loc)),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(top_level_loc));\n})());\nvar m_needs_eval_QMARK_ \x3d var_meta;\nvar m__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),curr_ns);\nvar m__$2 \x3d (cljs.core.truth_(docstring)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):m__$1);\nvar m__$3 \x3d (cljs.core.truth_(m_needs_eval_QMARK_)?(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,m__$2) : sci.impl.analyzer.analyze.call(null,ctx__$1,m__$2)):sci.impl.types.__GT_constant(m__$2));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.eval_def(ctx__$2,bindings,var_name__$1,init__$1,m__$3);\n}),null);\n});\nsci.impl.analyzer.analyze_loop_STAR_ \x3d (function sci$impl$analyzer$analyze_loop_STAR_(ctx,expr){\nvar bv \x3d cljs.core.second(expr);\nvar syms \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),bv);\nvar body \x3d cljs.core.nnext(expr);\nvar expansion \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),null,(1),null)),(new cljs.core.List(null,bv,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(syms),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),syms),null,(1),null))], 0))));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,expansion) : sci.impl.analyzer.analyze.call(null,ctx,expansion));\n});\nsci.impl.analyzer.analyze_lazy_seq \x3d (function sci$impl$analyzer$analyze_lazy_seq(ctx,expr){\nvar body \x3d cljs.core.rest(expr);\nvar ctx__$1 \x3d sci.impl.analyzer.with_recur_target(ctx,true);\nvar ana \x3d sci.impl.analyzer.return_do(ctx__$1,expr,body);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn sci.impl.types.eval(ana,ctx__$2,bindings);\n}),null,null));\n}),null);\n});\nsci.impl.analyzer.return_if \x3d (function sci$impl$analyzer$return_if(ctx,expr){\nvar exprs \x3d cljs.core.rest(expr);\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,exprs);\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(null,\x22special\x22,\x22special\x22,-1125941630),true], 0));\nvar G__47194 \x3d cljs.core.count(children);\nswitch (G__47194) {\ncase (0):\ncase (1):\nreturn sci.impl.analyzer.throw_error_with_location(\x22Too few arguments to if\x22,expr);\n\nbreak;\ncase (2):\nvar condition \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(0));\nvar then \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(1));\nif(cljs.core.not(condition)){\nreturn null;\n} else {\nif(sci.impl.utils.constant_QMARK_(condition)){\nreturn then;\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nif(cljs.core.truth_(sci.impl.types.eval(condition,ctx__$1,bindings))){\nreturn sci.impl.types.eval(then,ctx__$1,bindings);\n} else {\nreturn null;\n}\n}),stack);\n\n}\n}\n\nbreak;\ncase (3):\nvar condition \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(0));\nvar then \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(1));\nvar else$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(2));\nif(cljs.core.not(condition)){\nreturn else$;\n} else {\nif(sci.impl.utils.constant_QMARK_(condition)){\nreturn then;\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nif(cljs.core.truth_(sci.impl.types.eval(condition,ctx__$1,bindings))){\nreturn sci.impl.types.eval(then,ctx__$1,bindings);\n} else {\nreturn sci.impl.types.eval(else$,ctx__$1,bindings);\n}\n}),stack);\n\n}\n}\n\nbreak;\ndefault:\nreturn sci.impl.analyzer.throw_error_with_location(\x22Too many arguments to if\x22,expr);\n\n}\n});\nsci.impl.analyzer.analyze_case_STAR_ \x3d (function sci$impl$analyzer$analyze_case_STAR_(ctx,expr){\nvar ctx_wo_rt \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar case_val \x3d (function (){var G__47199 \x3d ctx_wo_rt;\nvar G__47200 \x3d cljs.core.second(expr);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47199,G__47200) : sci.impl.analyzer.analyze.call(null,G__47199,G__47200));\n})();\nvar clauses \x3d cljs.core.nnext(expr);\nvar match_clauses \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),clauses);\nvar result_clauses \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(clauses)));\nvar vec__47196 \x3d ((cljs.core.odd_QMARK_(cljs.core.count(clauses)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,(function (){var G__47203 \x3d ctx;\nvar G__47204 \x3d cljs.core.last(clauses);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47203,G__47204) : sci.impl.analyzer.analyze.call(null,G__47203,G__47204));\n})()], null):null);\nvar default_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47196,(0),null);\nvar case_default \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47196,(1),null);\nvar cases \x3d cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(match_clauses,result_clauses);\nvar assoc_new \x3d (function (m,k,v){\nif((!(cljs.core.contains_QMARK_(m,k)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n} else {\nreturn sci.impl.analyzer.throw_error_with_location([\x22Duplicate case test constant \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(\x27\x27),expr);\n}\n});\nvar case_map \x3d (function (){var cases__$1 \x3d cljs.core.seq(cases);\nvar ret_map \x3d cljs.core.PersistentArrayMap.EMPTY;\nwhile(true){\nif(cases__$1){\nvar vec__47237 \x3d cases__$1;\nvar seq__47238 \x3d cljs.core.seq(vec__47237);\nvar first__47239 \x3d cljs.core.first(seq__47238);\nvar seq__47238__$1 \x3d cljs.core.next(seq__47238);\nvar k \x3d first__47239;\nvar first__47239__$1 \x3d cljs.core.first(seq__47238__$1);\nvar seq__47238__$2 \x3d cljs.core.next(seq__47238__$1);\nvar v \x3d first__47239__$1;\nvar cases__$2 \x3d seq__47238__$2;\nif(cljs.core.seq_QMARK_(k)){\nvar G__48668 \x3d cases__$2;\nvar G__48669 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (cases__$1,ret_map,vec__47237,seq__47238,first__47239,seq__47238__$1,k,first__47239__$1,seq__47238__$2,v,cases__$2,ctx_wo_rt,case_val,clauses,match_clauses,result_clauses,vec__47196,default_QMARK_,case_default,cases,assoc_new){\nreturn (function (acc,k__$1){\nreturn assoc_new(acc,k__$1,v);\n});})(cases__$1,ret_map,vec__47237,seq__47238,first__47239,seq__47238__$1,k,first__47239__$1,seq__47238__$2,v,cases__$2,ctx_wo_rt,case_val,clauses,match_clauses,result_clauses,vec__47196,default_QMARK_,case_default,cases,assoc_new))\n,ret_map,k);\ncases__$1 \x3d G__48668;\nret_map \x3d G__48669;\ncontinue;\n} else {\nvar G__48670 \x3d cases__$2;\nvar G__48671 \x3d assoc_new(ret_map,k,v);\ncases__$1 \x3d G__48670;\nret_map \x3d G__48671;\ncontinue;\n}\n} else {\nreturn ret_map;\n}\nbreak;\n}\n})();\nvar f \x3d (cljs.core.truth_(default_QMARK_)?sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$5(ctx__$1,bindings,case_map,case_val,case_default);\n}),null):sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$4(ctx__$1,bindings,case_map,case_val);\n}),null));\nreturn f;\n});\nsci.impl.analyzer.analyze_try \x3d (function sci$impl$analyzer$analyze_try(ctx,expr){\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$2(ctx,new cljs.core.Keyword(null,\x22try\x22,\x22try\x22,1380742522));\nvar body \x3d cljs.core.next(expr);\nvar stack \x3d sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(expr),true);\nvar vec__47241 \x3d (function (){var exprs \x3d body;\nvar body_exprs \x3d cljs.core.PersistentVector.EMPTY;\nvar catch_exprs \x3d cljs.core.PersistentVector.EMPTY;\nvar finally_expr \x3d null;\nwhile(true){\nif(exprs){\nvar expr__$1 \x3d cljs.core.first(exprs);\nvar exprs__$1 \x3d cljs.core.next(exprs);\nif(((cljs.core.seq_QMARK_(expr__$1)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22catch\x22,\x22catch\x22,-1616370245,null),cljs.core.first(expr__$1))))){\nvar G__48677 \x3d exprs__$1;\nvar G__48678 \x3d body_exprs;\nvar G__48679 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(catch_exprs,expr__$1);\nvar G__48680 \x3d finally_expr;\nexprs \x3d G__48677;\nbody_exprs \x3d G__48678;\ncatch_exprs \x3d G__48679;\nfinally_expr \x3d G__48680;\ncontinue;\n} else {\nif(((cljs.core.not(exprs__$1)) \x26\x26 (((cljs.core.seq_QMARK_(expr__$1)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),cljs.core.first(expr__$1))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [body_exprs,catch_exprs,expr__$1], null);\n} else {\nvar G__48682 \x3d exprs__$1;\nvar G__48683 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(body_exprs,expr__$1);\nvar G__48684 \x3d catch_exprs;\nvar G__48685 \x3d finally_expr;\nexprs \x3d G__48682;\nbody_exprs \x3d G__48683;\ncatch_exprs \x3d G__48684;\nfinally_expr \x3d G__48685;\ncontinue;\n\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [body_exprs,catch_exprs,finally_expr], null);\n}\nbreak;\n}\n})();\nvar body_exprs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47241,(0),null);\nvar catches \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47241,(1),null);\nvar finally$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47241,(2),null);\nvar body__$1 \x3d (function (){var G__47252 \x3d ctx__$1;\nvar G__47253 \x3d cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),body_exprs);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47252,G__47253) : sci.impl.analyzer.analyze.call(null,G__47252,G__47253));\n})();\nvar catches__$1 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (c){\nvar vec__47254 \x3d c;\nvar seq__47255 \x3d cljs.core.seq(vec__47254);\nvar first__47256 \x3d cljs.core.first(seq__47255);\nvar seq__47255__$1 \x3d cljs.core.next(seq__47255);\nvar _ \x3d first__47256;\nvar first__47256__$1 \x3d cljs.core.first(seq__47255__$1);\nvar seq__47255__$2 \x3d cljs.core.next(seq__47255__$1);\nvar ex \x3d first__47256__$1;\nvar first__47256__$2 \x3d cljs.core.first(seq__47255__$2);\nvar seq__47255__$3 \x3d cljs.core.next(seq__47255__$2);\nvar binding \x3d first__47256__$2;\nvar body__$2 \x3d seq__47255__$3;\nvar temp__5802__auto__ \x3d (function (){var G__47257 \x3d ex;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),G__47257)){\nreturn Error;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22js\x22,\x22Object\x22,\x22js/Object\x22,61215323,null),G__47257)){\nreturn Object;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),G__47257)){\nreturn new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328);\n} else {\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,ex) : sci.impl.analyzer.analyze.call(null,ctx__$1,ex));\n\n}\n}\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar clazz \x3d temp__5802__auto__;\nvar ex_iden \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar closure_bindings \x3d new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$1);\nvar ex_idx \x3d sci.impl.analyzer.update_parents(ctx__$1,closure_bindings,ex_iden);\nvar ctx__$2 \x3d cljs.core.assoc_in(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(ctx__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192)], null),(function (bindings){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(bindings,binding),binding,ex_iden);\n})),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),ex_iden], null),ex_idx);\nvar analyzed_body \x3d (function (){var G__47258 \x3d ctx__$2;\nvar G__47259 \x3d cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),body__$2);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47258,G__47259) : sci.impl.analyzer.analyze.call(null,G__47258,G__47259));\n})();\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),clazz,new cljs.core.Keyword(null,\x22ex-idx\x22,\x22ex-idx\x22,795118805),ex_idx,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),analyzed_body,new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341),ex], null);\n} else {\nreturn sci.impl.analyzer.throw_error_with_location([\x22Unable to resolve classname: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ex)].join(\x27\x27),ex);\n}\n}),catches);\nvar sci_error \x3d (function (){var fst \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(catches__$1)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(catches__$1,(0)):null);\nvar ex \x3d new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341).cljs$core$IFn$_invoke$arity$1(fst);\nvar and__5023__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),ex);\nif(and__5023__auto__){\nvar G__47261 \x3d ex;\nvar G__47261__$1 \x3d (((G__47261 \x3d\x3d null))?null:cljs.core.meta(G__47261));\nif((G__47261__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803).cljs$core$IFn$_invoke$arity$1(G__47261__$1);\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar finally$__$1 \x3d (cljs.core.truth_(finally$)?(function (){var G__47262 \x3d ctx__$1;\nvar G__47263 \x3d cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),cljs.core.rest(finally$));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47262,G__47263) : sci.impl.analyzer.analyze.call(null,G__47262,G__47263));\n})():null);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.eval_try(ctx__$2,bindings,body__$1,catches__$1,finally$__$1,sci_error);\n}),stack);\n});\nsci.impl.analyzer.analyze_throw \x3d (function sci$impl$analyzer$analyze_throw(ctx,p__47264){\nvar vec__47265 \x3d p__47264;\nvar _throw \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47265,(0),null);\nvar ex \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47265,(1),null);\nvar expr \x3d vec__47265;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(expr))){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Too many arguments to throw\x22,expr);\n}\n\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar ana \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,ex) : sci.impl.analyzer.analyze.call(null,ctx__$1,ex));\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(null,\x22special\x22,\x22special\x22,-1125941630),true], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx__$2,bindings,sci.impl.types.eval(ana,ctx__$2,bindings),this$);\n}),stack);\n});\nsci.impl.analyzer.analyze_dot \x3d (function sci$impl$analyzer$analyze_dot(ctx,p__47268){\nvar vec__47269 \x3d p__47268;\nvar seq__47270 \x3d cljs.core.seq(vec__47269);\nvar first__47271 \x3d cljs.core.first(seq__47270);\nvar seq__47270__$1 \x3d cljs.core.next(seq__47270);\nvar _dot \x3d first__47271;\nvar first__47271__$1 \x3d cljs.core.first(seq__47270__$1);\nvar seq__47270__$2 \x3d cljs.core.next(seq__47270__$1);\nvar instance_expr \x3d first__47271__$1;\nvar first__47271__$2 \x3d cljs.core.first(seq__47270__$2);\nvar seq__47270__$3 \x3d cljs.core.next(seq__47270__$2);\nvar method_expr \x3d first__47271__$2;\nvar args \x3d seq__47270__$3;\nvar expr \x3d vec__47269;\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar vec__47272 \x3d ((cljs.core.seq_QMARK_(method_expr))?method_expr:cljs.core.cons(method_expr,args));\nvar seq__47273 \x3d cljs.core.seq(vec__47272);\nvar first__47274 \x3d cljs.core.first(seq__47273);\nvar seq__47273__$1 \x3d cljs.core.next(seq__47273);\nvar method_expr__$1 \x3d first__47274;\nvar args__$1 \x3d seq__47273__$1;\nvar instance_expr__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,instance_expr) : sci.impl.analyzer.analyze.call(null,ctx__$1,instance_expr));\nvar method_name \x3d cljs.core.name(method_expr__$1);\nvar args__$2 \x3d ((args__$1)?sci.impl.analyzer.analyze_children(ctx__$1,args__$1):null);\nvar res \x3d (function (){var field_access \x3d clojure.string.starts_with_QMARK_(method_name,\x22-\x22);\nvar meth_name \x3d ((field_access)?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(method_name,(1)):method_name);\nvar meth_name_STAR_ \x3d meth_name;\nvar meth_name__$1 \x3d cljs.core.munge(meth_name);\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nvar allowed_QMARK_ \x3d (function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (method_expr__$1 \x3d\x3d\x3d sci.impl.utils.allowed_append);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx__$1))));\n}\n}\n})();\nvar args__$3 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$2);\nreturn cljs.core.with_meta((function (){var G__47277 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.boolean$(allowed_QMARK_),cljs.core.boolean$(field_access)], null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,true], null),G__47277)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.allowed_instance_field_invocation(ctx__$2,bindings,instance_expr__$1,meth_name__$1);\n}),stack);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,false], null),G__47277)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.allowed_instance_method_invocation(ctx__$2,bindings,instance_expr__$1,meth_name__$1,args__$3,null);\n}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.eval_instance_method_invocation(ctx__$2,bindings,instance_expr__$1,meth_name__$1,meth_name_STAR_,field_access,args__$3,allowed_QMARK_,null,null);\n}),stack);\n\n}\n}\n})(),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22instance-expr\x22,\x22sci.impl.analyzer/instance-expr\x22,629338719),instance_expr__$1,new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22method-name\x22,\x22sci.impl.analyzer/method-name\x22,-842600667),method_name], null));\n})();\nreturn res;\n});\n/**\n * Expands (. x method)\n */\nsci.impl.analyzer.expand_dot_STAR__STAR_ \x3d (function sci$impl$analyzer$expand_dot_STAR__STAR_(ctx,expr){\nif((cljs.core.count(expr) \x3c (3))){\nthrow (new Error(\x22Malformed member expression, expecting (.member target ...)\x22));\n} else {\n}\n\nreturn sci.impl.analyzer.analyze_dot(ctx,expr);\n});\n/**\n * Expands (.foo x)\n */\nsci.impl.analyzer.expand_dot_STAR_ \x3d (function sci$impl$analyzer$expand_dot_STAR_(ctx,p__47279){\nvar vec__47280 \x3d p__47279;\nvar seq__47281 \x3d cljs.core.seq(vec__47280);\nvar first__47282 \x3d cljs.core.first(seq__47281);\nvar seq__47281__$1 \x3d cljs.core.next(seq__47281);\nvar method_name \x3d first__47282;\nvar first__47282__$1 \x3d cljs.core.first(seq__47281__$1);\nvar seq__47281__$2 \x3d cljs.core.next(seq__47281__$1);\nvar obj \x3d first__47282__$1;\nvar args \x3d seq__47281__$2;\nvar expr \x3d vec__47280;\nif((cljs.core.count(expr) \x3c (2))){\nthrow (new Error(\x22Malformed member expression, expecting (.member target ...)\x22));\n} else {\n}\n\nreturn sci.impl.analyzer.analyze_dot(ctx,cljs.core.with_meta((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),(new cljs.core.List(null,obj,(new cljs.core.List(null,cljs.core.cons(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.name(method_name),(1))),args),null,(1),null)),(2),null)),(3),null)),cljs.core.meta(expr)));\n});\nsci.impl.analyzer.analyze_new \x3d (function sci$impl$analyzer$analyze_new(ctx,p__47284){\nvar vec__47285 \x3d p__47284;\nvar seq__47286 \x3d cljs.core.seq(vec__47285);\nvar first__47287 \x3d cljs.core.first(seq__47286);\nvar seq__47286__$1 \x3d cljs.core.next(seq__47286);\nvar _new \x3d first__47287;\nvar first__47287__$1 \x3d cljs.core.first(seq__47286__$1);\nvar seq__47286__$2 \x3d cljs.core.next(seq__47286__$1);\nvar class_sym \x3d first__47287__$1;\nvar args \x3d seq__47286__$2;\nvar expr \x3d vec__47285;\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nif((class_sym instanceof cljs.core.Symbol)){\nvar temp__5802__auto__ \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d (function (){var temp__5804__auto__ \x3d sci.impl.interop.resolve_class_opts(ctx__$1,class_sym);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar opts \x3d temp__5804__auto__;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22constructor\x22,\x22constructor\x22,-1953928811).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(opts);\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar clazz \x3d temp__5804__auto__;\nreturn clazz;\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3(ctx__$1,class_sym,false);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar class$ \x3d temp__5802__auto__;\nvar args__$1 \x3d sci.impl.analyzer.analyze_children(ctx__$1,args);\nvar var_QMARK_ \x3d sci.impl.utils.var_QMARK_(class$);\nvar maybe_var \x3d ((var_QMARK_)?class$:null);\nvar maybe_record \x3d ((var_QMARK_)?cljs.core.deref(maybe_var):(((class$ instanceof cljs.core.Symbol))?class$:null));\nvar maybe_record_constructor \x3d (cljs.core.truth_(maybe_record)?new cljs.core.Keyword(\x22sci.impl\x22,\x22constructor\x22,\x22sci.impl/constructor\x22,1320345666).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(maybe_record)):null);\nif(cljs.core.truth_(maybe_record_constructor)){\nvar G__47288 \x3d ctx__$1;\nvar G__47289 \x3d expr;\nvar G__47290 \x3d maybe_record_constructor;\nvar G__47291 \x3d args__$1;\nvar G__47292 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nvar G__47293 \x3d null;\nreturn (sci.impl.analyzer.return_call.cljs$core$IFn$_invoke$arity$6 ? sci.impl.analyzer.return_call.cljs$core$IFn$_invoke$arity$6(G__47288,G__47289,G__47290,G__47291,G__47292,G__47293) : sci.impl.analyzer.return_call.call(null,G__47288,G__47289,G__47290,G__47291,G__47292,G__47293));\n} else {\nif(var_QMARK_){\nvar args__$2 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$1);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$2,bindings,cljs.core.deref(maybe_var),args__$2);\n}),null);\n} else {\nif((class$ instanceof sci.impl.types.NodeR)){\nvar args__$2 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$1);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$2,bindings,sci.impl.types.eval(class$,ctx__$2,bindings),args__$2);\n}),null);\n} else {\nvar args__$2 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$1);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$2,bindings,class$,args__$2);\n}),null);\n\n}\n}\n}\n} else {\nvar temp__5802__auto____$1 \x3d sci.impl.records.resolve_record_class(ctx__$1,class_sym);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar record \x3d temp__5802__auto____$1;\nvar args__$1 \x3d sci.impl.analyzer.analyze_children(ctx__$1,args);\nvar G__47296 \x3d ctx__$1;\nvar G__47297 \x3d expr;\nvar G__47298 \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22constructor\x22,\x22sci.impl/constructor\x22,1320345666).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(record));\nvar G__47299 \x3d args__$1;\nvar G__47300 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nvar G__47301 \x3d null;\nreturn (sci.impl.analyzer.return_call.cljs$core$IFn$_invoke$arity$6 ? sci.impl.analyzer.return_call.cljs$core$IFn$_invoke$arity$6(G__47296,G__47297,G__47298,G__47299,G__47300,G__47301) : sci.impl.analyzer.return_call.call(null,G__47296,G__47297,G__47298,G__47299,G__47300,G__47301));\n} else {\nreturn sci.impl.analyzer.throw_error_with_location([\x22Unable to resolve classname: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(class_sym)].join(\x27\x27),class_sym);\n}\n}\n} else {\nvar class$ \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,class_sym) : sci.impl.analyzer.analyze.call(null,ctx__$1,class_sym));\nvar args__$1 \x3d sci.impl.analyzer.analyze_children(ctx__$1,args);\nvar args__$2 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$1);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$2,bindings,sci.impl.types.eval(class$,ctx__$2,bindings),args__$2);\n}),null);\n}\n});\nsci.impl.analyzer.expand_constructor \x3d (function sci$impl$analyzer$expand_constructor(ctx,p__47302){\nvar vec__47303 \x3d p__47302;\nvar seq__47304 \x3d cljs.core.seq(vec__47303);\nvar first__47305 \x3d cljs.core.first(seq__47304);\nvar seq__47304__$1 \x3d cljs.core.next(seq__47304);\nvar constructor_sym \x3d first__47305;\nvar args \x3d seq__47304__$1;\nvar constructor_name \x3d cljs.core.name(constructor_sym);\nvar class_sym \x3d cljs.core.with_meta(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace(constructor_sym),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(constructor_name,(0),(((constructor_name).length) - (1)))),cljs.core.meta(constructor_sym));\nreturn sci.impl.analyzer.analyze_new(ctx,cljs.core.with_meta(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),class_sym,args),cljs.core.meta(constructor_sym)));\n});\nsci.impl.analyzer.return_ns_op \x3d (function sci$impl$analyzer$return_ns_op(_ctx,f,expr,analyzed_args){\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns)], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,ctx,analyzed_args);\n}catch (e47308){if((e47308 instanceof Error)){\nvar e \x3d e47308;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e,this$);\n} else {\nthrow e47308;\n\n}\n}}),stack);\n});\nsci.impl.analyzer.analyze_ns_form \x3d (function sci$impl$analyzer$analyze_ns_form(ctx,p__47309){\nvar vec__47311 \x3d p__47309;\nvar seq__47312 \x3d cljs.core.seq(vec__47311);\nvar first__47313 \x3d cljs.core.first(seq__47312);\nvar seq__47312__$1 \x3d cljs.core.next(seq__47312);\nvar _ns \x3d first__47313;\nvar first__47313__$1 \x3d cljs.core.first(seq__47312__$1);\nvar seq__47312__$2 \x3d cljs.core.next(seq__47312__$1);\nvar ns_name \x3d first__47313__$1;\nvar exprs \x3d seq__47312__$2;\nvar expr \x3d vec__47311;\nif((ns_name instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error([\x22Namespace name must be symbol, got: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ns_name], 0))].join(\x27\x27)));\n}\n\nvar vec__47314 \x3d (function (){var fexpr \x3d cljs.core.first(exprs);\nif(typeof fexpr \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [fexpr,cljs.core.next(exprs)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,exprs], null);\n}\n})();\nvar docstring \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47314,(0),null);\nvar exprs__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47314,(1),null);\nvar vec__47317 \x3d (function (){var m \x3d cljs.core.first(exprs__$1);\nif(cljs.core.map_QMARK_(m)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,cljs.core.next(exprs__$1)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,exprs__$1], null);\n}\n})();\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47317,(0),null);\nvar exprs__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47317,(1),null);\nvar attr_map__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(attr_map,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):attr_map);\nsci.impl.utils.set_namespace_BANG_(ctx,ns_name,attr_map__$1);\n\nvar exprs__$3 \x3d exprs__$2;\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.truth_(exprs__$3)){\nvar vec__47329 \x3d cljs.core.first(exprs__$3);\nvar seq__47330 \x3d cljs.core.seq(vec__47329);\nvar first__47331 \x3d cljs.core.first(seq__47330);\nvar seq__47330__$1 \x3d cljs.core.next(seq__47330);\nvar k \x3d first__47331;\nvar args \x3d seq__47330__$1;\nvar expr__$1 \x3d vec__47329;\nvar G__47332 \x3d k;\nvar G__47332__$1 \x3d (((G__47332 instanceof cljs.core.Keyword))?G__47332.fqn:null);\nswitch (G__47332__$1) {\ncase \x22require\x22:\ncase \x22require-macros\x22:\ncase \x22use\x22:\ncase \x22import\x22:\ncase \x22refer-clojure\x22:\nvar G__48731 \x3d cljs.core.next(exprs__$3);\nvar G__48732 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,sci.impl.analyzer.return_ns_op(ctx,(function (){var G__47333 \x3d k;\nvar G__47333__$1 \x3d (((G__47333 instanceof cljs.core.Keyword))?G__47333.fqn:null);\nswitch (G__47333__$1) {\ncase \x22require\x22:\nreturn sci.impl.load.eval_require;\n\nbreak;\ncase \x22require-macros\x22:\nreturn sci.impl.load.eval_require_macros;\n\nbreak;\ncase \x22use\x22:\nreturn sci.impl.load.eval_use;\n\nbreak;\ncase \x22import\x22:\nreturn sci.impl.evaluator.eval_import;\n\nbreak;\ncase \x22refer-clojure\x22:\nreturn ((function (exprs__$3,ret,G__47333,G__47333__$1,G__47332,G__47332__$1,vec__47329,seq__47330,first__47331,seq__47330__$1,k,args,expr__$1,vec__47314,docstring,exprs__$1,vec__47317,attr_map,exprs__$2,attr_map__$1,vec__47311,seq__47312,first__47313,seq__47312__$1,_ns,first__47313__$1,seq__47312__$2,ns_name,exprs,expr){\nreturn (function() { \nvar G__48734__delegate \x3d function (ctx__$1,args__$1){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.eval_refer,ctx__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),args__$1);\n};\nvar G__48734 \x3d function (ctx__$1,var_args){\nvar args__$1 \x3d null;\nif (arguments.length \x3e 1) {\nvar G__48735__i \x3d 0, G__48735__a \x3d new Array(arguments.length -  1);\nwhile (G__48735__i \x3c G__48735__a.length) {G__48735__a[G__48735__i] \x3d arguments[G__48735__i + 1]; ++G__48735__i;}\n  args__$1 \x3d new cljs.core.IndexedSeq(G__48735__a,0,null);\n} \nreturn G__48734__delegate.call(this,ctx__$1,args__$1);};\nG__48734.cljs$lang$maxFixedArity \x3d 1;\nG__48734.cljs$lang$applyTo \x3d (function (arglist__48736){\nvar ctx__$1 \x3d cljs.core.first(arglist__48736);\nvar args__$1 \x3d cljs.core.rest(arglist__48736);\nreturn G__48734__delegate(ctx__$1,args__$1);\n});\nG__48734.cljs$core$IFn$_invoke$arity$variadic \x3d G__48734__delegate;\nreturn G__48734;\n})()\n;\n;})(exprs__$3,ret,G__47333,G__47333__$1,G__47332,G__47332__$1,vec__47329,seq__47330,first__47331,seq__47330__$1,k,args,expr__$1,vec__47314,docstring,exprs__$1,vec__47317,attr_map,exprs__$2,attr_map__$1,vec__47311,seq__47312,first__47313,seq__47312__$1,_ns,first__47313__$1,seq__47312__$2,ns_name,exprs,expr))\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__47333__$1)].join(\x27\x27)));\n\n}\n})(),expr__$1,args));\nexprs__$3 \x3d G__48731;\nret \x3d G__48732;\ncontinue;\n\nbreak;\ncase \x22gen-class\x22:\nvar G__48739 \x3d cljs.core.next(exprs__$3);\nvar G__48740 \x3d ret;\nexprs__$3 \x3d G__48739;\nret \x3d G__48740;\ncontinue;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__47332__$1)].join(\x27\x27)));\n\n}\n} else {\nreturn sci.impl.analyzer.return_do(ctx,expr,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,sci.impl.types.__GT_NodeR(((function (exprs__$3,ret,vec__47314,docstring,exprs__$1,vec__47317,attr_map,exprs__$2,attr_map__$1,vec__47311,seq__47312,first__47313,seq__47312__$1,_ns,first__47313__$1,seq__47312__$2,ns_name,exprs,expr){\nreturn (function (this$,ctx__$1,bindings){\nsci.impl.load.add_loaded_lib(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx__$1)),ns_name);\n\nreturn null;\n});})(exprs__$3,ret,vec__47314,docstring,exprs__$1,vec__47317,attr_map,exprs__$2,attr_map__$1,vec__47311,seq__47312,first__47313,seq__47312__$1,_ns,first__47313__$1,seq__47312__$2,ns_name,exprs,expr))\n,null)));\n}\nbreak;\n}\n});\nsci.impl.analyzer.analyze_var \x3d (function sci$impl$analyzer$analyze_var(ctx,p__47337){\nvar vec__47338 \x3d p__47337;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47338,(0),null);\nvar var_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47338,(1),null);\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2(ctx,var_name);\n});\nsci.impl.analyzer.analyze_set_BANG_ \x3d (function sci$impl$analyzer$analyze_set_BANG_(ctx,p__47341){\nvar vec__47342 \x3d p__47341;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47342,(0),null);\nvar obj \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47342,(1),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47342,(2),null);\nvar expr \x3d vec__47342;\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((4),cljs.core.count(expr))) \x26\x26 (clojure.string.starts_with_QMARK_(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),\x22-\x22)))){\nvar obj__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,obj) : sci.impl.analyzer.analyze.call(null,ctx,obj));\nvar prop \x3d cljs.core.munge(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),(1)));\nvar v__$1 \x3d (function (){var G__47347 \x3d ctx;\nvar G__47348 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(expr,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47347,G__47348) : sci.impl.analyzer.analyze.call(null,G__47347,G__47348));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar obj__$2 \x3d sci.impl.types.eval(obj__$1,ctx__$1,bindings);\nvar v__$2 \x3d sci.impl.types.eval(v__$1,ctx__$1,bindings);\nreturn sci.impl.analyzer.goog$module$goog$object.set(obj__$2,prop,v__$2);\n}),null);\n} else {\nif((obj instanceof cljs.core.Symbol)){\nvar sym \x3d obj;\nvar obj__$1 \x3d sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2(ctx,obj);\nvar v__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,v) : sci.impl.analyzer.analyze.call(null,ctx,v));\nif(sci.impl.utils.var_QMARK_(obj__$1)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar v__$2 \x3d sci.impl.types.eval(v__$1,ctx__$1,bindings);\nreturn sci.impl.types.setVal(obj__$1,v__$2);\n}),null);\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(obj__$1)))){\nvar instance \x3d sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2(ctx,new cljs.core.Symbol(null,\x22__sci_this\x22,\x22__sci_this\x22,-193704996,null));\nvar mutator \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22local-\x3emutator\x22,\x22local-\x3emutator\x22,1004070878).cljs$core$IFn$_invoke$arity$1(ctx),sym);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar v__$2 \x3d sci.impl.types.eval(v__$1,ctx__$1,bindings);\nvar instance__$1 \x3d sci.impl.types.eval(instance,ctx__$1,bindings);\nreturn (mutator.cljs$core$IFn$_invoke$arity$2 ? mutator.cljs$core$IFn$_invoke$arity$2(instance__$1,v__$2) : mutator.call(null,instance__$1,v__$2));\n}),null);\n} else {\nreturn sci.impl.analyzer.throw_error_with_location(\x22Invalid assignment target\x22,expr);\n\n}\n}\n} else {\nif(cljs.core.seq_QMARK_(obj)){\nvar obj__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,obj) : sci.impl.analyzer.analyze.call(null,ctx,obj));\nvar v__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,v) : sci.impl.analyzer.analyze.call(null,ctx,v));\nvar info \x3d cljs.core.meta(obj__$1);\nvar k \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22method-name\x22,\x22sci.impl.analyzer/method-name\x22,-842600667).cljs$core$IFn$_invoke$arity$1(info),(1));\nvar obj__$2 \x3d new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22instance-expr\x22,\x22sci.impl.analyzer/instance-expr\x22,629338719).cljs$core$IFn$_invoke$arity$1(info);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar obj__$3 \x3d sci.impl.types.eval(obj__$2,ctx__$1,bindings);\nvar v__$2 \x3d sci.impl.types.eval(v__$1,ctx__$1,bindings);\nreturn sci.impl.analyzer.goog$module$goog$object.set(obj__$3,k,v__$2);\n}),null);\n} else {\nreturn sci.impl.analyzer.throw_error_with_location(\x22Invalid assignment target\x22,expr);\n\n}\n}\n}\n});\nsci.impl.analyzer.return_binding_call \x3d (function sci$impl$analyzer$return_binding_call(_ctx,expr,idx,f,analyzed_children,stack){\nvar G__47360 \x3d cljs.core.count(analyzed_children);\nswitch (G__47360) {\ncase (0):\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var fexpr__47365 \x3d (bindings[idx]);\nreturn (fexpr__47365.cljs$core$IFn$_invoke$arity$0 ? fexpr__47365.cljs$core$IFn$_invoke$arity$0() : fexpr__47365.call(null));\n}catch (e47361){if((e47361 instanceof Error)){\nvar e__46320__auto__ \x3d e47361;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47361;\n\n}\n}}),stack);\n\nbreak;\ncase (1):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47371 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar fexpr__47370 \x3d (bindings[idx]);\nreturn (fexpr__47370.cljs$core$IFn$_invoke$arity$1 ? fexpr__47370.cljs$core$IFn$_invoke$arity$1(G__47371) : fexpr__47370.call(null,G__47371));\n}catch (e47369){if((e47369 instanceof Error)){\nvar e__46320__auto__ \x3d e47369;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47369;\n\n}\n}}),stack);\n\nbreak;\ncase (2):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47375 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47376 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar fexpr__47374 \x3d (bindings[idx]);\nreturn (fexpr__47374.cljs$core$IFn$_invoke$arity$2 ? fexpr__47374.cljs$core$IFn$_invoke$arity$2(G__47375,G__47376) : fexpr__47374.call(null,G__47375,G__47376));\n}catch (e47372){if((e47372 instanceof Error)){\nvar e__46320__auto__ \x3d e47372;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47372;\n\n}\n}}),stack);\n\nbreak;\ncase (3):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47383 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47384 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47385 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar fexpr__47382 \x3d (bindings[idx]);\nreturn (fexpr__47382.cljs$core$IFn$_invoke$arity$3 ? fexpr__47382.cljs$core$IFn$_invoke$arity$3(G__47383,G__47384,G__47385) : fexpr__47382.call(null,G__47383,G__47384,G__47385));\n}catch (e47381){if((e47381 instanceof Error)){\nvar e__46320__auto__ \x3d e47381;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47381;\n\n}\n}}),stack);\n\nbreak;\ncase (4):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47395 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47396 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47397 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47398 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar fexpr__47394 \x3d (bindings[idx]);\nreturn (fexpr__47394.cljs$core$IFn$_invoke$arity$4 ? fexpr__47394.cljs$core$IFn$_invoke$arity$4(G__47395,G__47396,G__47397,G__47398) : fexpr__47394.call(null,G__47395,G__47396,G__47397,G__47398));\n}catch (e47391){if((e47391 instanceof Error)){\nvar e__46320__auto__ \x3d e47391;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47391;\n\n}\n}}),stack);\n\nbreak;\ncase (5):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47406 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47407 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47408 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47409 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47410 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar fexpr__47405 \x3d (bindings[idx]);\nreturn (fexpr__47405.cljs$core$IFn$_invoke$arity$5 ? fexpr__47405.cljs$core$IFn$_invoke$arity$5(G__47406,G__47407,G__47408,G__47409,G__47410) : fexpr__47405.call(null,G__47406,G__47407,G__47408,G__47409,G__47410));\n}catch (e47404){if((e47404 instanceof Error)){\nvar e__46320__auto__ \x3d e47404;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47404;\n\n}\n}}),stack);\n\nbreak;\ncase (6):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47420 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47421 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47422 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47423 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47424 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47425 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar fexpr__47419 \x3d (bindings[idx]);\nreturn (fexpr__47419.cljs$core$IFn$_invoke$arity$6 ? fexpr__47419.cljs$core$IFn$_invoke$arity$6(G__47420,G__47421,G__47422,G__47423,G__47424,G__47425) : fexpr__47419.call(null,G__47420,G__47421,G__47422,G__47423,G__47424,G__47425));\n}catch (e47416){if((e47416 instanceof Error)){\nvar e__46320__auto__ \x3d e47416;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47416;\n\n}\n}}),stack);\n\nbreak;\ncase (7):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47433 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47434 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47435 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47436 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47437 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47438 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47439 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar fexpr__47432 \x3d (bindings[idx]);\nreturn (fexpr__47432.cljs$core$IFn$_invoke$arity$7 ? fexpr__47432.cljs$core$IFn$_invoke$arity$7(G__47433,G__47434,G__47435,G__47436,G__47437,G__47438,G__47439) : fexpr__47432.call(null,G__47433,G__47434,G__47435,G__47436,G__47437,G__47438,G__47439));\n}catch (e47429){if((e47429 instanceof Error)){\nvar e__46320__auto__ \x3d e47429;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47429;\n\n}\n}}),stack);\n\nbreak;\ncase (8):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47446 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47448 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47449 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47450 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47451 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47452 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47453 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47454 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar fexpr__47445 \x3d (bindings[idx]);\nreturn (fexpr__47445.cljs$core$IFn$_invoke$arity$8 ? fexpr__47445.cljs$core$IFn$_invoke$arity$8(G__47446,G__47448,G__47449,G__47450,G__47451,G__47452,G__47453,G__47454) : fexpr__47445.call(null,G__47446,G__47448,G__47449,G__47450,G__47451,G__47452,G__47453,G__47454));\n}catch (e47441){if((e47441 instanceof Error)){\nvar e__46320__auto__ \x3d e47441;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47441;\n\n}\n}}),stack);\n\nbreak;\ncase (9):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47465 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47466 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47467 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47468 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47469 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47470 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47471 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47472 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47473 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar fexpr__47464 \x3d (bindings[idx]);\nreturn (fexpr__47464.cljs$core$IFn$_invoke$arity$9 ? fexpr__47464.cljs$core$IFn$_invoke$arity$9(G__47465,G__47466,G__47467,G__47468,G__47469,G__47470,G__47471,G__47472,G__47473) : fexpr__47464.call(null,G__47465,G__47466,G__47467,G__47468,G__47469,G__47470,G__47471,G__47472,G__47473));\n}catch (e47462){if((e47462 instanceof Error)){\nvar e__46320__auto__ \x3d e47462;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47462;\n\n}\n}}),stack);\n\nbreak;\ncase (10):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47485 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47486 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47487 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47488 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47489 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47491 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47492 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47493 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47494 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47495 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar fexpr__47484 \x3d (bindings[idx]);\nreturn (fexpr__47484.cljs$core$IFn$_invoke$arity$10 ? fexpr__47484.cljs$core$IFn$_invoke$arity$10(G__47485,G__47486,G__47487,G__47488,G__47489,G__47491,G__47492,G__47493,G__47494,G__47495) : fexpr__47484.call(null,G__47485,G__47486,G__47487,G__47488,G__47489,G__47491,G__47492,G__47493,G__47494,G__47495));\n}catch (e47482){if((e47482 instanceof Error)){\nvar e__46320__auto__ \x3d e47482;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47482;\n\n}\n}}),stack);\n\nbreak;\ncase (11):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47509 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47510 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47511 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47512 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47513 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47514 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47515 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47516 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47518 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47519 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47520 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar fexpr__47508 \x3d (bindings[idx]);\nreturn (fexpr__47508.cljs$core$IFn$_invoke$arity$11 ? fexpr__47508.cljs$core$IFn$_invoke$arity$11(G__47509,G__47510,G__47511,G__47512,G__47513,G__47514,G__47515,G__47516,G__47518,G__47519,G__47520) : fexpr__47508.call(null,G__47509,G__47510,G__47511,G__47512,G__47513,G__47514,G__47515,G__47516,G__47518,G__47519,G__47520));\n}catch (e47506){if((e47506 instanceof Error)){\nvar e__46320__auto__ \x3d e47506;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47506;\n\n}\n}}),stack);\n\nbreak;\ncase (12):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47533 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47534 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47535 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47536 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47537 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47538 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47539 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47540 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47541 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47542 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47543 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47544 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar fexpr__47532 \x3d (bindings[idx]);\nreturn (fexpr__47532.cljs$core$IFn$_invoke$arity$12 ? fexpr__47532.cljs$core$IFn$_invoke$arity$12(G__47533,G__47534,G__47535,G__47536,G__47537,G__47538,G__47539,G__47540,G__47541,G__47542,G__47543,G__47544) : fexpr__47532.call(null,G__47533,G__47534,G__47535,G__47536,G__47537,G__47538,G__47539,G__47540,G__47541,G__47542,G__47543,G__47544));\n}catch (e47527){if((e47527 instanceof Error)){\nvar e__46320__auto__ \x3d e47527;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47527;\n\n}\n}}),stack);\n\nbreak;\ncase (13):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47556 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47557 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47558 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47559 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47560 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47561 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47562 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47563 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47564 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47565 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47566 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47567 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47568 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar fexpr__47555 \x3d (bindings[idx]);\nreturn (fexpr__47555.cljs$core$IFn$_invoke$arity$13 ? fexpr__47555.cljs$core$IFn$_invoke$arity$13(G__47556,G__47557,G__47558,G__47559,G__47560,G__47561,G__47562,G__47563,G__47564,G__47565,G__47566,G__47567,G__47568) : fexpr__47555.call(null,G__47556,G__47557,G__47558,G__47559,G__47560,G__47561,G__47562,G__47563,G__47564,G__47565,G__47566,G__47567,G__47568));\n}catch (e47554){if((e47554 instanceof Error)){\nvar e__46320__auto__ \x3d e47554;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47554;\n\n}\n}}),stack);\n\nbreak;\ncase (14):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47584 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47585 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47586 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47587 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47588 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47589 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47590 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47591 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47592 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47593 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47594 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47595 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47596 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47597 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar fexpr__47583 \x3d (bindings[idx]);\nreturn (fexpr__47583.cljs$core$IFn$_invoke$arity$14 ? fexpr__47583.cljs$core$IFn$_invoke$arity$14(G__47584,G__47585,G__47586,G__47587,G__47588,G__47589,G__47590,G__47591,G__47592,G__47593,G__47594,G__47595,G__47596,G__47597) : fexpr__47583.call(null,G__47584,G__47585,G__47586,G__47587,G__47588,G__47589,G__47590,G__47591,G__47592,G__47593,G__47594,G__47595,G__47596,G__47597));\n}catch (e47580){if((e47580 instanceof Error)){\nvar e__46320__auto__ \x3d e47580;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47580;\n\n}\n}}),stack);\n\nbreak;\ncase (15):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47606 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47607 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47608 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47609 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47610 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47611 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47612 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47613 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47614 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47615 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47616 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47617 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47618 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47619 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47620 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar fexpr__47605 \x3d (bindings[idx]);\nreturn (fexpr__47605.cljs$core$IFn$_invoke$arity$15 ? fexpr__47605.cljs$core$IFn$_invoke$arity$15(G__47606,G__47607,G__47608,G__47609,G__47610,G__47611,G__47612,G__47613,G__47614,G__47615,G__47616,G__47617,G__47618,G__47619,G__47620) : fexpr__47605.call(null,G__47606,G__47607,G__47608,G__47609,G__47610,G__47611,G__47612,G__47613,G__47614,G__47615,G__47616,G__47617,G__47618,G__47619,G__47620));\n}catch (e47601){if((e47601 instanceof Error)){\nvar e__46320__auto__ \x3d e47601;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47601;\n\n}\n}}),stack);\n\nbreak;\ncase (16):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47632 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47633 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47634 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47635 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47636 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47637 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47638 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47639 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47640 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47641 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47642 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47643 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47644 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47645 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47646 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__47647 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar fexpr__47631 \x3d (bindings[idx]);\nreturn (fexpr__47631.cljs$core$IFn$_invoke$arity$16 ? fexpr__47631.cljs$core$IFn$_invoke$arity$16(G__47632,G__47633,G__47634,G__47635,G__47636,G__47637,G__47638,G__47639,G__47640,G__47641,G__47642,G__47643,G__47644,G__47645,G__47646,G__47647) : fexpr__47631.call(null,G__47632,G__47633,G__47634,G__47635,G__47636,G__47637,G__47638,G__47639,G__47640,G__47641,G__47642,G__47643,G__47644,G__47645,G__47646,G__47647));\n}catch (e47626){if((e47626 instanceof Error)){\nvar e__46320__auto__ \x3d e47626;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47626;\n\n}\n}}),stack);\n\nbreak;\ncase (17):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47655 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47656 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47657 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47658 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47659 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47660 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47661 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47662 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47663 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47664 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47665 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47666 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47667 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47668 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47669 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__47670 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__47671 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar fexpr__47654 \x3d (bindings[idx]);\nreturn (fexpr__47654.cljs$core$IFn$_invoke$arity$17 ? fexpr__47654.cljs$core$IFn$_invoke$arity$17(G__47655,G__47656,G__47657,G__47658,G__47659,G__47660,G__47661,G__47662,G__47663,G__47664,G__47665,G__47666,G__47667,G__47668,G__47669,G__47670,G__47671) : fexpr__47654.call(null,G__47655,G__47656,G__47657,G__47658,G__47659,G__47660,G__47661,G__47662,G__47663,G__47664,G__47665,G__47666,G__47667,G__47668,G__47669,G__47670,G__47671));\n}catch (e47651){if((e47651 instanceof Error)){\nvar e__46320__auto__ \x3d e47651;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47651;\n\n}\n}}),stack);\n\nbreak;\ncase (18):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47680 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47681 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47682 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47683 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47684 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47685 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47686 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47687 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47688 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47689 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47690 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47691 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47692 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47693 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47694 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__47695 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__47696 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__47697 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar fexpr__47679 \x3d (bindings[idx]);\nreturn (fexpr__47679.cljs$core$IFn$_invoke$arity$18 ? fexpr__47679.cljs$core$IFn$_invoke$arity$18(G__47680,G__47681,G__47682,G__47683,G__47684,G__47685,G__47686,G__47687,G__47688,G__47689,G__47690,G__47691,G__47692,G__47693,G__47694,G__47695,G__47696,G__47697) : fexpr__47679.call(null,G__47680,G__47681,G__47682,G__47683,G__47684,G__47685,G__47686,G__47687,G__47688,G__47689,G__47690,G__47691,G__47692,G__47693,G__47694,G__47695,G__47696,G__47697));\n}catch (e47675){if((e47675 instanceof Error)){\nvar e__46320__auto__ \x3d e47675;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47675;\n\n}\n}}),stack);\n\nbreak;\ncase (19):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nvar arg18 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(18));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47704 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47705 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47706 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47707 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47708 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47709 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47710 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47711 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47712 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47713 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47714 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47715 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47716 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47717 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47718 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__47719 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__47720 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__47721 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar G__47722 \x3d sci.impl.types.eval(arg18,ctx,bindings);\nvar fexpr__47703 \x3d (bindings[idx]);\nreturn (fexpr__47703.cljs$core$IFn$_invoke$arity$19 ? fexpr__47703.cljs$core$IFn$_invoke$arity$19(G__47704,G__47705,G__47706,G__47707,G__47708,G__47709,G__47710,G__47711,G__47712,G__47713,G__47714,G__47715,G__47716,G__47717,G__47718,G__47719,G__47720,G__47721,G__47722) : fexpr__47703.call(null,G__47704,G__47705,G__47706,G__47707,G__47708,G__47709,G__47710,G__47711,G__47712,G__47713,G__47714,G__47715,G__47716,G__47717,G__47718,G__47719,G__47720,G__47721,G__47722));\n}catch (e47702){if((e47702 instanceof Error)){\nvar e__46320__auto__ \x3d e47702;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46320__auto__,this$);\n} else {\nthrow e47702;\n\n}\n}}),stack);\n\nbreak;\ndefault:\nreturn (function (ctx,bindings){\nreturn sci.impl.evaluator.fn_call(ctx,bindings,(bindings[idx]),analyzed_children);\n});\n\n}\n});\nsci.impl.analyzer.return_call \x3d (function sci$impl$analyzer$return_call(_ctx,expr,f,analyzed_children,stack,wrap){\nvar node__46443__auto__ \x3d (function (){var G__47726 \x3d cljs.core.count(analyzed_children);\nswitch (G__47726) {\ncase (0):\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var fexpr__47728 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47728.cljs$core$IFn$_invoke$arity$0 ? fexpr__47728.cljs$core$IFn$_invoke$arity$0() : fexpr__47728.call(null));\n}catch (e47727){if((e47727 instanceof Error)){\nvar e__46442__auto__ \x3d e47727;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47727;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}catch (e47729){if((e47729 instanceof Error)){\nvar e__46442__auto__ \x3d e47729;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47729;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (1):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47732 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar fexpr__47731 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47731.cljs$core$IFn$_invoke$arity$1 ? fexpr__47731.cljs$core$IFn$_invoke$arity$1(G__47732) : fexpr__47731.call(null,G__47732));\n}catch (e47730){if((e47730 instanceof Error)){\nvar e__46442__auto__ \x3d e47730;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47730;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47736 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__47736) : f.call(null,G__47736));\n}catch (e47734){if((e47734 instanceof Error)){\nvar e__46442__auto__ \x3d e47734;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47734;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (2):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47742 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47743 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar fexpr__47741 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47741.cljs$core$IFn$_invoke$arity$2 ? fexpr__47741.cljs$core$IFn$_invoke$arity$2(G__47742,G__47743) : fexpr__47741.call(null,G__47742,G__47743));\n}catch (e47739){if((e47739 instanceof Error)){\nvar e__46442__auto__ \x3d e47739;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47739;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47746 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47747 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__47746,G__47747) : f.call(null,G__47746,G__47747));\n}catch (e47745){if((e47745 instanceof Error)){\nvar e__46442__auto__ \x3d e47745;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47745;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (3):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47753 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47754 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47755 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar fexpr__47752 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47752.cljs$core$IFn$_invoke$arity$3 ? fexpr__47752.cljs$core$IFn$_invoke$arity$3(G__47753,G__47754,G__47755) : fexpr__47752.call(null,G__47753,G__47754,G__47755));\n}catch (e47750){if((e47750 instanceof Error)){\nvar e__46442__auto__ \x3d e47750;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47750;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47760 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47761 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47762 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__47760,G__47761,G__47762) : f.call(null,G__47760,G__47761,G__47762));\n}catch (e47757){if((e47757 instanceof Error)){\nvar e__46442__auto__ \x3d e47757;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47757;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (4):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47767 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47768 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47769 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47770 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar fexpr__47766 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47766.cljs$core$IFn$_invoke$arity$4 ? fexpr__47766.cljs$core$IFn$_invoke$arity$4(G__47767,G__47768,G__47769,G__47770) : fexpr__47766.call(null,G__47767,G__47768,G__47769,G__47770));\n}catch (e47765){if((e47765 instanceof Error)){\nvar e__46442__auto__ \x3d e47765;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47765;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47773 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47774 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47775 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47776 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__47773,G__47774,G__47775,G__47776) : f.call(null,G__47773,G__47774,G__47775,G__47776));\n}catch (e47771){if((e47771 instanceof Error)){\nvar e__46442__auto__ \x3d e47771;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47771;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (5):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47784 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47785 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47786 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47787 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47788 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar fexpr__47783 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47783.cljs$core$IFn$_invoke$arity$5 ? fexpr__47783.cljs$core$IFn$_invoke$arity$5(G__47784,G__47785,G__47786,G__47787,G__47788) : fexpr__47783.call(null,G__47784,G__47785,G__47786,G__47787,G__47788));\n}catch (e47780){if((e47780 instanceof Error)){\nvar e__46442__auto__ \x3d e47780;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47780;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47790 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47791 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47792 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47793 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47794 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(G__47790,G__47791,G__47792,G__47793,G__47794) : f.call(null,G__47790,G__47791,G__47792,G__47793,G__47794));\n}catch (e47789){if((e47789 instanceof Error)){\nvar e__46442__auto__ \x3d e47789;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47789;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (6):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47802 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47803 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47804 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47805 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47806 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47807 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar fexpr__47801 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47801.cljs$core$IFn$_invoke$arity$6 ? fexpr__47801.cljs$core$IFn$_invoke$arity$6(G__47802,G__47803,G__47804,G__47805,G__47806,G__47807) : fexpr__47801.call(null,G__47802,G__47803,G__47804,G__47805,G__47806,G__47807));\n}catch (e47798){if((e47798 instanceof Error)){\nvar e__46442__auto__ \x3d e47798;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47798;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47811 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47812 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47813 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47814 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47815 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47816 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(G__47811,G__47812,G__47813,G__47814,G__47815,G__47816) : f.call(null,G__47811,G__47812,G__47813,G__47814,G__47815,G__47816));\n}catch (e47810){if((e47810 instanceof Error)){\nvar e__46442__auto__ \x3d e47810;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47810;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (7):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47822 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47823 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47824 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47825 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47826 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47827 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47828 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar fexpr__47821 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47821.cljs$core$IFn$_invoke$arity$7 ? fexpr__47821.cljs$core$IFn$_invoke$arity$7(G__47822,G__47823,G__47824,G__47825,G__47826,G__47827,G__47828) : fexpr__47821.call(null,G__47822,G__47823,G__47824,G__47825,G__47826,G__47827,G__47828));\n}catch (e47819){if((e47819 instanceof Error)){\nvar e__46442__auto__ \x3d e47819;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47819;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47833 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47834 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47835 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47836 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47837 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47838 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47839 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(G__47833,G__47834,G__47835,G__47836,G__47837,G__47838,G__47839) : f.call(null,G__47833,G__47834,G__47835,G__47836,G__47837,G__47838,G__47839));\n}catch (e47832){if((e47832 instanceof Error)){\nvar e__46442__auto__ \x3d e47832;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47832;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (8):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47851 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47852 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47853 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47854 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47855 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47856 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47857 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47858 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar fexpr__47850 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47850.cljs$core$IFn$_invoke$arity$8 ? fexpr__47850.cljs$core$IFn$_invoke$arity$8(G__47851,G__47852,G__47853,G__47854,G__47855,G__47856,G__47857,G__47858) : fexpr__47850.call(null,G__47851,G__47852,G__47853,G__47854,G__47855,G__47856,G__47857,G__47858));\n}catch (e47847){if((e47847 instanceof Error)){\nvar e__46442__auto__ \x3d e47847;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47847;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47862 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47863 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47864 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47865 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47866 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47867 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47868 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47869 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(G__47862,G__47863,G__47864,G__47865,G__47866,G__47867,G__47868,G__47869) : f.call(null,G__47862,G__47863,G__47864,G__47865,G__47866,G__47867,G__47868,G__47869));\n}catch (e47861){if((e47861 instanceof Error)){\nvar e__46442__auto__ \x3d e47861;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47861;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (9):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47877 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47878 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47879 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47880 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47881 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47882 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47883 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47884 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47885 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar fexpr__47876 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47876.cljs$core$IFn$_invoke$arity$9 ? fexpr__47876.cljs$core$IFn$_invoke$arity$9(G__47877,G__47878,G__47879,G__47880,G__47881,G__47882,G__47883,G__47884,G__47885) : fexpr__47876.call(null,G__47877,G__47878,G__47879,G__47880,G__47881,G__47882,G__47883,G__47884,G__47885));\n}catch (e47873){if((e47873 instanceof Error)){\nvar e__46442__auto__ \x3d e47873;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47873;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47890 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47891 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47892 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47893 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47894 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47895 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47896 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47897 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47898 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(G__47890,G__47891,G__47892,G__47893,G__47894,G__47895,G__47896,G__47897,G__47898) : f.call(null,G__47890,G__47891,G__47892,G__47893,G__47894,G__47895,G__47896,G__47897,G__47898));\n}catch (e47886){if((e47886 instanceof Error)){\nvar e__46442__auto__ \x3d e47886;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47886;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (10):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47906 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47907 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47908 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47909 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47910 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47911 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47912 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47913 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47914 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47915 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar fexpr__47905 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47905.cljs$core$IFn$_invoke$arity$10 ? fexpr__47905.cljs$core$IFn$_invoke$arity$10(G__47906,G__47907,G__47908,G__47909,G__47910,G__47911,G__47912,G__47913,G__47914,G__47915) : fexpr__47905.call(null,G__47906,G__47907,G__47908,G__47909,G__47910,G__47911,G__47912,G__47913,G__47914,G__47915));\n}catch (e47904){if((e47904 instanceof Error)){\nvar e__46442__auto__ \x3d e47904;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47904;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47918 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47919 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47920 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47921 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47922 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47923 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47924 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47925 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47926 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47927 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(G__47918,G__47919,G__47920,G__47921,G__47922,G__47923,G__47924,G__47925,G__47926,G__47927) : f.call(null,G__47918,G__47919,G__47920,G__47921,G__47922,G__47923,G__47924,G__47925,G__47926,G__47927));\n}catch (e47916){if((e47916 instanceof Error)){\nvar e__46442__auto__ \x3d e47916;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47916;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (11):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47934 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47935 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47936 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47937 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47938 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47939 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47940 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47941 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47942 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47943 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47944 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar fexpr__47933 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47933.cljs$core$IFn$_invoke$arity$11 ? fexpr__47933.cljs$core$IFn$_invoke$arity$11(G__47934,G__47935,G__47936,G__47937,G__47938,G__47939,G__47940,G__47941,G__47942,G__47943,G__47944) : fexpr__47933.call(null,G__47934,G__47935,G__47936,G__47937,G__47938,G__47939,G__47940,G__47941,G__47942,G__47943,G__47944));\n}catch (e47932){if((e47932 instanceof Error)){\nvar e__46442__auto__ \x3d e47932;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47932;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47950 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47951 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47952 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47953 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47954 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47955 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47956 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47957 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47958 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47959 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47960 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(G__47950,G__47951,G__47952,G__47953,G__47954,G__47955,G__47956,G__47957,G__47958,G__47959,G__47960) : f.call(null,G__47950,G__47951,G__47952,G__47953,G__47954,G__47955,G__47956,G__47957,G__47958,G__47959,G__47960));\n}catch (e47948){if((e47948 instanceof Error)){\nvar e__46442__auto__ \x3d e47948;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47948;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (12):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47969 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47970 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47971 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47972 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47973 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47974 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47975 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47976 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47977 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47978 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47979 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47980 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar fexpr__47968 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47968.cljs$core$IFn$_invoke$arity$12 ? fexpr__47968.cljs$core$IFn$_invoke$arity$12(G__47969,G__47970,G__47971,G__47972,G__47973,G__47974,G__47975,G__47976,G__47977,G__47978,G__47979,G__47980) : fexpr__47968.call(null,G__47969,G__47970,G__47971,G__47972,G__47973,G__47974,G__47975,G__47976,G__47977,G__47978,G__47979,G__47980));\n}catch (e47966){if((e47966 instanceof Error)){\nvar e__46442__auto__ \x3d e47966;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47966;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47984 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47985 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47986 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47987 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47988 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47989 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47990 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47991 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47992 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47993 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47994 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47995 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(G__47984,G__47985,G__47986,G__47987,G__47988,G__47989,G__47990,G__47991,G__47992,G__47993,G__47994,G__47995) : f.call(null,G__47984,G__47985,G__47986,G__47987,G__47988,G__47989,G__47990,G__47991,G__47992,G__47993,G__47994,G__47995));\n}catch (e47982){if((e47982 instanceof Error)){\nvar e__46442__auto__ \x3d e47982;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47982;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (13):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47999 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48000 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48001 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48002 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48003 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48004 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48005 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48006 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48007 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48008 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48009 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48010 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48011 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar fexpr__47998 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47998.cljs$core$IFn$_invoke$arity$13 ? fexpr__47998.cljs$core$IFn$_invoke$arity$13(G__47999,G__48000,G__48001,G__48002,G__48003,G__48004,G__48005,G__48006,G__48007,G__48008,G__48009,G__48010,G__48011) : fexpr__47998.call(null,G__47999,G__48000,G__48001,G__48002,G__48003,G__48004,G__48005,G__48006,G__48007,G__48008,G__48009,G__48010,G__48011));\n}catch (e47997){if((e47997 instanceof Error)){\nvar e__46442__auto__ \x3d e47997;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e47997;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48017 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48018 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48019 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48020 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48021 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48022 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48023 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48024 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48025 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48026 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48027 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48028 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48029 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(G__48017,G__48018,G__48019,G__48020,G__48021,G__48022,G__48023,G__48024,G__48025,G__48026,G__48027,G__48028,G__48029) : f.call(null,G__48017,G__48018,G__48019,G__48020,G__48021,G__48022,G__48023,G__48024,G__48025,G__48026,G__48027,G__48028,G__48029));\n}catch (e48016){if((e48016 instanceof Error)){\nvar e__46442__auto__ \x3d e48016;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48016;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (14):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48035 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48036 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48037 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48038 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48039 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48040 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48041 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48042 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48043 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48044 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48045 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48046 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48047 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48048 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar fexpr__48034 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__48034.cljs$core$IFn$_invoke$arity$14 ? fexpr__48034.cljs$core$IFn$_invoke$arity$14(G__48035,G__48036,G__48037,G__48038,G__48039,G__48040,G__48041,G__48042,G__48043,G__48044,G__48045,G__48046,G__48047,G__48048) : fexpr__48034.call(null,G__48035,G__48036,G__48037,G__48038,G__48039,G__48040,G__48041,G__48042,G__48043,G__48044,G__48045,G__48046,G__48047,G__48048));\n}catch (e48033){if((e48033 instanceof Error)){\nvar e__46442__auto__ \x3d e48033;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48033;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48054 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48055 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48056 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48057 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48058 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48059 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48060 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48061 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48062 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48063 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48064 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48065 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48066 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48067 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(G__48054,G__48055,G__48056,G__48057,G__48058,G__48059,G__48060,G__48061,G__48062,G__48063,G__48064,G__48065,G__48066,G__48067) : f.call(null,G__48054,G__48055,G__48056,G__48057,G__48058,G__48059,G__48060,G__48061,G__48062,G__48063,G__48064,G__48065,G__48066,G__48067));\n}catch (e48051){if((e48051 instanceof Error)){\nvar e__46442__auto__ \x3d e48051;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48051;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (15):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48078 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48079 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48080 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48081 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48082 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48083 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48084 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48085 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48086 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48087 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48088 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48089 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48090 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48091 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48092 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar fexpr__48077 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__48077.cljs$core$IFn$_invoke$arity$15 ? fexpr__48077.cljs$core$IFn$_invoke$arity$15(G__48078,G__48079,G__48080,G__48081,G__48082,G__48083,G__48084,G__48085,G__48086,G__48087,G__48088,G__48089,G__48090,G__48091,G__48092) : fexpr__48077.call(null,G__48078,G__48079,G__48080,G__48081,G__48082,G__48083,G__48084,G__48085,G__48086,G__48087,G__48088,G__48089,G__48090,G__48091,G__48092));\n}catch (e48076){if((e48076 instanceof Error)){\nvar e__46442__auto__ \x3d e48076;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48076;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48101 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48102 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48103 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48104 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48105 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48106 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48107 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48108 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48109 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48110 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48111 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48112 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48113 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48114 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48115 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(G__48101,G__48102,G__48103,G__48104,G__48105,G__48106,G__48107,G__48108,G__48109,G__48110,G__48111,G__48112,G__48113,G__48114,G__48115) : f.call(null,G__48101,G__48102,G__48103,G__48104,G__48105,G__48106,G__48107,G__48108,G__48109,G__48110,G__48111,G__48112,G__48113,G__48114,G__48115));\n}catch (e48099){if((e48099 instanceof Error)){\nvar e__46442__auto__ \x3d e48099;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48099;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (16):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48124 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48125 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48126 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48127 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48128 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48129 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48130 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48131 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48132 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48133 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48134 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48135 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48136 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48137 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48138 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48139 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar fexpr__48123 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__48123.cljs$core$IFn$_invoke$arity$16 ? fexpr__48123.cljs$core$IFn$_invoke$arity$16(G__48124,G__48125,G__48126,G__48127,G__48128,G__48129,G__48130,G__48131,G__48132,G__48133,G__48134,G__48135,G__48136,G__48137,G__48138,G__48139) : fexpr__48123.call(null,G__48124,G__48125,G__48126,G__48127,G__48128,G__48129,G__48130,G__48131,G__48132,G__48133,G__48134,G__48135,G__48136,G__48137,G__48138,G__48139));\n}catch (e48120){if((e48120 instanceof Error)){\nvar e__46442__auto__ \x3d e48120;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48120;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48147 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48148 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48149 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48150 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48151 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48152 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48153 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48154 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48155 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48156 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48157 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48158 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48159 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48160 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48161 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48162 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(G__48147,G__48148,G__48149,G__48150,G__48151,G__48152,G__48153,G__48154,G__48155,G__48156,G__48157,G__48158,G__48159,G__48160,G__48161,G__48162) : f.call(null,G__48147,G__48148,G__48149,G__48150,G__48151,G__48152,G__48153,G__48154,G__48155,G__48156,G__48157,G__48158,G__48159,G__48160,G__48161,G__48162));\n}catch (e48142){if((e48142 instanceof Error)){\nvar e__46442__auto__ \x3d e48142;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48142;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (17):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48171 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48172 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48173 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48174 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48175 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48176 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48177 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48178 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48179 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48180 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48181 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48182 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48183 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48184 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48185 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48186 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48187 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar fexpr__48170 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__48170.cljs$core$IFn$_invoke$arity$17 ? fexpr__48170.cljs$core$IFn$_invoke$arity$17(G__48171,G__48172,G__48173,G__48174,G__48175,G__48176,G__48177,G__48178,G__48179,G__48180,G__48181,G__48182,G__48183,G__48184,G__48185,G__48186,G__48187) : fexpr__48170.call(null,G__48171,G__48172,G__48173,G__48174,G__48175,G__48176,G__48177,G__48178,G__48179,G__48180,G__48181,G__48182,G__48183,G__48184,G__48185,G__48186,G__48187));\n}catch (e48169){if((e48169 instanceof Error)){\nvar e__46442__auto__ \x3d e48169;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48169;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48193 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48194 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48195 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48196 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48197 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48198 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48199 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48200 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48201 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48202 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48203 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48204 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48205 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48206 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48207 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48208 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48209 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(G__48193,G__48194,G__48195,G__48196,G__48197,G__48198,G__48199,G__48200,G__48201,G__48202,G__48203,G__48204,G__48205,G__48206,G__48207,G__48208,G__48209) : f.call(null,G__48193,G__48194,G__48195,G__48196,G__48197,G__48198,G__48199,G__48200,G__48201,G__48202,G__48203,G__48204,G__48205,G__48206,G__48207,G__48208,G__48209));\n}catch (e48192){if((e48192 instanceof Error)){\nvar e__46442__auto__ \x3d e48192;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48192;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (18):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48219 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48220 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48221 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48222 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48223 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48224 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48225 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48226 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48227 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48228 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48229 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48230 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48231 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48232 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48233 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48234 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48235 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__48236 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar fexpr__48217 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__48217.cljs$core$IFn$_invoke$arity$18 ? fexpr__48217.cljs$core$IFn$_invoke$arity$18(G__48219,G__48220,G__48221,G__48222,G__48223,G__48224,G__48225,G__48226,G__48227,G__48228,G__48229,G__48230,G__48231,G__48232,G__48233,G__48234,G__48235,G__48236) : fexpr__48217.call(null,G__48219,G__48220,G__48221,G__48222,G__48223,G__48224,G__48225,G__48226,G__48227,G__48228,G__48229,G__48230,G__48231,G__48232,G__48233,G__48234,G__48235,G__48236));\n}catch (e48216){if((e48216 instanceof Error)){\nvar e__46442__auto__ \x3d e48216;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48216;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48246 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48247 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48248 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48249 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48250 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48251 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48252 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48253 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48254 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48255 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48256 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48257 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48258 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48259 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48260 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48261 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48262 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__48263 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(G__48246,G__48247,G__48248,G__48249,G__48250,G__48251,G__48252,G__48253,G__48254,G__48255,G__48256,G__48257,G__48258,G__48259,G__48260,G__48261,G__48262,G__48263) : f.call(null,G__48246,G__48247,G__48248,G__48249,G__48250,G__48251,G__48252,G__48253,G__48254,G__48255,G__48256,G__48257,G__48258,G__48259,G__48260,G__48261,G__48262,G__48263));\n}catch (e48243){if((e48243 instanceof Error)){\nvar e__46442__auto__ \x3d e48243;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48243;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (19):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nvar arg18 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(18));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48274 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48275 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48276 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48277 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48278 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48279 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48280 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48281 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48282 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48283 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48284 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48285 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48286 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48287 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48288 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48289 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48290 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__48291 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar G__48292 \x3d sci.impl.types.eval(arg18,ctx,bindings);\nvar fexpr__48273 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__48273.cljs$core$IFn$_invoke$arity$19 ? fexpr__48273.cljs$core$IFn$_invoke$arity$19(G__48274,G__48275,G__48276,G__48277,G__48278,G__48279,G__48280,G__48281,G__48282,G__48283,G__48284,G__48285,G__48286,G__48287,G__48288,G__48289,G__48290,G__48291,G__48292) : fexpr__48273.call(null,G__48274,G__48275,G__48276,G__48277,G__48278,G__48279,G__48280,G__48281,G__48282,G__48283,G__48284,G__48285,G__48286,G__48287,G__48288,G__48289,G__48290,G__48291,G__48292));\n}catch (e48270){if((e48270 instanceof Error)){\nvar e__46442__auto__ \x3d e48270;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48270;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48301 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48302 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48303 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48304 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48305 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48306 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48307 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48308 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48309 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48310 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48311 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48312 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48313 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48314 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48315 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48316 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48317 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__48318 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar G__48319 \x3d sci.impl.types.eval(arg18,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(G__48301,G__48302,G__48303,G__48304,G__48305,G__48306,G__48307,G__48308,G__48309,G__48310,G__48311,G__48312,G__48313,G__48314,G__48315,G__48316,G__48317,G__48318,G__48319) : f.call(null,G__48301,G__48302,G__48303,G__48304,G__48305,G__48306,G__48307,G__48308,G__48309,G__48310,G__48311,G__48312,G__48313,G__48314,G__48315,G__48316,G__48317,G__48318,G__48319));\n}catch (e48298){if((e48298 instanceof Error)){\nvar e__46442__auto__ \x3d e48298;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46442__auto__,this$);\n} else {\nthrow e48298;\n\n}\n}}),stack);\n}\n\nbreak;\ndefault:\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\nreturn sci.impl.evaluator.fn_call(ctx,bindings,(wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f)),analyzed_children);\n}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\nreturn sci.impl.evaluator.fn_call(ctx,bindings,f,analyzed_children);\n}),stack);\n}\n\n}\n})();\nvar tag__46444__auto__ \x3d new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(expr));\nvar G__48325 \x3d node__46443__auto__;\nif(cljs.core.truth_(tag__46444__auto__)){\nreturn cljs.core.with_meta(G__48325,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),tag__46444__auto__], null));\n} else {\nreturn G__48325;\n}\n});\nsci.impl.analyzer.analyze_quote \x3d (function sci$impl$analyzer$analyze_quote(_ctx,expr){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(expr))){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Wrong number of args (0) passed to quote\x22,expr);\n}\n\nvar snd \x3d cljs.core.second(expr);\nreturn sci.impl.types.__GT_constant(snd);\n});\nsci.impl.analyzer.analyze_import \x3d (function sci$impl$analyzer$analyze_import(_ctx,expr){\nvar args \x3d cljs.core.rest(expr);\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.evaluator.eval_import,ctx,args);\n}catch (e48336){if((e48336 instanceof Error)){\nvar e \x3d e48336;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e,this$);\n} else {\nthrow e48336;\n\n}\n}}),stack);\n});\nsci.impl.analyzer.dispatch_special \x3d (function sci$impl$analyzer$dispatch_special(ctx,expr,f){\nvar G__48345 \x3d f;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),G__48345)){\nreturn sci.impl.analyzer.expand_dot_STAR__STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),G__48345)){\nreturn sci.impl.analyzer.return_and(ctx,expr,cljs.core.rest(expr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22import\x22,\x22import\x22,241030818,null),G__48345)){\nreturn sci.impl.analyzer.analyze_import(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),G__48345)){\nreturn sci.impl.analyzer.analyze_case_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),G__48345)){\nreturn sci.impl.analyzer.analyze_fn_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),G__48345)){\nreturn sci.impl.analyzer.return_if(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),G__48345)){\nreturn sci.impl.analyzer.analyze_loop_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),G__48345)){\nreturn sci.impl.analyzer.return_do(ctx,expr,cljs.core.rest(expr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22expand-constructor\x22,\x22expand-constructor\x22,-343741576,null),G__48345)){\nreturn sci.impl.analyzer.expand_constructor(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),G__48345)){\nreturn sci.impl.analyzer.analyze_def(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),G__48345)){\nreturn sci.impl.analyzer.analyze_quote(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),G__48345)){\nreturn sci.impl.analyzer.analyze_let_STAR_(ctx,expr,cljs.core.second(expr),cljs.core.nnext(expr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22expand-dot*\x22,\x22expand-dot*\x22,-1946890561,null),G__48345)){\nreturn sci.impl.analyzer.expand_dot_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),G__48345)){\nreturn sci.impl.analyzer.analyze_ns_form(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),G__48345)){\nreturn sci.impl.analyzer.analyze_case_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),G__48345)){\nreturn sci.impl.analyzer.analyze_set_BANG_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),G__48345)){\nreturn sci.impl.analyzer.return_recur(ctx,expr,sci.impl.analyzer.analyze_children(sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.rest(expr)));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),G__48345)){\nreturn sci.impl.analyzer.analyze_new(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),G__48345)){\nreturn sci.impl.analyzer.analyze_var(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),G__48345)){\nreturn sci.impl.analyzer.analyze_lazy_seq(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),G__48345)){\nreturn sci.impl.analyzer.analyze_throw(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),G__48345)){\nreturn sci.impl.analyzer.analyze_try(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),G__48345)){\nreturn sci.impl.analyzer.return_or(ctx,expr,cljs.core.rest(expr));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__48345)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nsci.impl.analyzer.analyze_call \x3d (function sci$impl$analyzer$analyze_call(ctx,expr,m,top_level_QMARK_){\nvar m__46658__auto__ \x3d m;\nvar loc__46659__auto__ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d top_level_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d m__46658__auto__;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(m__46658__auto__);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(m__46658__auto__),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(m__46658__auto__)], null):null);\nif(cljs.core.truth_(loc__46659__auto__)){\n(sci.impl.utils._STAR_top_level_location_STAR_ \x3d loc__46659__auto__);\n} else {\n}\n\ntry{try{var f \x3d cljs.core.first(expr);\nif((f instanceof cljs.core.Symbol)){\nvar fsym \x3d f;\nvar special_sym \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(sci.impl.utils.special_syms,f);\nvar _ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d special_sym;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22check-permissions\x22,\x22check-permissions\x22,669054317).cljs$core$IFn$_invoke$arity$1(ctx);\n} else {\nreturn and__5023__auto__;\n}\n})())?sci.impl.resolve.check_permission_BANG_(ctx,f,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [special_sym,null], null)):null);\nvar f__$1 \x3d (function (){var or__5025__auto__ \x3d special_sym;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3(ctx,f,true);\n}\n})();\nvar f_meta \x3d cljs.core.meta(f__$1);\nvar eval_QMARK_ \x3d (function (){var and__5023__auto__ \x3d f_meta;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978).cljs$core$IFn$_invoke$arity$1(f_meta);\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar fast_path \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676).cljs$core$IFn$_invoke$arity$1(f_meta);\nvar f__$2 \x3d (function (){var or__5025__auto__ \x3d fast_path;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn f__$1;\n}\n})();\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d f_meta;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22static-access\x22,\x22sci.impl.analyzer/static-access\x22,-79014000).cljs$core$IFn$_invoke$arity$1(f_meta);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar vec__48374 \x3d f__$2;\nvar class$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__48374,(0),null);\nvar method_path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__48374,(1),null);\nvar last_path \x3d cljs.core.last(method_path);\nvar ctor_QMARK_ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x22,last_path);\nvar method_len \x3d cljs.core.count(method_path);\nvar subpath \x3d method_path.slice((0),(method_len - (1)));\nvar lookup_fn \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),method_len))?cljs.core.constantly([class$,last_path]):(function (){\nreturn [sci.impl.interop.get_static_fields(class$,subpath),last_path];\n}));\nvar vec__48377 \x3d (function (){try{return lookup_fn();\n}catch (e48382){var ___$1 \x3d e48382;\nreturn null;\n}})();\nvar class$__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__48377,(0),null);\nvar method_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__48377,(1),null);\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nvar children__$1 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(children);\nif(cljs.core.truth_(class$__$1)){\nif(ctor_QMARK_){\nvar ctor \x3d class$__$1;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$1,bindings,ctor,children__$1);\n}),null);\n} else {\nif((class$__$1 instanceof sci.impl.types.NodeR)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar class$__$2 \x3d sci.impl.types.eval(class$__$1,ctx__$1,bindings);\nvar method \x3d (class$__$2[method_name]);\nreturn sci.impl.interop.invoke_static_method(ctx__$1,bindings,class$__$2,method,children__$1);\n}),null);\n} else {\nvar method \x3d (class$__$1[method_name]);\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\ntry{return sci.impl.interop.invoke_static_method(ctx__$1,bindings,class$__$1,method,children__$1);\n}catch (e48383){var e \x3d e48383;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3(ctx__$1,e,this$);\n}}),stack);\n}\n}\n} else {\nif(ctor_QMARK_){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar arr \x3d lookup_fn();\nvar ctor \x3d (arr[(0)]);\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$1,bindings,ctor,children__$1);\n}),null);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar arr \x3d lookup_fn();\nvar class$__$2 \x3d (arr[(0)]);\nvar method_name__$1 \x3d (arr[(1)]);\nvar method \x3d (class$__$2[method_name__$1]);\nreturn sci.impl.interop.invoke_static_method(ctx__$1,bindings,class$__$2,method,children__$1);\n}),null);\n}\n}\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(eval_QMARK_);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (f__$2 instanceof cljs.core.Symbol);\nif(and__5023__auto____$1){\nvar or__5025__auto__ \x3d special_sym;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.contains_QMARK_(sci.impl.utils.ana_macros,f__$2);\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn sci.impl.analyzer.dispatch_special(ctx,expr,f__$2);\n} else {\ntry{if(cljs.core.truth_(sci.impl.utils.macro_QMARK_(f__$2))){\nvar f__$3 \x3d ((sci.impl.utils.var_QMARK_(f__$2))?cljs.core.deref(f__$2):f__$2);\nvar f__$4 \x3d (function (){var or__5025__auto__ \x3d f__$3.afn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn f__$3;\n}\n})();\nvar v \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f__$4,expr,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.rest(expr));\nvar v__$1 \x3d ((cljs.core.seq_QMARK_(v))?cljs.core.with_meta(v,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m,cljs.core.meta(v)], 0))):v);\nvar expanded \x3d (cljs.core.truth_(new cljs.core.Keyword(\x22sci.impl\x22,\x22macroexpanding\x22,\x22sci.impl/macroexpanding\x22,2113471825).cljs$core$IFn$_invoke$arity$1(ctx))?v__$1:(cljs.core.truth_((function (){var and__5023__auto__ \x3d top_level_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((cljs.core.seq_QMARK_(v__$1)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),cljs.core.first(v__$1))));\n} else {\nreturn and__5023__auto__;\n}\n})())?sci.impl.types.__GT_EvalForm(v__$1):(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3(ctx,v__$1,top_level_QMARK_) : sci.impl.analyzer.analyze.call(null,ctx,v__$1,top_level_QMARK_))\n));\nreturn expanded;\n} else {\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22inlined\x22,\x22sci.impl/inlined\x22,-478453593).cljs$core$IFn$_invoke$arity$1(f_meta);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f__$3 \x3d temp__5802__auto__;\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$3,sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr)),cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)),null);\n} else {\nvar temp__5802__auto____$1 \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(f__$2));\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar op \x3d temp__5802__auto____$1;\nvar G__48392 \x3d op;\nvar G__48392__$1 \x3d (((G__48392 instanceof cljs.core.Keyword))?G__48392.fqn:null);\nswitch (G__48392__$1) {\ncase \x22resolve-sym\x22:\nreturn sci.impl.analyzer.return_binding_call(ctx,expr,new cljs.core.Keyword(\x22sci.impl\x22,\x22idx\x22,\x22sci.impl/idx\x22,700902278).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(f__$2)),f__$2,sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr)),cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)));\n\nbreak;\ndefault:\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$2,children,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)),null);\n\n}\n} else {\nvar self_ref_QMARK_ \x3d new cljs.core.Keyword(null,\x22self-ref?\x22,\x22self-ref?\x22,412808630).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d self_ref_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (self_ref_QMARK_.cljs$core$IFn$_invoke$arity$1 ? self_ref_QMARK_.cljs$core$IFn$_invoke$arity$1(f__$2) : self_ref_QMARK_.call(null,f__$2));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$2,children,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)),(function (___$1,bindings,___$2){\nreturn cljs.core.deref(bindings.get(fsym));\n}));\n} else {\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$2,children,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)),((sci.impl.utils.var_QMARK_(f__$2))?(function (___$1,___$2,v){\nreturn cljs.core.deref(v);\n}):null));\n}\n}\n}\n}\n}catch (e48391){if((e48391 instanceof Error)){\nvar e \x3d e48391;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3(ctx,e,(function (){var stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn null;\n}),stack);\n})());\n} else {\nthrow e48391;\n\n}\n}\n}\n}\n} else {\nif((f instanceof cljs.core.Keyword)){\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nvar ccount \x3d cljs.core.count(children);\nvar G__48398 \x3d ccount;\nswitch (G__48398) {\ncase (1):\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn f.cljs$core$IFn$_invoke$arity$1(sci.impl.types.eval(arg,ctx__$1,bindings));\n}),null);\n\nbreak;\ncase (2):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(1));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn f.cljs$core$IFn$_invoke$arity$2(sci.impl.types.eval(arg0,ctx__$1,bindings),sci.impl.types.eval(arg1,ctx__$1,bindings));\n}),null);\n\nbreak;\ndefault:\nreturn sci.impl.analyzer.throw_error_with_location([\x22Wrong number of args (\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ccount),\x22) passed to: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join(\x27\x27),expr);\n\n}\n} else {\nvar f__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,f) : sci.impl.analyzer.analyze.call(null,ctx,f));\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$1,children,stack,((sci.impl.utils.var_QMARK_(f__$1))?(function (ctx__$1,bindings,f__$2){\nreturn sci.impl.types.eval(cljs.core.deref(f__$2),ctx__$1,bindings);\n}):(function (ctx__$1,bindings,f__$2){\nreturn sci.impl.types.eval(f__$2,ctx__$1,bindings);\n})));\n\n}\n}\n}catch (e48368){var e \x3d e48368;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3(ctx,e,sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn null;\n}),sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$1(m)));\n}}finally {if(cljs.core.truth_(loc__46659__auto__)){\n(sci.impl.utils._STAR_top_level_location_STAR_ \x3d null);\n} else {\n}\n}});\nsci.impl.analyzer.map_fn \x3d (function sci$impl$analyzer$map_fn(children_count){\nif((children_count \x3c\x3d (16))){\nreturn (function() { \nvar G__49012__delegate \x3d function (rest__48406_SHARP_){\nreturn cljs.core.PersistentArrayMap.createWithCheck(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(rest__48406_SHARP_));\n};\nvar G__49012 \x3d function (var_args){\nvar rest__48406_SHARP_ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__49013__i \x3d 0, G__49013__a \x3d new Array(arguments.length -  0);\nwhile (G__49013__i \x3c G__49013__a.length) {G__49013__a[G__49013__i] \x3d arguments[G__49013__i + 0]; ++G__49013__i;}\n  rest__48406_SHARP_ \x3d new cljs.core.IndexedSeq(G__49013__a,0,null);\n} \nreturn G__49012__delegate.call(this,rest__48406_SHARP_);};\nG__49012.cljs$lang$maxFixedArity \x3d 0;\nG__49012.cljs$lang$applyTo \x3d (function (arglist__49014){\nvar rest__48406_SHARP_ \x3d cljs.core.seq(arglist__49014);\nreturn G__49012__delegate(rest__48406_SHARP_);\n});\nG__49012.cljs$core$IFn$_invoke$arity$variadic \x3d G__49012__delegate;\nreturn G__49012;\n})()\n;\n} else {\nreturn (function() { \nvar G__49015__delegate \x3d function (rest__48408_SHARP_){\nreturn cljs.core.PersistentHashMap.createWithCheck(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(rest__48408_SHARP_));\n};\nvar G__49015 \x3d function (var_args){\nvar rest__48408_SHARP_ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__49016__i \x3d 0, G__49016__a \x3d new Array(arguments.length -  0);\nwhile (G__49016__i \x3c G__49016__a.length) {G__49016__a[G__49016__i] \x3d arguments[G__49016__i + 0]; ++G__49016__i;}\n  rest__48408_SHARP_ \x3d new cljs.core.IndexedSeq(G__49016__a,0,null);\n} \nreturn G__49015__delegate.call(this,rest__48408_SHARP_);};\nG__49015.cljs$lang$maxFixedArity \x3d 0;\nG__49015.cljs$lang$applyTo \x3d (function (arglist__49017){\nvar rest__48408_SHARP_ \x3d cljs.core.seq(arglist__49017);\nreturn G__49015__delegate(rest__48408_SHARP_);\n});\nG__49015.cljs$core$IFn$_invoke$arity$variadic \x3d G__49015__delegate;\nreturn G__49015;\n})()\n;\n}\n});\nsci.impl.analyzer.return_map \x3d (function sci$impl$analyzer$return_map(ctx,the_map,analyzed_children){\nvar mf \x3d sci.impl.analyzer.map_fn(cljs.core.count(analyzed_children));\nsci.impl.analyzer.return_call(ctx,the_map,mf,analyzed_children,null,null);\n\nreturn sci.impl.analyzer.return_call(ctx,the_map,mf,analyzed_children,null,null);\n});\nsci.impl.analyzer.constant_node_QMARK_ \x3d (function sci$impl$analyzer$constant_node_QMARK_(x){\nreturn (!((x instanceof sci.impl.types.NodeR)));\n});\nsci.impl.analyzer.analyze_map \x3d (function sci$impl$analyzer$analyze_map(ctx,expr,m){\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar children \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.cat,expr);\nvar analyzed_children \x3d sci.impl.analyzer.analyze_children(ctx__$1,children);\nvar const_QMARK_ \x3d cljs.core.every_QMARK_(sci.impl.analyzer.constant_node_QMARK_,analyzed_children);\nvar same_QMARK_ \x3d ((const_QMARK_)?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(children,analyzed_children):null);\nvar const_val \x3d ((const_QMARK_)?(cljs.core.truth_(same_QMARK_)?expr:(function (){var mf \x3d sci.impl.analyzer.map_fn(cljs.core.count(analyzed_children));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(mf,analyzed_children);\n})()):null);\nvar analyzed_map \x3d ((const_QMARK_)?sci.impl.types.__GT_constant(const_val):sci.impl.analyzer.return_map(ctx__$1,expr,analyzed_children));\nvar analyzed_meta \x3d (cljs.core.truth_(m)?(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,m) : sci.impl.analyzer.analyze.call(null,ctx__$1,m)):null);\nvar ret \x3d (cljs.core.truth_(analyzed_meta)?sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nvar coll \x3d sci.impl.types.eval(analyzed_map,ctx__$2,bindings);\nvar md \x3d sci.impl.types.eval(analyzed_meta,ctx__$2,bindings);\nreturn cljs.core.with_meta(coll,md);\n}),null):analyzed_map);\nreturn ret;\n});\n/**\n * Returns analyzed vector or set\n */\nsci.impl.analyzer.analyze_vec_or_set \x3d (function sci$impl$analyzer$analyze_vec_or_set(ctx,f1,f2,expr,m){\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar analyzed_meta \x3d (cljs.core.truth_(m)?(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,m) : sci.impl.analyzer.analyze.call(null,ctx__$1,m)):null);\nvar analyzed_children \x3d sci.impl.analyzer.analyze_children(ctx__$1,expr);\nvar const_QMARK_ \x3d cljs.core.every_QMARK_(sci.impl.analyzer.constant_node_QMARK_,analyzed_children);\nvar set_expr_QMARK_ \x3d cljs.core.set_QMARK_(expr);\nvar same_QMARK_ \x3d ((const_QMARK_) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(((set_expr_QMARK_)?(function (){var or__5025__auto__ \x3d cljs.core.seq(expr);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})():expr),analyzed_children)));\nvar const_val \x3d ((const_QMARK_)?((same_QMARK_)?((cljs.core.empty_QMARK_(expr))?((set_expr_QMARK_)?cljs.core.PersistentHashSet.EMPTY:cljs.core.PersistentVector.EMPTY):expr):(f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(analyzed_children) : f1.call(null,analyzed_children))):null);\nvar analyzed_coll \x3d ((const_QMARK_)?sci.impl.types.__GT_constant(const_val):sci.impl.analyzer.return_call(ctx__$1,expr,f2,analyzed_children,null,null));\nvar ret \x3d (cljs.core.truth_(analyzed_meta)?sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nvar coll \x3d sci.impl.types.eval(analyzed_coll,ctx__$2,bindings);\nvar md \x3d sci.impl.types.eval(analyzed_meta,ctx__$2,bindings);\nreturn cljs.core.with_meta(coll,md);\n}),null):analyzed_coll);\nreturn ret;\n});\nsci.impl.analyzer.analyze_js_obj \x3d (function sci$impl$analyzer$analyze_js_obj(ctx,js_val){\nvar v \x3d js_val.val;\nif(cljs.core.map_QMARK_(v)){\nvar ks \x3d cljs.core.keys(v);\nvar ks__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.name,ks);\nvar vs \x3d cljs.core.vals(v);\nvar vs__$1 \x3d sci.impl.analyzer.analyze_children(ctx,vs);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.js_obj,cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(ks__$1,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__48428_SHARP_){\nreturn sci.impl.types.eval(p1__48428_SHARP_,ctx__$1,bindings);\n}),vs__$1)));\n}),null);\n} else {\nvar vs \x3d sci.impl.analyzer.analyze_children(ctx,v);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar arr \x3d [];\ncljs.core.run_BANG_((function (p1__48429_SHARP_){\nreturn arr.push(sci.impl.types.eval(p1__48429_SHARP_,ctx__$1,bindings));\n}),vs);\n\nreturn arr;\n}),null);\n}\n});\nsci.impl.analyzer.analyze \x3d (function sci$impl$analyzer$analyze(var_args){\nvar G__48441 \x3d arguments.length;\nswitch (G__48441) {\ncase 2:\nreturn sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,expr){\nreturn sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3(ctx,expr,false);\n}));\n\n(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,expr,top_level_QMARK_){\nvar m \x3d cljs.core.meta(expr);\nif(sci.impl.utils.constant_QMARK_(expr)){\nreturn sci.impl.types.__GT_constant(expr);\n} else {\nif((expr instanceof cljs.core.Symbol)){\nvar v \x3d sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,expr,false,m);\nvar mv \x3d cljs.core.meta(v);\nif(sci.impl.utils.constant_QMARK_(v)){\nreturn sci.impl.types.__GT_constant(v);\n} else {\nif(sci.impl.utils.var_QMARK_(v)){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22const\x22,\x22const\x22,1709929842).cljs$core$IFn$_invoke$arity$1(mv))){\nreturn cljs.core.deref(v);\n} else {\nif(cljs.core.truth_(sci.impl.vars.isMacro(v))){\nthrow (new Error([\x22Can\x27t take value of a macro: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),\x22\x22].join(\x27\x27)));\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn cljs.core._deref(v);\n}),null);\n}\n}\n} else {\nreturn v;\n\n}\n}\n} else {\nif(cljs.core.record_QMARK_(expr)){\nreturn expr;\n} else {\nif(cljs.core.map_QMARK_(expr)){\nreturn sci.impl.analyzer.analyze_map(ctx,expr,m);\n} else {\nif((expr instanceof cljs.tagged_literals.JSValue)){\nreturn sci.impl.analyzer.analyze_js_obj(ctx,expr);\n} else {\nif(cljs.core.vector_QMARK_(expr)){\nreturn sci.impl.analyzer.analyze_vec_or_set(ctx,cljs.core.identity,cljs.core.vector,expr,m);\n} else {\nif(cljs.core.set_QMARK_(expr)){\nreturn sci.impl.analyzer.analyze_vec_or_set(ctx,cljs.core.set,(function() { \nvar G__49023__delegate \x3d function (rest__48437_SHARP_){\nreturn cljs.core.PersistentHashSet.createWithCheck(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(rest__48437_SHARP_));\n};\nvar G__49023 \x3d function (var_args){\nvar rest__48437_SHARP_ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__49024__i \x3d 0, G__49024__a \x3d new Array(arguments.length -  0);\nwhile (G__49024__i \x3c G__49024__a.length) {G__49024__a[G__49024__i] \x3d arguments[G__49024__i + 0]; ++G__49024__i;}\n  rest__48437_SHARP_ \x3d new cljs.core.IndexedSeq(G__49024__a,0,null);\n} \nreturn G__49023__delegate.call(this,rest__48437_SHARP_);};\nG__49023.cljs$lang$maxFixedArity \x3d 0;\nG__49023.cljs$lang$applyTo \x3d (function (arglist__49025){\nvar rest__48437_SHARP_ \x3d cljs.core.seq(arglist__49025);\nreturn G__49023__delegate(rest__48437_SHARP_);\n});\nG__49023.cljs$core$IFn$_invoke$arity$variadic \x3d G__49023__delegate;\nreturn G__49023;\n})()\n,expr,m);\n} else {\nif(cljs.core.seq_QMARK_(expr)){\nif(cljs.core.seq(expr)){\nreturn sci.impl.analyzer.analyze_call(ctx,expr,m,top_level_QMARK_);\n} else {\nreturn expr;\n}\n} else {\nreturn expr;\n\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(sci.impl.analyzer.analyze.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.vreset_BANG_(sci.impl.utils.analyze,sci.impl.analyzer.analyze);\n");
SHADOW_ENV.evalLoad("sci.impl.cljs.js", true, "goog.provide(\x27sci.impl.cljs\x27);\n");
SHADOW_ENV.evalLoad("sci.impl.copy_vars.js", true, "goog.provide(\x27sci.impl.copy_vars\x27);\nsci.impl.copy_vars.inlined_vars \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 89, [new cljs.core.Symbol(null,\x22+\x27\x22,\x22+\x27\x22,1839585344,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-remainder-int\x22,\x22unchecked-remainder-int\x22,1427188224,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-subtract-int\x22,\x22unchecked-subtract-int\x22,-1899147615,null),\x22null\x22,new cljs.core.Symbol(null,\x22dec\x27\x22,\x22dec\x27\x22,1382902561,null),\x22null\x22,new cljs.core.Symbol(null,\x22short-array\x22,\x22short-array\x22,-395185918,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-shift-right\x22,\x22bit-shift-right\x22,884046498,null),\x22null\x22,new cljs.core.Symbol(null,\x22aget\x22,\x22aget\x22,1491056546,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3d\x22,\x22\x3d\x22,-1501502141,null),\x22null\x22,new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-shift-left\x22,\x22bit-shift-left\x22,-1814765981,null),\x22null\x22,new cljs.core.Symbol(null,\x22aclone\x22,\x22aclone\x22,722978531,null),\x22null\x22,new cljs.core.Symbol(null,\x22dec\x22,\x22dec\x22,-766002333,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3c\x22,\x22\x3c\x22,993667236,null),\x22null\x22,new cljs.core.Symbol(null,\x22char\x22,\x22char\x22,998943941,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-long\x22,\x22unchecked-long\x22,1306610949,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-negate\x22,\x22unchecked-negate\x22,-1669067451,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-inc-int\x22,\x22unchecked-inc-int\x22,1402783397,null),\x22null\x22,new cljs.core.Symbol(null,\x22floats\x22,\x22floats\x22,513591110,null),\x22null\x22,new cljs.core.Symbol(null,\x22pos?\x22,\x22pos?\x22,-244377722,null),\x22null\x22,new cljs.core.Symbol(null,\x22boolean-array\x22,\x22boolean-array\x22,-640353913,null),\x22null\x22,new cljs.core.Symbol(null,\x22alength\x22,\x22alength\x22,-1268305401,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-xor\x22,\x22bit-xor\x22,-1334295033,null),\x22null\x22,new cljs.core.Symbol(null,\x22unsigned-bit-shift-right\x22,\x22unsigned-bit-shift-right\x22,-1953076601,null),\x22null\x22,new cljs.core.Symbol(null,\x22neg?\x22,\x22neg?\x22,-1902175577,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-float\x22,\x22unchecked-float\x22,1485658216,null),\x22null\x22,new cljs.core.Symbol(null,\x22num\x22,\x22num\x22,-669195096,null),\x22null\x22,new cljs.core.Symbol(null,\x22reduced?\x22,\x22reduced?\x22,1361797384,null),\x22null\x22,new cljs.core.Symbol(null,\x22booleans\x22,\x22booleans\x22,756846088,null),\x22null\x22,new cljs.core.Symbol(null,\x22int-array\x22,\x22int-array\x22,459176616,null),\x22null\x22,new cljs.core.Symbol(null,\x22inc\x27\x22,\x22inc\x27\x22,1740049128,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3c\x3d\x22,\x22\x3c\x3d\x22,1244895369,null),\x22null\x22,new cljs.core.Symbol(null,\x22-\x27\x22,\x22-\x27\x22,1770549449,null),\x22null\x22,new cljs.core.Symbol(null,\x22*\x22,\x22*\x22,345799209,null),\x22null\x22,new cljs.core.Symbol(null,\x22min\x22,\x22min\x22,2085523049,null),\x22null\x22,new cljs.core.Symbol(null,\x22get\x22,\x22get\x22,-971253014,null),\x22null\x22,new cljs.core.Symbol(null,\x22long\x22,\x22long\x22,1469079434,null),\x22null\x22,new cljs.core.Symbol(null,\x22double\x22,\x22double\x22,-1769548886,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-and-not\x22,\x22bit-and-not\x22,-254338837,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-add-int\x22,\x22unchecked-add-int\x22,-1821763285,null),\x22null\x22,new cljs.core.Symbol(null,\x22short\x22,\x22short\x22,-725675253,null),\x22null\x22,new cljs.core.Symbol(null,\x22quot\x22,\x22quot\x22,-1125214196,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-double\x22,\x22unchecked-double\x22,-1593778036,null),\x22null\x22,new cljs.core.Symbol(null,\x22longs\x22,\x22longs\x22,-1017696020,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-multiply-int\x22,\x22unchecked-multiply-int\x22,-788546068,null),\x22null\x22,new cljs.core.Symbol(null,\x22int\x22,\x22int\x22,-100885395,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3e\x22,\x22\x3e\x22,1085014381,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-int\x22,\x22unchecked-int\x22,1672898125,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-multiply\x22,\x22unchecked-multiply\x22,-1019161490,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-dec\x22,\x22unchecked-dec\x22,2095823150,null),\x22null\x22,new cljs.core.Symbol(null,\x22double-array\x22,\x22double-array\x22,257035726,null),\x22null\x22,new cljs.core.Symbol(null,\x22float\x22,\x22float\x22,-91857841,null),\x22null\x22,new cljs.core.Symbol(null,\x22-\x22,\x22-\x22,-471816912,null),\x22null\x22,new cljs.core.Symbol(null,\x22byte-array\x22,\x22byte-array\x22,2009690064,null),\x22null\x22,new cljs.core.Symbol(null,\x22zero?\x22,\x22zero?\x22,325758897,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-dec-int\x22,\x22unchecked-dec-int\x22,1339067442,null),\x22null\x22,new cljs.core.Symbol(null,\x22rem\x22,\x22rem\x22,664046770,null),\x22null\x22,new cljs.core.Symbol(null,\x22nth\x22,\x22nth\x22,1529209554,null),\x22null\x22,new cljs.core.Symbol(null,\x22nil?\x22,\x22nil?\x22,1612038930,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-and\x22,\x22bit-and\x22,-479352589,null),\x22null\x22,new cljs.core.Symbol(null,\x22*\x27\x22,\x22*\x27\x22,-1403126253,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-add\x22,\x22unchecked-add\x22,-2030665965,null),\x22null\x22,new cljs.core.Symbol(null,\x22identical?\x22,\x22identical?\x22,-745864205,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-divide-int\x22,\x22unchecked-divide-int\x22,1613116468,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-subtract\x22,\x22unchecked-subtract\x22,-2137458667,null),\x22null\x22,new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-or\x22,\x22bit-or\x22,-1144943723,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3e\x3d\x22,\x22\x3e\x3d\x22,1016916022,null),\x22null\x22,new cljs.core.Symbol(null,\x22long-array\x22,\x22long-array\x22,217579190,null),\x22null\x22,new cljs.core.Symbol(null,\x22object-array\x22,\x22object-array\x22,206434647,null),\x22null\x22,new cljs.core.Symbol(null,\x22doubles\x22,\x22doubles\x22,-1517872169,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-byte\x22,\x22unchecked-byte\x22,1091664664,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-short\x22,\x22unchecked-short\x22,27848057,null),\x22null\x22,new cljs.core.Symbol(null,\x22float-array\x22,\x22float-array\x22,2043038265,null),\x22null\x22,new cljs.core.Symbol(null,\x22inc\x22,\x22inc\x22,324505433,null),\x22null\x22,new cljs.core.Symbol(null,\x22+\x22,\x22+\x22,-740910886,null),\x22null\x22,new cljs.core.Symbol(null,\x22chars\x22,\x22chars\x22,545901210,null),\x22null\x22,new cljs.core.Symbol(null,\x22ints\x22,\x22ints\x22,-1761239845,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-not\x22,\x22bit-not\x22,1508529851,null),\x22null\x22,new cljs.core.Symbol(null,\x22byte\x22,\x22byte\x22,-1970660549,null),\x22null\x22,new cljs.core.Symbol(null,\x22max\x22,\x22max\x22,1701898075,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3d\x3d\x22,\x22\x3d\x3d\x22,-234118149,null),\x22null\x22,new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),\x22null\x22,new cljs.core.Symbol(null,\x22char-array\x22,\x22char-array\x22,1338149341,null),\x22null\x22,new cljs.core.Symbol(null,\x22compare\x22,\x22compare\x22,1109853757,null),\x22null\x22,new cljs.core.Symbol(null,\x22shorts\x22,\x22shorts\x22,107738238,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-negate-int\x22,\x22unchecked-negate-int\x22,-825297602,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-inc\x22,\x22unchecked-inc\x22,-1170131490,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-char\x22,\x22unchecked-char\x22,1662742943,null),\x22null\x22,new cljs.core.Symbol(null,\x22bytes\x22,\x22bytes\x22,-1478569089,null),\x22null\x22], null), null);\nsci.impl.copy_vars.cljs_resolve \x3d (((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.analyzer !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.analyzer.api !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.analyzer.api.resolve !\x3d\x3d \x27undefined\x27))?(new cljs.core.Var((function (){\nreturn cljs.analyzer.api.resolve;\n}),cljs.core.with_meta(new cljs.core.Symbol(\x22cljs.analyzer.api\x22,\x22resolve\x22,\x22cljs.analyzer.api/resolve\x22,498213843,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)),null)):null);\nsci.impl.copy_vars.elide_vars \x3d false;\nsci.impl.copy_vars.macrofy_STAR_ \x3d (function sci$impl$copy_vars$macrofy_STAR_(var_args){\nvar G__43170 \x3d arguments.length;\nswitch (G__43170) {\ncase 1:\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(f,(function (p1__43168_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__43168_SHARP_,new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),true);\n}));\n}));\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,f){\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(sym,f,null,false);\n}));\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (sym,f,ns){\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(sym,f,ns,null);\n}));\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (sym,f,ns,extra_meta){\nvar ns__$1 \x3d (function (){var or__5025__auto__ \x3d ns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.utils.clojure_core_ns;\n}\n})();\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(sym,f,(function (){var G__43210 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__$1,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (!(sci.impl.copy_vars.elide_vars));\nif(and__5023__auto__){\nreturn extra_meta;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__43210,extra_meta], 0));\n} else {\nreturn G__43210;\n}\n})());\n}));\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$lang$maxFixedArity \x3d 4);\n\nsci.impl.copy_vars.new_var \x3d (function sci$impl$copy_vars$new_var(var_args){\nvar G__43235 \x3d arguments.length;\nswitch (G__43235) {\ncase 2:\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,f){\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$4(sym,f,null,null);\n}));\n\n(sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (sym,f,ns){\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$4(sym,f,ns,null);\n}));\n\n(sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$4 \x3d (function (sym,f,ns,extra_meta){\nvar ns__$1 \x3d ((ns \x3d\x3d\x3d true)?sci.impl.utils.clojure_core_ns:(function (){var or__5025__auto__ \x3d ns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.utils.clojure_core_ns;\n}\n})());\nif((((!(cljs.core.boolean_QMARK_(ns__$1)))) \x26\x26 ((ns__$1 instanceof sci.lang.Namespace)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22\\n\x22,\x22(and (not (boolean? ns)) (instance? sci.lang.Namespace ns))\x22].join(\x27\x27)));\n}\n\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(sym,f,(function (){var G__43270 \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__$1,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (!(sci.impl.copy_vars.elide_vars));\nif(and__5023__auto__){\nreturn extra_meta;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__43270,extra_meta], 0));\n} else {\nreturn G__43270;\n}\n})());\n}));\n\n(sci.impl.copy_vars.new_var.cljs$lang$maxFixedArity \x3d 4);\n\n");
SHADOW_ENV.evalLoad("sci.impl.core_protocols.js", true, "goog.provide(\x27sci.impl.core_protocols\x27);\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols._deref !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.core_protocols._deref \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__43117 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__43117.cljs$core$IFn$_invoke$arity$0 ? fexpr__43117.cljs$core$IFn$_invoke$arity$0() : fexpr__43117.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.core-protocols\x22,\x22-deref\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nsci.impl.core_protocols._deref.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396),(function (ref){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43132 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-deref\x22,\x22-deref\x22,-283116853,null));\nreturn (fexpr__43132.cljs$core$IFn$_invoke$arity$1 ? fexpr__43132.cljs$core$IFn$_invoke$arity$1(ref) : fexpr__43132.call(null,ref));\n}));\nsci.impl.core_protocols.ideref_default \x3d sci.impl.core_protocols._deref.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (ref){\nreturn cljs.core.deref(ref);\n}));\nsci.impl.core_protocols.deref_STAR_ \x3d (function sci$impl$core_protocols$deref_STAR_(x){\nif((function (){var or__5025__auto__ \x3d (x instanceof cljs.core.Atom);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IDeref$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nreturn cljs.core.deref(x);\n} else {\nreturn sci.impl.core_protocols._deref.cljs$core$IFn$_invoke$arity$1(x);\n}\n});\nsci.impl.core_protocols.cljs_core_ns \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),null);\nsci.impl.core_protocols.deref_protocol \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22cljs.core.IDeref\x22,\x22cljs.core.IDeref\x22,-783543206,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),cljs.core.IDeref,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),cljs.core.PersistentHashSet.createAsIfByAssoc([sci.impl.core_protocols._deref]),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null));\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols._swap_BANG_ !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.core_protocols._swap_BANG_ \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__43191 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__43191.cljs$core$IFn$_invoke$arity$0 ? fexpr__43191.cljs$core$IFn$_invoke$arity$0() : fexpr__43191.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.core-protocols\x22,\x22-swap!\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols._reset_BANG_ !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.core_protocols._reset_BANG_ \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__43211 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__43211.cljs$core$IFn$_invoke$arity$0 ? fexpr__43211.cljs$core$IFn$_invoke$arity$0() : fexpr__43211.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.core-protocols\x22,\x22-reset!\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nsci.impl.core_protocols._swap_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396),(function() {\nvar G__43308 \x3d null;\nvar G__43308__2 \x3d (function (ref,f){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43236 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null));\nreturn (fexpr__43236.cljs$core$IFn$_invoke$arity$2 ? fexpr__43236.cljs$core$IFn$_invoke$arity$2(ref,f) : fexpr__43236.call(null,ref,f));\n});\nvar G__43308__3 \x3d (function (ref,f,a1){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43257 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null));\nreturn (fexpr__43257.cljs$core$IFn$_invoke$arity$3 ? fexpr__43257.cljs$core$IFn$_invoke$arity$3(ref,f,a1) : fexpr__43257.call(null,ref,f,a1));\n});\nvar G__43308__4 \x3d (function (ref,f,a1,a2){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43258 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null));\nreturn (fexpr__43258.cljs$core$IFn$_invoke$arity$4 ? fexpr__43258.cljs$core$IFn$_invoke$arity$4(ref,f,a1,a2) : fexpr__43258.call(null,ref,f,a1,a2));\n});\nvar G__43308__5 \x3d (function() { \nvar G__43312__delegate \x3d function (ref,f,a1,a2,args){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null)),ref,f,a1,a2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));\n};\nvar G__43312 \x3d function (ref,f,a1,a2,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 4) {\nvar G__43318__i \x3d 0, G__43318__a \x3d new Array(arguments.length -  4);\nwhile (G__43318__i \x3c G__43318__a.length) {G__43318__a[G__43318__i] \x3d arguments[G__43318__i + 4]; ++G__43318__i;}\n  args \x3d new cljs.core.IndexedSeq(G__43318__a,0,null);\n} \nreturn G__43312__delegate.call(this,ref,f,a1,a2,args);};\nG__43312.cljs$lang$maxFixedArity \x3d 4;\nG__43312.cljs$lang$applyTo \x3d (function (arglist__43319){\nvar ref \x3d cljs.core.first(arglist__43319);\narglist__43319 \x3d cljs.core.next(arglist__43319);\nvar f \x3d cljs.core.first(arglist__43319);\narglist__43319 \x3d cljs.core.next(arglist__43319);\nvar a1 \x3d cljs.core.first(arglist__43319);\narglist__43319 \x3d cljs.core.next(arglist__43319);\nvar a2 \x3d cljs.core.first(arglist__43319);\nvar args \x3d cljs.core.rest(arglist__43319);\nreturn G__43312__delegate(ref,f,a1,a2,args);\n});\nG__43312.cljs$core$IFn$_invoke$arity$variadic \x3d G__43312__delegate;\nreturn G__43312;\n})()\n;\nG__43308 \x3d function(ref,f,a1,a2,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__43308__2.call(this,ref,f);\ncase 3:\nreturn G__43308__3.call(this,ref,f,a1);\ncase 4:\nreturn G__43308__4.call(this,ref,f,a1,a2);\ndefault:\nvar G__43320 \x3d null;\nif (arguments.length \x3e 4) {\nvar G__43321__i \x3d 0, G__43321__a \x3d new Array(arguments.length -  4);\nwhile (G__43321__i \x3c G__43321__a.length) {G__43321__a[G__43321__i] \x3d arguments[G__43321__i + 4]; ++G__43321__i;}\nG__43320 \x3d new cljs.core.IndexedSeq(G__43321__a,0,null);\n}\nreturn G__43308__5.cljs$core$IFn$_invoke$arity$variadic(ref,f,a1,a2, G__43320);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__43308.cljs$lang$maxFixedArity \x3d 4;\nG__43308.cljs$lang$applyTo \x3d G__43308__5.cljs$lang$applyTo;\nG__43308.cljs$core$IFn$_invoke$arity$2 \x3d G__43308__2;\nG__43308.cljs$core$IFn$_invoke$arity$3 \x3d G__43308__3;\nG__43308.cljs$core$IFn$_invoke$arity$4 \x3d G__43308__4;\nG__43308.cljs$core$IFn$_invoke$arity$variadic \x3d G__43308__5.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__43308;\n})()\n);\nsci.impl.core_protocols._reset_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396),(function (ref,v){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43269 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-reset!\x22,\x22-reset!\x22,1965723739,null));\nreturn (fexpr__43269.cljs$core$IFn$_invoke$arity$2 ? fexpr__43269.cljs$core$IFn$_invoke$arity$2(ref,v) : fexpr__43269.call(null,ref,v));\n}));\nsci.impl.core_protocols.iatom_defaults \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sci.impl.core_protocols._swap_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function() { \nvar G__43323__delegate \x3d function (ref,f,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,ref,f,args);\n};\nvar G__43323 \x3d function (ref,f,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 2) {\nvar G__43325__i \x3d 0, G__43325__a \x3d new Array(arguments.length -  2);\nwhile (G__43325__i \x3c G__43325__a.length) {G__43325__a[G__43325__i] \x3d arguments[G__43325__i + 2]; ++G__43325__i;}\n  args \x3d new cljs.core.IndexedSeq(G__43325__a,0,null);\n} \nreturn G__43323__delegate.call(this,ref,f,args);};\nG__43323.cljs$lang$maxFixedArity \x3d 2;\nG__43323.cljs$lang$applyTo \x3d (function (arglist__43326){\nvar ref \x3d cljs.core.first(arglist__43326);\narglist__43326 \x3d cljs.core.next(arglist__43326);\nvar f \x3d cljs.core.first(arglist__43326);\nvar args \x3d cljs.core.rest(arglist__43326);\nreturn G__43323__delegate(ref,f,args);\n});\nG__43323.cljs$core$IFn$_invoke$arity$variadic \x3d G__43323__delegate;\nreturn G__43323;\n})()\n),sci.impl.core_protocols._reset_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (ref,v){\nreturn cljs.core.reset_BANG_(ref,v);\n}))], null);\nsci.impl.core_protocols.swap_BANG__STAR_ \x3d (function sci$impl$core_protocols$swap_BANG__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43329 \x3d arguments.length;\nvar i__5750__auto___43330 \x3d (0);\nwhile(true){\nif((i__5750__auto___43330 \x3c len__5749__auto___43329)){\nargs__5755__auto__.push((arguments[i__5750__auto___43330]));\n\nvar G__43332 \x3d (i__5750__auto___43330 + (1));\ni__5750__auto___43330 \x3d G__43332;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.core_protocols.swap_BANG__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.core_protocols.swap_BANG__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ref,f,args){\nif((function (){var or__5025__auto__ \x3d (ref instanceof cljs.core.Atom);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((ref \x3d\x3d null)))){\nif((((ref.cljs$lang$protocol_mask$partition1$ \x26 (65536))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d ref.cljs$core$ISwap$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif(cljs.core.truth_(args)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,ref,f,args);\n} else {\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(ref,f);\n}\n} else {\nif(cljs.core.truth_(args)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.core_protocols._swap_BANG_,ref,f,args);\n} else {\nreturn sci.impl.core_protocols._swap_BANG_.cljs$core$IFn$_invoke$arity$2(ref,f);\n}\n}\n}));\n\n(sci.impl.core_protocols.swap_BANG__STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.core_protocols.swap_BANG__STAR_.cljs$lang$applyTo \x3d (function (seq43279){\nvar G__43281 \x3d cljs.core.first(seq43279);\nvar seq43279__$1 \x3d cljs.core.next(seq43279);\nvar G__43282 \x3d cljs.core.first(seq43279__$1);\nvar seq43279__$2 \x3d cljs.core.next(seq43279__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43281,G__43282,seq43279__$2);\n}));\n\nsci.impl.core_protocols.reset_BANG__STAR_ \x3d (function sci$impl$core_protocols$reset_BANG__STAR_(ref,v){\nif((function (){var or__5025__auto__ \x3d (ref instanceof cljs.core.Atom);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((ref \x3d\x3d null)))){\nif((((ref.cljs$lang$protocol_mask$partition1$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d ref.cljs$core$IReset$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nreturn cljs.core.reset_BANG_(ref,v);\n} else {\nreturn sci.impl.core_protocols._reset_BANG_.cljs$core$IFn$_invoke$arity$2(ref,v);\n}\n});\nsci.impl.core_protocols.swap_protocol \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22cljs.core.ISwap\x22,\x22cljs.core.ISwap\x22,2045511362,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),cljs.core.ISwap,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),cljs.core.PersistentHashSet.createAsIfByAssoc([sci.impl.core_protocols._swap_BANG_]),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null));\nsci.impl.core_protocols.reset_protocol \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22cljs.core.IReset\x22,\x22cljs.core.IReset\x22,348905844,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),cljs.core.IReset,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),cljs.core.PersistentHashSet.createAsIfByAssoc([sci.impl.core_protocols._reset_BANG_]),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null));\nsci.impl.core_protocols.defaults \x3d cljs.core.set(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sci.impl.core_protocols.iatom_defaults,sci.impl.core_protocols.ideref_default));\n");
SHADOW_ENV.evalLoad("sci.impl.destructure.js", true, "goog.provide(\x27sci.impl.destructure\x27);\nsci.impl.destructure.destructure_STAR_ \x3d (function sci$impl$destructure$destructure_STAR_(bindings,loc){\nvar bents \x3d cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),bindings);\nvar pb \x3d (function sci$impl$destructure$destructure_STAR__$_pb(bvec,b,v){\nvar pvec \x3d (function (bvec__$1,b__$1,val){\nvar gvec \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22vec__\x22);\nvar gseq \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22seq__\x22);\nvar gfirst \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22first__\x22);\nvar has_rest \x3d cljs.core.some(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null], null), null),b__$1);\nvar ret \x3d (function (){var ret \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(bvec__$1,gvec,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val], 0));\nif(cljs.core.truth_(has_rest)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,gseq,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.seq,(new cljs.core.List(null,gvec,null,(1),null)),(2),null))], 0));\n} else {\nreturn ret;\n}\n})();\nvar n \x3d (0);\nvar bs \x3d b__$1;\nvar seen_rest_QMARK_ \x3d false;\nwhile(true){\nif(cljs.core.seq(bs)){\nvar firstb \x3d cljs.core.first(bs);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(firstb,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null))){\nvar G__43433 \x3d sci$impl$destructure$destructure_STAR__$_pb(ret,cljs.core.second(bs),gseq);\nvar G__43434 \x3d n;\nvar G__43435 \x3d cljs.core.nnext(bs);\nvar G__43436 \x3d true;\nret \x3d G__43433;\nn \x3d G__43434;\nbs \x3d G__43435;\nseen_rest_QMARK_ \x3d G__43436;\ncontinue;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(firstb,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641))){\nreturn sci$impl$destructure$destructure_STAR__$_pb(ret,cljs.core.second(bs),gvec);\n} else {\nif(cljs.core.truth_(seen_rest_QMARK_)){\nthrow (new Error(\x22Unsupported binding form, only :as can follow \x26 parameter\x22));\n} else {\nvar G__43440 \x3d sci$impl$destructure$destructure_STAR__$_pb((cljs.core.truth_(has_rest)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,gfirst,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.first,null,(1),null)),(new cljs.core.List(null,gseq,null,(1),null))))),gseq,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.next,null,(1),null)),(new cljs.core.List(null,gseq,null,(1),null)))))], 0)):ret),firstb,(cljs.core.truth_(has_rest)?gfirst:(function (){var G__43341 \x3d (new cljs.core.List(null,cljs.core.nth,(new cljs.core.List(null,gvec,(new cljs.core.List(null,n,(new cljs.core.List(null,null,null,(1),null)),(2),null)),(3),null)),(4),null));\nif(cljs.core.truth_(loc)){\nreturn cljs.core.with_meta(G__43341,loc);\n} else {\nreturn G__43341;\n}\n})()));\nvar G__43441 \x3d (n + (1));\nvar G__43442 \x3d cljs.core.next(bs);\nvar G__43443 \x3d seen_rest_QMARK_;\nret \x3d G__43440;\nn \x3d G__43441;\nbs \x3d G__43442;\nseen_rest_QMARK_ \x3d G__43443;\ncontinue;\n}\n\n}\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nvar pmap \x3d (function (bvec__$1,b__$1,v__$1){\nvar gmap \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22map__\x22);\nvar defaults \x3d new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169).cljs$core$IFn$_invoke$arity$1(b__$1);\nvar ret \x3d ((function (gmap,defaults,pvec,bents){\nreturn (function (ret){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641).cljs$core$IFn$_invoke$arity$1(b__$1))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641).cljs$core$IFn$_invoke$arity$1(b__$1),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gmap], 0));\n} else {\nreturn ret;\n}\n});})(gmap,defaults,pvec,bents))\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(bvec__$1,gmap),v__$1),gmap),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),(new cljs.core.List(null,(new cljs.core.List(null,cljs.core.seq_QMARK_,(new cljs.core.List(null,gmap,null,(1),null)),(2),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq-to-map-for-destructuring\x22,\x22cljs.core/seq-to-map-for-destructuring\x22,240595294,null),null,(1),null)),(new cljs.core.List(null,gmap,null,(1),null))))),(new cljs.core.List(null,gmap,null,(1),null)),(2),null)),(3),null)),(4),null))));\nvar bes \x3d (function (){var transforms \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (ret,gmap,defaults,pvec,bents){\nreturn (function (transforms,mk){\nif((mk instanceof cljs.core.Keyword)){\nvar mkns \x3d cljs.core.namespace(mk);\nvar mkn \x3d cljs.core.name(mk);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mkn,\x22keys\x22)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(transforms,mk,(function (p1__43322_SHARP_){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d mkns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.namespace(p1__43322_SHARP_);\n}\n})(),cljs.core.name(p1__43322_SHARP_));\n}));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mkn,\x22syms\x22)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(transforms,mk,(function (p1__43324_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d mkns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.namespace(p1__43324_SHARP_);\n}\n})(),cljs.core.name(p1__43324_SHARP_)),null,(1),null)),(2),null));\n}));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mkn,\x22strs\x22)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(transforms,mk,cljs.core.str);\n} else {\nreturn transforms;\n\n}\n}\n}\n} else {\nreturn transforms;\n}\n});})(ret,gmap,defaults,pvec,bents))\n,cljs.core.PersistentArrayMap.EMPTY,cljs.core.keys(b__$1));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (transforms,ret,gmap,defaults,pvec,bents){\nreturn (function (bes,entry){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__43327_SHARP_,p2__43328_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__43327_SHARP_,p2__43328_SHARP_,(function (){var fexpr__43386 \x3d cljs.core.val(entry);\nreturn (fexpr__43386.cljs$core$IFn$_invoke$arity$1 ? fexpr__43386.cljs$core$IFn$_invoke$arity$1(p2__43328_SHARP_) : fexpr__43386.call(null,p2__43328_SHARP_));\n})());\n}),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(bes,cljs.core.key(entry)),(function (){var fexpr__43387 \x3d cljs.core.key(entry);\nreturn (fexpr__43387.cljs$core$IFn$_invoke$arity$1 ? fexpr__43387.cljs$core$IFn$_invoke$arity$1(bes) : fexpr__43387.call(null,bes));\n})());\n});})(transforms,ret,gmap,defaults,pvec,bents))\n,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(b__$1,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169)], 0)),transforms);\n})();\nwhile(true){\nif(cljs.core.seq(bes)){\nvar bb \x3d cljs.core.key(cljs.core.first(bes));\nvar bk \x3d cljs.core.val(cljs.core.first(bes));\nvar local \x3d (((((!((bb \x3d\x3d null))))?(((((bb.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d bb.cljs$core$INamed$))))?true:false):false))?cljs.core.with_meta(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(bb)),cljs.core.meta(bb)):bb);\nvar bv \x3d ((cljs.core.contains_QMARK_(defaults,local))?(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),(new cljs.core.List(null,gmap,(new cljs.core.List(null,bk,(new cljs.core.List(null,(defaults.cljs$core$IFn$_invoke$arity$1 ? defaults.cljs$core$IFn$_invoke$arity$1(local) : defaults.call(null,local)),null,(1),null)),(2),null)),(3),null)),(4),null)):(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),(new cljs.core.List(null,gmap,(new cljs.core.List(null,bk,null,(1),null)),(2),null)),(3),null)));\nvar G__43465 \x3d (((((bb instanceof cljs.core.Keyword)) || ((bb instanceof cljs.core.Symbol))))?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,local,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([bv], 0)):sci$impl$destructure$destructure_STAR__$_pb(ret,bb,bv));\nvar G__43466 \x3d cljs.core.next(bes);\nret \x3d G__43465;\nbes \x3d G__43466;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nif((b instanceof cljs.core.Symbol)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(bvec,(cljs.core.truth_(cljs.core.namespace(b))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(b)):b)),v);\n} else {\nif((b instanceof cljs.core.Keyword)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(bvec,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(b))),v);\n} else {\nif(cljs.core.vector_QMARK_(b)){\nreturn pvec(bvec,b,v);\n} else {\nif(cljs.core.map_QMARK_(b)){\nreturn pmap(bvec,b,v);\n} else {\nthrow (new Error([\x22Unsupported binding form: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(\x27\x27)));\n\n}\n}\n}\n}\n});\nvar process_entry \x3d (function (bvec,b){\nreturn pb(bvec,cljs.core.first(b),cljs.core.second(b));\n});\nif(cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,bents))){\nreturn bindings;\n} else {\nvar temp__5802__auto__ \x3d cljs.core.seq(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__43331_SHARP_){\nreturn (cljs.core.first(p1__43331_SHARP_) instanceof cljs.core.Keyword);\n}),bents));\nif(temp__5802__auto__){\nvar kwbs \x3d temp__5802__auto__;\nthrow (new Error([\x22Unsupported binding key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ffirst(kwbs))].join(\x27\x27)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(process_entry,cljs.core.PersistentVector.EMPTY,bents);\n}\n}\n});\nsci.impl.destructure.destructure \x3d (function sci$impl$destructure$destructure(var_args){\nvar G__43412 \x3d arguments.length;\nswitch (G__43412) {\ncase 1:\nreturn sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$1 \x3d (function (b){\nreturn sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$2(b,null);\n}));\n\n(sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$2 \x3d (function (b,loc){\nreturn sci.impl.destructure.destructure_STAR_(b,loc);\n}));\n\n(sci.impl.destructure.destructure.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("sci.impl.doseq_macro.js", true, "goog.provide(\x27sci.impl.doseq_macro\x27);\nsci.impl.doseq_macro.assert_args \x3d (function sci$impl$doseq_macro$assert_args(seq_exprs,_body_exprs){\nif(cljs.core.vector_QMARK_(seq_exprs)){\n} else {\nthrow (new Error(\x22doseq requires a vector for its binding\x22));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(seq_exprs))){\nreturn null;\n} else {\nthrow (new Error(\x22doseq requires an even number of forms in binding vector\x22));\n}\n});\nsci.impl.doseq_macro.expand_doseq \x3d (function sci$impl$doseq_macro$expand_doseq(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43504 \x3d arguments.length;\nvar i__5750__auto___43505 \x3d (0);\nwhile(true){\nif((i__5750__auto___43505 \x3c len__5749__auto___43504)){\nargs__5755__auto__.push((arguments[i__5750__auto___43505]));\n\nvar G__43506 \x3d (i__5750__auto___43505 + (1));\ni__5750__auto___43505 \x3d G__43506;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.doseq_macro.expand_doseq.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.doseq_macro.expand_doseq.cljs$core$IFn$_invoke$arity$variadic \x3d (function (expr,_,seq_exprs,body){\nsci.impl.doseq_macro.assert_args(seq_exprs,body);\n\nvar loc \x3d cljs.core.meta(expr);\nvar step \x3d (function sci$impl$doseq_macro$step(recform,exprs){\nif(cljs.core.not(exprs)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body)))], null);\n} else {\nvar k \x3d cljs.core.first(exprs);\nvar v \x3d cljs.core.second(exprs);\nif((k instanceof cljs.core.Keyword)){\nvar steppair \x3d sci$impl$doseq_macro$step(recform,cljs.core.nnext(exprs));\nvar needrec \x3d (steppair.cljs$core$IFn$_invoke$arity$1 ? steppair.cljs$core$IFn$_invoke$arity$1((0)) : steppair.call(null,(0)));\nvar subform \x3d (steppair.cljs$core$IFn$_invoke$arity$1 ? steppair.cljs$core$IFn$_invoke$arity$1((1)) : steppair.call(null,(1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22let\x22,\x22let\x22,-1282412701))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [needrec,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,subform,null,(1),null))], 0))))], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22while\x22,\x22while\x22,963117786))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [false,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,subform,null,(1),null)),(cljs.core.truth_(needrec)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [recform], null):null)], 0))))], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22when\x22,\x22when\x22,-576417306))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [false,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,subform,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(needrec)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [recform], null):null)], 0)))),null,(1),null)),(new cljs.core.List(null,recform,null,(1),null))], 0))))], null);\n} else {\nreturn null;\n}\n}\n}\n} else {\nvar seq_ \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22seq_\x22);\nvar chunk_ \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22chunk_\x22);\nvar count_ \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22count_\x22);\nvar i_ \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22i_\x22);\nvar recform__$1 \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22next\x22,\x22cljs.core/next\x22,-1291438473,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)),(new cljs.core.List(null,(0),null,(1),null))], 0))));\nvar steppair \x3d sci$impl$doseq_macro$step(recform__$1,cljs.core.nnext(exprs));\nvar needrec \x3d (steppair.cljs$core$IFn$_invoke$arity$1 ? steppair.cljs$core$IFn$_invoke$arity$1((0)) : steppair.call(null,(0)));\nvar subform \x3d (steppair.cljs$core$IFn$_invoke$arity$1 ? steppair.cljs$core$IFn$_invoke$arity$1((1)) : steppair.call(null,(1)));\nvar recform_chunk \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,chunk_,null,(1),null)),(new cljs.core.List(null,count_,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,i_,null,(1),null))))),null,(1),null))], 0))));\nvar steppair_chunk \x3d sci$impl$doseq_macro$step(recform_chunk,cljs.core.nnext(exprs));\nvar subform_chunk \x3d (steppair_chunk.cljs$core$IFn$_invoke$arity$1 ? steppair_chunk.cljs$core$IFn$_invoke$arity$1((1)) : steppair_chunk.call(null,(1)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,seq_,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null))))),loc),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,chunk_,null,(1),null)),(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,count_,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)),(new cljs.core.List(null,i_,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,i_,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,count_,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,k,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nth\x22,\x22cljs.core/nth\x22,1961052085,null),null,(1),null)),(new cljs.core.List(null,chunk_,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,i_,null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,subform_chunk,null,(1),null)),(cljs.core.truth_(needrec)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [recform_chunk], null):null)], 0)))),loc),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,seq_,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunked-seq?\x22,\x22cljs.core/chunked-seq?\x22,-712922369,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22c__43438__auto__\x22,\x22c__43438__auto__\x22,-1591762940,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-first\x22,\x22cljs.core/chunk-first\x22,-1157877305,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-rest\x22,\x22cljs.core/chunk-rest\x22,-398161143,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22c__43438__auto__\x22,\x22c__43438__auto__\x22,-1591762940,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22int\x22,\x22cljs.core/int\x22,20935062,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22c__43438__auto__\x22,\x22c__43438__auto__\x22,-1591762940,null),null,(1),null))))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22int\x22,\x22cljs.core/int\x22,20935062,null),null,(1),null)),(new cljs.core.List(null,(0),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,k,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22first\x22,\x22cljs.core/first\x22,-752535972,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,subform,null,(1),null)),(cljs.core.truth_(needrec)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [recform__$1], null):null)], 0)))),loc),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))], null);\n}\n}\n});\nvar ret \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(step(null,cljs.core.seq(seq_exprs)),(1));\nreturn ret;\n}));\n\n(sci.impl.doseq_macro.expand_doseq.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.doseq_macro.expand_doseq.cljs$lang$applyTo \x3d (function (seq43451){\nvar G__43452 \x3d cljs.core.first(seq43451);\nvar seq43451__$1 \x3d cljs.core.next(seq43451);\nvar G__43453 \x3d cljs.core.first(seq43451__$1);\nvar seq43451__$2 \x3d cljs.core.next(seq43451__$1);\nvar G__43454 \x3d cljs.core.first(seq43451__$2);\nvar seq43451__$3 \x3d cljs.core.next(seq43451__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43452,G__43453,G__43454,seq43451__$3);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.for_macro.js", true, "goog.provide(\x27sci.impl.for_macro\x27);\nsci.impl.for_macro.assert_args \x3d (function sci$impl$for_macro$assert_args(expr,seq_exprs,_body_expr){\nvar arg_count_43594 \x3d (cljs.core.count(expr) - (1));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),arg_count_43594)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Wrong number of args (\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arg_count_43594),\x22) passed to: clojure.core/for\x22].join(\x27\x27),expr);\n}\n\nif(cljs.core.vector_QMARK_(seq_exprs)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22for requires a vector for its binding\x22,expr);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(seq_exprs))){\nreturn null;\n} else {\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22for requires an even number of forms in binding vector\x22,expr);\n}\n});\nsci.impl.for_macro.expand_for \x3d (function sci$impl$for_macro$expand_for(expr,_,seq_exprs,body_expr){\nsci.impl.for_macro.assert_args(expr,seq_exprs,body_expr);\n\nvar loc \x3d cljs.core.meta(expr);\nvar to_groups \x3d (function (seq_exprs__$1){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (groups,p__43522){\nvar vec__43523 \x3d p__43522;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43523,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43523,(1),null);\nif((k instanceof cljs.core.Keyword)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.pop(groups),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.peek(groups),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null)));\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(groups,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null));\n}\n}),cljs.core.PersistentVector.EMPTY,cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),seq_exprs__$1));\n});\nvar err \x3d (function() { \nvar G__43598__delegate \x3d function (msg){\nthrow (new Error(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msg)));\n};\nvar G__43598 \x3d function (var_args){\nvar msg \x3d null;\nif (arguments.length \x3e 0) {\nvar G__43599__i \x3d 0, G__43599__a \x3d new Array(arguments.length -  0);\nwhile (G__43599__i \x3c G__43599__a.length) {G__43599__a[G__43599__i] \x3d arguments[G__43599__i + 0]; ++G__43599__i;}\n  msg \x3d new cljs.core.IndexedSeq(G__43599__a,0,null);\n} \nreturn G__43598__delegate.call(this,msg);};\nG__43598.cljs$lang$maxFixedArity \x3d 0;\nG__43598.cljs$lang$applyTo \x3d (function (arglist__43600){\nvar msg \x3d cljs.core.seq(arglist__43600);\nreturn G__43598__delegate(msg);\n});\nG__43598.cljs$core$IFn$_invoke$arity$variadic \x3d G__43598__delegate;\nreturn G__43598;\n})()\n;\nvar emit_bind \x3d (function sci$impl$for_macro$expand_for_$_emit_bind(p__43533){\nvar vec__43534 \x3d p__43533;\nvar seq__43535 \x3d cljs.core.seq(vec__43534);\nvar first__43536 \x3d cljs.core.first(seq__43535);\nvar seq__43535__$1 \x3d cljs.core.next(seq__43535);\nvar vec__43537 \x3d first__43536;\nvar seq__43538 \x3d cljs.core.seq(vec__43537);\nvar first__43539 \x3d cljs.core.first(seq__43538);\nvar seq__43538__$1 \x3d cljs.core.next(seq__43538);\nvar bind \x3d first__43539;\nvar first__43539__$1 \x3d cljs.core.first(seq__43538__$1);\nvar seq__43538__$2 \x3d cljs.core.next(seq__43538__$1);\nvar expr__$1 \x3d first__43539__$1;\nvar mod_pairs \x3d seq__43538__$2;\nvar vec__43540 \x3d seq__43535__$1;\nvar vec__43543 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43540,(0),null);\nvar ___$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43543,(0),null);\nvar next_expr \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43543,(1),null);\nvar next_groups \x3d vec__43540;\nvar giter \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22iter__\x22);\nvar gxs \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22s__\x22);\nvar do_mod \x3d (function sci$impl$for_macro$expand_for_$_emit_bind_$_do_mod(p__43553){\nvar vec__43554 \x3d p__43553;\nvar seq__43555 \x3d cljs.core.seq(vec__43554);\nvar first__43556 \x3d cljs.core.first(seq__43555);\nvar seq__43555__$1 \x3d cljs.core.next(seq__43555);\nvar vec__43557 \x3d first__43556;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43557,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43557,(1),null);\nvar pair \x3d vec__43557;\nvar etc \x3d seq__43555__$1;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22let\x22,\x22let\x22,-1282412701))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_mod(etc),null,(1),null))], 0))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22while\x22,\x22while\x22,963117786))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_mod(etc),null,(1),null))], 0))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22when\x22,\x22when\x22,-576417306))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_mod(etc),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22rest\x22,\x22cljs.core/rest\x22,-285075455,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nif((k instanceof cljs.core.Keyword)){\nreturn err(\x22Invalid \x27for\x27 keyword \x22,k);\n} else {\nif(next_groups){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22iterys__43513__auto__\x22,\x22iterys__43513__auto__\x22,-1506024210,null),null,(1),null)),(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind(next_groups),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22fs__43514__auto__\x22,\x22fs__43514__auto__\x22,220670130,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22iterys__43513__auto__\x22,\x22iterys__43513__auto__\x22,-1506024210,null),null,(1),null)),(new cljs.core.List(null,next_expr,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22fs__43514__auto__\x22,\x22fs__43514__auto__\x22,220670130,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22concat\x22,\x22cljs.core/concat\x22,-1133584918,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22fs__43514__auto__\x22,\x22fs__43514__auto__\x22,220670130,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,giter,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22rest\x22,\x22cljs.core/rest\x22,-285075455,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22rest\x22,\x22cljs.core/rest\x22,-285075455,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22cons\x22,\x22cljs.core/cons\x22,96507417,null),null,(1),null)),(new cljs.core.List(null,body_expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,giter,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22rest\x22,\x22cljs.core/rest\x22,-285075455,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n\n}\n}\n}\n}\n}\n});\nif(next_groups){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,giter,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22lazy-seq\x22,\x22cljs.core/lazy-seq\x22,627681297,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gxs,null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-first\x22,\x22cljs.core/when-first\x22,-667185267,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,bind,null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,do_mod(mod_pairs),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nvar gi \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22i__\x22);\nvar gb \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22b__\x22);\nvar do_cmod \x3d (function sci$impl$for_macro$expand_for_$_emit_bind_$_do_cmod(p__43567){\nvar vec__43568 \x3d p__43567;\nvar seq__43569 \x3d cljs.core.seq(vec__43568);\nvar first__43570 \x3d cljs.core.first(seq__43569);\nvar seq__43569__$1 \x3d cljs.core.next(seq__43569);\nvar vec__43571 \x3d first__43570;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43571,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43571,(1),null);\nvar pair \x3d vec__43571;\nvar etc \x3d seq__43569__$1;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22let\x22,\x22let\x22,-1282412701))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_cmod(etc),null,(1),null))], 0))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22while\x22,\x22while\x22,963117786))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_cmod(etc),null,(1),null))], 0))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22when\x22,\x22when\x22,-576417306))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_cmod(etc),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,gi,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nif((k instanceof cljs.core.Keyword)){\nreturn err(\x22Invalid \x27for\x27 keyword \x22,k);\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-append\x22,\x22cljs.core/chunk-append\x22,-243671470,null),null,(1),null)),(new cljs.core.List(null,gb,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,body_expr,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,gi,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n\n}\n}\n}\n}\n});\nvar c_sym \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22c\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,giter,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22lazy-seq\x22,\x22cljs.core/lazy-seq\x22,627681297,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gxs,null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gxs,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),loc),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunked-seq?\x22,\x22cljs.core/chunked-seq?\x22,-712922369,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,c_sym,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-first\x22,\x22cljs.core/chunk-first\x22,-1157877305,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22size__43519__auto__\x22,\x22size__43519__auto__\x22,-1049833474,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22int\x22,\x22cljs.core/int\x22,20935062,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,c_sym,null,(1),null))))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,gb,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-buffer\x22,\x22cljs.core/chunk-buffer\x22,14093626,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22size__43519__auto__\x22,\x22size__43519__auto__\x22,-1049833474,null),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gi,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22int\x22,\x22cljs.core/int\x22,20935062,null),null,(1),null)),(new cljs.core.List(null,(0),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,gi,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22size__43519__auto__\x22,\x22size__43519__auto__\x22,-1049833474,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,bind,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nth\x22,\x22cljs.core/nth\x22,1961052085,null),null,(1),null)),(new cljs.core.List(null,c_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,gi,null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,do_cmod(mod_pairs),null,(1),null))], 0)))),loc),null,(1),null)),(new cljs.core.List(null,true,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-cons\x22,\x22cljs.core/chunk-cons\x22,-250075688,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk\x22,\x22cljs.core/chunk\x22,847936424,null),null,(1),null)),(new cljs.core.List(null,gb,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,giter,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-rest\x22,\x22cljs.core/chunk-rest\x22,-398161143,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-cons\x22,\x22cljs.core/chunk-cons\x22,-250075688,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk\x22,\x22cljs.core/chunk\x22,847936424,null),null,(1),null)),(new cljs.core.List(null,gb,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,bind,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22first\x22,\x22cljs.core/first\x22,-752535972,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,do_mod(mod_pairs),null,(1),null))], 0)))),loc),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0))));\n}\n});\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22iter__43520__auto__\x22,\x22iter__43520__auto__\x22,1565195951,null),null,(1),null)),(new cljs.core.List(null,emit_bind(to_groups(seq_exprs)),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22iter__43520__auto__\x22,\x22iter__43520__auto__\x22,1565195951,null),null,(1),null)),(new cljs.core.List(null,cljs.core.second(seq_exprs),null,(1),null))))),null,(1),null))], 0))));\n});\n");
SHADOW_ENV.evalLoad("sci.impl.io.js", true, "goog.provide(\x27sci.impl.io\x27);\n/**\n * create a dynamic var with clojure.core :ns meta\n */\nsci.impl.io.core_dynamic_var \x3d (function sci$impl$io$core_dynamic_var(var_args){\nvar G__43853 \x3d arguments.length;\nswitch (G__43853) {\ncase 1:\nreturn sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nreturn sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$2(name,null);\n}));\n\n(sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(name,init_val,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], null));\n}));\n\n(sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,extra_meta){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(extra_meta,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], 0)));\n}));\n\n(sci.impl.io.core_dynamic_var.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.io.in$ \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43860 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43861 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43861);\n\ntry{var G__43863 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*in*\x22,\x22*in*\x22,1130010229,null));\nsci.impl.vars.unbind(G__43863);\n\nreturn G__43863;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43860);\n}})();\nsci.impl.io.out \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43864 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43865 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43865);\n\ntry{var G__43866 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*out*\x22,\x22*out*\x22,1277591796,null));\nsci.impl.vars.unbind(G__43866);\n\nreturn G__43866;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43864);\n}})();\nsci.impl.io.err \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43867 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43868 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43868);\n\ntry{var G__43869 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*err*\x22,\x22*err*\x22,2070937226,null));\nsci.impl.vars.unbind(G__43869);\n\nreturn G__43869;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43867);\n}})();\nsci.impl.io.print_fn \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43870 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43871 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43871);\n\ntry{var G__43873 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*print-fn*\x22,\x22*print-fn*\x22,138509853,null));\nsci.impl.vars.unbind(G__43873);\n\nreturn G__43873;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43870);\n}})();\nsci.impl.io.print_err_fn \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43875 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43876 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43876);\n\ntry{var G__43877 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*print-err-fn*\x22,\x22*print-err-fn*\x22,1241679298,null));\nsci.impl.vars.unbind(G__43877);\n\nreturn G__43877;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43875);\n}})();\nsci.impl.io.print_meta \x3d (new sci.lang.Var(cljs.core._STAR_print_meta_STAR_,new cljs.core.Symbol(null,\x22*print-meta*\x22,\x22*print-meta*\x22,-919406644,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-meta*\x22,\x22*print-meta*\x22,-919406644,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22If set to logical true, when printing an object, its metadata will also\\n  be printed in a form that can be read back by the reader.\\n\\n  Defaults to false.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_length \x3d (new sci.lang.Var(cljs.core._STAR_print_length_STAR_,new cljs.core.Symbol(null,\x22*print-length*\x22,\x22*print-length*\x22,-687693654,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-length*\x22,\x22*print-length*\x22,-687693654,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22*print-length* controls how many items of each collection the\\n  printer will print. If it is bound to logical false, there is no\\n  limit. Otherwise, it must be bound to an integer indicating the maximum\\n  number of items of each collection to print. If a collection contains\\n  more items, the printer will print items up to the limit followed by\\n  \x27...\x27 to represent the remaining items. The root binding is nil\\n  indicating no limit.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_level \x3d (new sci.lang.Var(cljs.core._STAR_print_level_STAR_,new cljs.core.Symbol(null,\x22*print-level*\x22,\x22*print-level*\x22,-634488505,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-level*\x22,\x22*print-level*\x22,-634488505,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22*print-level* controls how many levels deep the printer will\\n  print nested objects. If it is bound to logical false, there is no\\n  limit. Otherwise, it must be bound to an integer indicating the maximum\\n  level to print. Each argument to print is at level 0; if an argument is a\\n  collection, its items are at level 1; and so on. If an object is a\\n  collection and is at a level greater than or equal to the value bound to\\n  *print-level*, the printer prints \x27#\x27 to represent it. The root binding\\n  is nil indicating no limit.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_namespace_maps \x3d (new sci.lang.Var(true,new cljs.core.Symbol(null,\x22*print-namespace-maps*\x22,\x22*print-namespace-maps*\x22,-1759108415,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-namespace-maps*\x22,\x22*print-namespace-maps*\x22,-1759108415,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22*print-namespace-maps* controls whether the printer will print\\n  namespace map literal syntax.\\n\\n  Defaults to false, but the REPL binds it to true.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.flush_on_newline \x3d (new sci.lang.Var(cljs.core._STAR_flush_on_newline_STAR_,new cljs.core.Symbol(null,\x22*flush-on-newline*\x22,\x22*flush-on-newline*\x22,-737526501,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*flush-on-newline*\x22,\x22*flush-on-newline*\x22,-737526501,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When set to true, output will be flushed whenever a newline is printed.\\n\\n  Defaults to true.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_readably \x3d (new sci.lang.Var(cljs.core._STAR_print_readably_STAR_,new cljs.core.Symbol(null,\x22*print-readably*\x22,\x22*print-readably*\x22,-761361221,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-readably*\x22,\x22*print-readably*\x22,-761361221,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When set to logical false, strings and characters will be printed with\\n  non-alphanumeric characters converted to the appropriate escape sequences.\\n\\n  Defaults to true\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_dup_var \x3d (new sci.lang.Var(cljs.core._STAR_print_dup_STAR_,new cljs.core.Symbol(null,\x22*print-dup*\x22,\x22*print-dup*\x22,103854877,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-dup*\x22,\x22*print-dup*\x22,103854877,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When set to logical true, objects will be printed in a way that preserves\\n  their type when read in later.\\n\\n  Defaults to false.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_newline \x3d (new sci.lang.Var(cljs.core._STAR_print_newline_STAR_,new cljs.core.Symbol(null,\x22*print-newline*\x22,\x22*print-newline*\x22,1478078956,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-newline*\x22,\x22*print-newline*\x22,1478078956,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When set to logical false will drop newlines from printing calls.\\n  This is to work around the implicit newlines emitted by standard JavaScript\\n  console objects.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.string_print \x3d (function sci$impl$io$string_print(x){\nvar _STAR_print_fn_STAR__orig_val__43884 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_fn_STAR__temp_val__43885 \x3d cljs.core.deref(sci.impl.io.print_fn);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__43885);\n\ntry{return cljs.core.string_print(x);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__43884);\n}});\nsci.impl.io.pr \x3d (function sci$impl$io$pr(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44126 \x3d arguments.length;\nvar i__5750__auto___44127 \x3d (0);\nwhile(true){\nif((i__5750__auto___44127 \x3c len__5749__auto___44126)){\nargs__5755__auto__.push((arguments[i__5750__auto___44127]));\n\nvar G__44128 \x3d (i__5750__auto___44127 + (1));\ni__5750__auto___44127 \x3d G__44128;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_fn_STAR__orig_val__43889 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_length_STAR__orig_val__43890 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__43891 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__43892 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__43893 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__43894 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__43895 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__43896 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_fn_STAR__temp_val__43897 \x3d cljs.core.deref(sci.impl.io.print_fn);\nvar _STAR_print_length_STAR__temp_val__43898 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__43899 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__43900 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__43901 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__43902 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__43903 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__43904 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__43897);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__43898);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__43899);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__43900);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__43901);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__43902);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__43903);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__43904);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.pr,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__43896);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__43895);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__43894);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__43893);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__43892);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__43891);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__43890);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__43889);\n}}));\n\n(sci.impl.io.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.pr.cljs$lang$applyTo \x3d (function (seq43888){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq43888));\n}));\n\nsci.impl.io.flush \x3d (function sci$impl$io$flush(){\nreturn null;\n});\nsci.impl.io.newline \x3d (function sci$impl$io$newline(){\nvar _STAR_print_fn_STAR__orig_val__43921 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_fn_STAR__temp_val__43922 \x3d cljs.core.deref(sci.impl.io.print_fn);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__43922);\n\ntry{return cljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__43921);\n}});\n/**\n * pr to a string, returning it\n */\nsci.impl.io.pr_str \x3d (function sci$impl$io$pr_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44131 \x3d arguments.length;\nvar i__5750__auto___44132 \x3d (0);\nwhile(true){\nif((i__5750__auto___44132 \x3c len__5749__auto___44131)){\nargs__5755__auto__.push((arguments[i__5750__auto___44132]));\n\nvar G__44133 \x3d (i__5750__auto___44132 + (1));\ni__5750__auto___44132 \x3d G__44133;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.pr_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.pr_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_length_STAR__orig_val__43926 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__43927 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__43928 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__43929 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__43930 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__43931 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__43932 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_length_STAR__temp_val__43933 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__43934 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__43935 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__43936 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__43937 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__43938 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__43939 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__43933);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__43934);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__43935);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__43936);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__43937);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__43938);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__43939);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.pr_str,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__43932);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__43931);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__43930);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__43929);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__43928);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__43927);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__43926);\n}}));\n\n(sci.impl.io.pr_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.pr_str.cljs$lang$applyTo \x3d (function (seq43924){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq43924));\n}));\n\nsci.impl.io.prn \x3d (function sci$impl$io$prn(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44136 \x3d arguments.length;\nvar i__5750__auto___44137 \x3d (0);\nwhile(true){\nif((i__5750__auto___44137 \x3c len__5749__auto___44136)){\nargs__5755__auto__.push((arguments[i__5750__auto___44137]));\n\nvar G__44138 \x3d (i__5750__auto___44137 + (1));\ni__5750__auto___44137 \x3d G__44138;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_fn_STAR__orig_val__43949 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_length_STAR__orig_val__43950 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__43951 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__43952 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__43953 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__43954 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__43955 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__43956 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_fn_STAR__temp_val__43957 \x3d cljs.core.deref(sci.impl.io.print_fn);\nvar _STAR_print_length_STAR__temp_val__43958 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__43959 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__43960 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__43961 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__43962 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__43963 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__43964 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__43957);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__43958);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__43959);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__43960);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__43961);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__43962);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__43963);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__43964);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.prn,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__43956);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__43955);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__43954);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__43953);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__43952);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__43951);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__43950);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__43949);\n}}));\n\n(sci.impl.io.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.prn.cljs$lang$applyTo \x3d (function (seq43942){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq43942));\n}));\n\n/**\n * prn to a string, returning it\n */\nsci.impl.io.prn_str \x3d (function sci$impl$io$prn_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44139 \x3d arguments.length;\nvar i__5750__auto___44140 \x3d (0);\nwhile(true){\nif((i__5750__auto___44140 \x3c len__5749__auto___44139)){\nargs__5755__auto__.push((arguments[i__5750__auto___44140]));\n\nvar G__44141 \x3d (i__5750__auto___44140 + (1));\ni__5750__auto___44140 \x3d G__44141;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.prn_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.prn_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_length_STAR__orig_val__43997 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__43998 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__43999 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44000 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44001 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44002 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44003 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_length_STAR__temp_val__44004 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44005 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__44006 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__44007 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44008 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__44009 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44010 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44004);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44005);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__44006);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44007);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44008);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44009);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44010);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.prn_str,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44003);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44002);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44001);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44000);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__43999);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__43998);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__43997);\n}}));\n\n(sci.impl.io.prn_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.prn_str.cljs$lang$applyTo \x3d (function (seq43976){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq43976));\n}));\n\nsci.impl.io.print \x3d (function sci$impl$io$print(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44142 \x3d arguments.length;\nvar i__5750__auto___44143 \x3d (0);\nwhile(true){\nif((i__5750__auto___44143 \x3c len__5749__auto___44142)){\nargs__5755__auto__.push((arguments[i__5750__auto___44143]));\n\nvar G__44144 \x3d (i__5750__auto___44143 + (1));\ni__5750__auto___44143 \x3d G__44144;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.print.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.print.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_fn_STAR__orig_val__44052 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_length_STAR__orig_val__44053 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__44054 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44055 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44056 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44057 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44058 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_fn_STAR__temp_val__44059 \x3d cljs.core.deref(sci.impl.io.print_fn);\nvar _STAR_print_length_STAR__temp_val__44060 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44061 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_namespace_maps_STAR__temp_val__44062 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44063 \x3d null;\nvar _STAR_print_newline_STAR__temp_val__44064 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44065 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__44059);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44060);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44061);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44062);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44063);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44064);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44065);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.print,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44058);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44057);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44056);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44055);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__44054);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__44053);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__44052);\n}}));\n\n(sci.impl.io.print.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.print.cljs$lang$applyTo \x3d (function (seq44035){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq44035));\n}));\n\n/**\n * print to a string, returning it\n */\nsci.impl.io.print_str \x3d (function sci$impl$io$print_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44146 \x3d arguments.length;\nvar i__5750__auto___44147 \x3d (0);\nwhile(true){\nif((i__5750__auto___44147 \x3c len__5749__auto___44146)){\nargs__5755__auto__.push((arguments[i__5750__auto___44147]));\n\nvar G__44148 \x3d (i__5750__auto___44147 + (1));\ni__5750__auto___44147 \x3d G__44148;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.print_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.print_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_length_STAR__orig_val__44073 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__44074 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__44075 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44076 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44077 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44078 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44079 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_length_STAR__temp_val__44080 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44081 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__44082 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__44083 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44084 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__44085 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44086 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44080);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44081);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__44082);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44083);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44084);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44085);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44086);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.print_str,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44079);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44078);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44077);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44076);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__44075);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__44074);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__44073);\n}}));\n\n(sci.impl.io.print_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.print_str.cljs$lang$applyTo \x3d (function (seq44069){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq44069));\n}));\n\nsci.impl.io.println \x3d (function sci$impl$io$println(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44151 \x3d arguments.length;\nvar i__5750__auto___44152 \x3d (0);\nwhile(true){\nif((i__5750__auto___44152 \x3c len__5749__auto___44151)){\nargs__5755__auto__.push((arguments[i__5750__auto___44152]));\n\nvar G__44153 \x3d (i__5750__auto___44152 + (1));\ni__5750__auto___44152 \x3d G__44153;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_fn_STAR__orig_val__44096 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_length_STAR__orig_val__44097 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__44098 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__44099 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44100 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44101 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44102 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44103 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_fn_STAR__temp_val__44104 \x3d cljs.core.deref(sci.impl.io.print_fn);\nvar _STAR_print_length_STAR__temp_val__44105 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44106 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__44107 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__44108 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44109 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__44110 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44111 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__44104);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44105);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44106);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__44107);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44108);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44109);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44110);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44111);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.println,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44103);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44102);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44101);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44100);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__44099);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__44098);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__44097);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__44096);\n}}));\n\n(sci.impl.io.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.println.cljs$lang$applyTo \x3d (function (seq44093){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq44093));\n}));\n\nsci.impl.io.with_out_str \x3d (function sci$impl$io$with_out_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44156 \x3d arguments.length;\nvar i__5750__auto___44158 \x3d (0);\nwhile(true){\nif((i__5750__auto___44158 \x3c len__5749__auto___44156)){\nargs__5755__auto__.push((arguments[i__5750__auto___44158]));\n\nvar G__44159 \x3d (i__5750__auto___44158 + (1));\ni__5750__auto___44158 \x3d G__44159;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.io.with_out_str.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.io.with_out_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22s__44113__auto__\x22,\x22s__44113__auto__\x22,-76292613,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22goog.string.StringBuffer\x22,\x22goog.string.StringBuffer\x22,-1220229842,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22binding\x22,\x22cljs.core/binding\x22,2050379843,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22*print-newline*\x22,\x22cljs.core/*print-newline*\x22,6231625,null),null,(1),null)),(new cljs.core.List(null,true,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22*print-fn*\x22,\x22cljs.core/*print-fn*\x22,1342365176,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__44114__auto__\x22,\x22x__44114__auto__\x22,130895116,null),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22s__44113__auto__\x22,\x22s__44113__auto__\x22,-76292613,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci.impl.utils.allowed_append,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__44114__auto__\x22,\x22x__44114__auto__\x22,130895116,null),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body,(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22s__44113__auto__\x22,\x22s__44113__auto__\x22,-76292613,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.io.with_out_str.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.io.with_out_str.cljs$lang$applyTo \x3d (function (seq44115){\nvar G__44116 \x3d cljs.core.first(seq44115);\nvar seq44115__$1 \x3d cljs.core.next(seq44115);\nvar G__44117 \x3d cljs.core.first(seq44115__$1);\nvar seq44115__$2 \x3d cljs.core.next(seq44115__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__44116,G__44117,seq44115__$2);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.macroexpand.js", true, "goog.provide(\x27sci.impl.macroexpand\x27);\nsci.impl.macroexpand.macroexpand_1 \x3d (function sci$impl$macroexpand$macroexpand_1(ctx,expr){\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(\x22sci.impl\x22,\x22macroexpanding\x22,\x22sci.impl/macroexpanding\x22,2113471825),true);\nvar original_expr \x3d expr;\nvar _STAR_ctx_STAR__orig_val__44154 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__44155 \x3d ctx__$1;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__44155);\n\ntry{if(cljs.core.seq_QMARK_(expr)){\nvar op \x3d cljs.core.first(expr);\nif((op instanceof cljs.core.Symbol)){\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(sci.impl.utils.special_syms,op))){\nreturn expr;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22clojure.core\x22,\x22defrecord\x22,\x22clojure.core/defrecord\x22,581689476,null),op)){\nreturn expr;\n} else {\nvar f \x3d (function (){try{return sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3(ctx__$1,op,true);\n}catch (e44157){var _ \x3d e44157;\nreturn new cljs.core.Keyword(\x22sci.impl.macroexpand\x22,\x22unresolved\x22,\x22sci.impl.macroexpand/unresolved\x22,-1337804580);\n}})();\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.macroexpand\x22,\x22unresolved\x22,\x22sci.impl.macroexpand/unresolved\x22,-1337804580),f)){\nreturn expr;\n} else {\nvar var_QMARK_ \x3d sci.impl.utils.var_QMARK_(f);\nvar macro_var_QMARK_ \x3d (function (){var and__5023__auto__ \x3d var_QMARK_;\nif(and__5023__auto__){\nreturn sci.impl.vars.isMacro(f);\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar f__$1 \x3d (cljs.core.truth_(macro_var_QMARK_)?cljs.core.deref(f):f);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d macro_var_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.utils.macro_QMARK_(f__$1);\n}\n})())){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f__$1,original_expr,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx__$1),cljs.core.rest(expr));\n} else {\nif(clojure.string.starts_with_QMARK_(cljs.core.str.cljs$core$IFn$_invoke$arity$1(op),\x22.\x22)){\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),cljs.core.second(expr),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(op),(1))),cljs.core.nnext(expr));\n} else {\nreturn expr;\n}\n}\n}\n\n}\n}\n} else {\nreturn expr;\n}\n} else {\nreturn expr;\n}\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__44154);\n}});\nsci.impl.macroexpand.macroexpand \x3d (function sci$impl$macroexpand$macroexpand(ctx,form){\nvar ex \x3d sci.impl.macroexpand.macroexpand_1(ctx,form);\nif((ex \x3d\x3d\x3d form)){\nreturn form;\n} else {\nreturn (sci.impl.macroexpand.macroexpand.cljs$core$IFn$_invoke$arity$2 ? sci.impl.macroexpand.macroexpand.cljs$core$IFn$_invoke$arity$2(ctx,ex) : sci.impl.macroexpand.macroexpand.call(null,ctx,ex));\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.read.js", true, "goog.provide(\x27sci.impl.read\x27);\nsci.impl.read.eof_or_throw \x3d (function sci$impl$read$eof_or_throw(opts,v){\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),v)){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar eof \x3d temp__5802__auto__;\nif((!(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22eofthrow\x22,\x22eofthrow\x22,-334166531),eof)))){\nreturn eof;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22EOF while reading\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844),new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts], null));\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22EOF while reading\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844),new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts], null));\n}\n} else {\nreturn v;\n}\n});\nsci.impl.read.with_resolver \x3d (function sci$impl$read$with_resolver(opts){\nreturn opts;\n});\nsci.impl.read.with_suppressed \x3d (function sci$impl$read$with_suppressed(opts){\nif(cljs.core.truth_(cljs.core.deref(sci.impl.parser.suppress_read))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),true);\n} else {\nreturn opts;\n}\n});\nsci.impl.read.read \x3d (function sci$impl$read$read(var_args){\nvar G__44135 \x3d arguments.length;\nswitch (G__44135) {\ncase 0:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 2:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(sci.impl.io.in$));\n}));\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$1 \x3d (function (stream){\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$3(stream,true,null);\n}));\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,eof_error_QMARK_,eof_value){\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$4(stream,eof_error_QMARK_,eof_value,false);\n}));\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$4 \x3d (function (stream,_eof_error_QMARK_,eof_value,_recursive_QMARK_){\nvar v \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(sci.ctx_store.get_ctx(),stream,sci.impl.read.with_suppressed(sci.impl.read.with_resolver(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),eof_value], null))));\nreturn sci.impl.read.eof_or_throw(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),eof_value], null),v);\n}));\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,stream){\nvar opts__$1 \x3d sci.impl.read.with_suppressed(sci.impl.read.with_resolver(opts));\nvar opts__$2 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(opts__$1))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts__$1,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),null], null), null),new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336).cljs$core$IFn$_invoke$arity$1(opts__$1))):opts__$1);\nvar v \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(sci.ctx_store.get_ctx(),stream,opts__$2);\nreturn sci.impl.read.eof_or_throw(opts__$2,v);\n}));\n\n(sci.impl.read.read.cljs$lang$maxFixedArity \x3d 4);\n\nsci.impl.read.read_string \x3d (function sci$impl$read$read_string(var_args){\nvar G__44149 \x3d arguments.length;\nswitch (G__44149) {\ncase 1:\nreturn sci.impl.read.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.read.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.read.read_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nvar reader \x3d cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s);\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$1(reader);\n}));\n\n(sci.impl.read.read_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,s){\nvar reader \x3d cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s);\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$2(opts,reader);\n}));\n\n(sci.impl.read.read_string.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.read.source_logging_reader \x3d (function sci$impl$read$source_logging_reader(x){\nvar string_reader \x3d cljs.tools.reader.reader_types.string_reader(x);\nvar buf_len \x3d (1);\nvar pushback_reader \x3d (new cljs.tools.reader.reader_types.PushbackReader(string_reader,cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(buf_len),buf_len,buf_len));\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(pushback_reader);\n});\n");
SHADOW_ENV.evalLoad("sci.impl.reify.js", true, "goog.provide(\x27sci.impl.reify\x27);\nsci.impl.reify.reify \x3d (function sci$impl$reify$reify(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43829 \x3d arguments.length;\nvar i__5750__auto___43830 \x3d (0);\nwhile(true){\nif((i__5750__auto___43830 \x3c len__5749__auto___43829)){\nargs__5755__auto__.push((arguments[i__5750__auto___43830]));\n\nvar G__43831 \x3d (i__5750__auto___43830 + (1));\ni__5750__auto___43830 \x3d G__43831;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.reify.reify.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.reify.reify.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,args){\nvar map__43810 \x3d cljs.core.group_by(cljs.core.symbol_QMARK_,args);\nvar map__43810__$1 \x3d cljs.core.__destructure_map(map__43810);\nvar classes \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43810__$1,true);\nvar methods$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43810__$1,false);\nvar methods$__$1 \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43811){\nvar vec__43812 \x3d p__43811;\nvar meth \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43812,(0),null);\nvar bodies \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43812,(1),null);\nvar meth__$1 \x3d ((cljs.core.simple_symbol_QMARK_(meth))?meth:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(meth)));\nreturn cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,meth__$1,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,bodies)))),null,(1),null))))));\n}),cljs.core.group_by(cljs.core.first,methods$)));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22reify*\x22,\x22cljs.core/reify*\x22,1256833160,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,form,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(classes),null,(1),null)),(new cljs.core.List(null,methods$__$1,null,(1),null))], 0))));\n}));\n\n(sci.impl.reify.reify.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.reify.reify.cljs$lang$applyTo \x3d (function (seq43807){\nvar G__43808 \x3d cljs.core.first(seq43807);\nvar seq43807__$1 \x3d cljs.core.next(seq43807);\nvar G__43809 \x3d cljs.core.first(seq43807__$1);\nvar seq43807__$2 \x3d cljs.core.next(seq43807__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43808,G__43809,seq43807__$2);\n}));\n\nsci.impl.reify.reify_STAR_ \x3d (function sci$impl$reify$reify_STAR_(_form,classes,methods$){\nreturn sci.impl.types.__GT_Reified(classes,methods$,cljs.core.set(classes));\n});\n");
SHADOW_ENV.evalLoad("sci.impl.namespaces.js", true, "goog.provide(\x27sci.impl.namespaces\x27);\nsci.impl.namespaces.clojure_core_ns \x3d sci.impl.utils.clojure_core_ns;\nsci.impl.namespaces.locking_STAR_ \x3d (function sci$impl$namespaces$locking_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46367 \x3d arguments.length;\nvar i__5750__auto___46368 \x3d (0);\nwhile(true){\nif((i__5750__auto___46368 \x3c len__5749__auto___46367)){\nargs__5755__auto__.push((arguments[i__5750__auto___46368]));\n\nvar G__46369 \x3d (i__5750__auto___46368 + (1));\ni__5750__auto___46368 \x3d G__46369;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.locking_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.locking_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_form,_bindings,_x,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body)));\n}));\n\n(sci.impl.namespaces.locking_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.locking_STAR_.cljs$lang$applyTo \x3d (function (seq45056){\nvar G__45057 \x3d cljs.core.first(seq45056);\nvar seq45056__$1 \x3d cljs.core.next(seq45056);\nvar G__45058 \x3d cljs.core.first(seq45056__$1);\nvar seq45056__$2 \x3d cljs.core.next(seq45056__$1);\nvar G__45059 \x3d cljs.core.first(seq45056__$2);\nvar seq45056__$3 \x3d cljs.core.next(seq45056__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45057,G__45058,G__45059,seq45056__$3);\n}));\n\nsci.impl.namespaces.__GT__STAR_ \x3d (function sci$impl$namespaces$__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46371 \x3d arguments.length;\nvar i__5750__auto___46372 \x3d (0);\nwhile(true){\nif((i__5750__auto___46372 \x3c len__5749__auto___46371)){\nargs__5755__auto__.push((arguments[i__5750__auto___46372]));\n\nvar G__46373 \x3d (i__5750__auto___46372 + (1));\ni__5750__auto___46372 \x3d G__46373;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,forms){\nvar x__$1 \x3d x;\nvar forms__$1 \x3d forms;\nwhile(true){\nif(cljs.core.truth_(forms__$1)){\nvar form \x3d cljs.core.first(forms__$1);\nvar threaded \x3d ((cljs.core.seq_QMARK_(form))?cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,cljs.core.first(form),null,(1),null)),(new cljs.core.List(null,x__$1,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.next(form)], 0)))),cljs.core.meta(form)):(new cljs.core.List(null,form,(new cljs.core.List(null,x__$1,null,(1),null)),(2),null)));\nvar G__46375 \x3d threaded;\nvar G__46376 \x3d cljs.core.next(forms__$1);\nx__$1 \x3d G__46375;\nforms__$1 \x3d G__46376;\ncontinue;\n} else {\nreturn x__$1;\n}\nbreak;\n}\n}));\n\n(sci.impl.namespaces.__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45061){\nvar G__45062 \x3d cljs.core.first(seq45061);\nvar seq45061__$1 \x3d cljs.core.next(seq45061);\nvar G__45063 \x3d cljs.core.first(seq45061__$1);\nvar seq45061__$2 \x3d cljs.core.next(seq45061__$1);\nvar G__45064 \x3d cljs.core.first(seq45061__$2);\nvar seq45061__$3 \x3d cljs.core.next(seq45061__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45062,G__45063,G__45064,seq45061__$3);\n}));\n\nsci.impl.namespaces.__GT__GT__STAR_ \x3d (function sci$impl$namespaces$__GT__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46378 \x3d arguments.length;\nvar i__5750__auto___46379 \x3d (0);\nwhile(true){\nif((i__5750__auto___46379 \x3c len__5749__auto___46378)){\nargs__5755__auto__.push((arguments[i__5750__auto___46379]));\n\nvar G__46380 \x3d (i__5750__auto___46379 + (1));\ni__5750__auto___46379 \x3d G__46380;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,forms){\nvar x__$1 \x3d x;\nvar forms__$1 \x3d forms;\nwhile(true){\nif(cljs.core.truth_(forms__$1)){\nvar form \x3d cljs.core.first(forms__$1);\nvar threaded \x3d ((cljs.core.seq_QMARK_(form))?cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,cljs.core.first(form),null,(1),null)),cljs.core.next(form),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,x__$1,null,(1),null))], 0)))),cljs.core.meta(form)):(new cljs.core.List(null,form,(new cljs.core.List(null,x__$1,null,(1),null)),(2),null)));\nvar G__46381 \x3d threaded;\nvar G__46382 \x3d cljs.core.next(forms__$1);\nx__$1 \x3d G__46381;\nforms__$1 \x3d G__46382;\ncontinue;\n} else {\nreturn x__$1;\n}\nbreak;\n}\n}));\n\n(sci.impl.namespaces.__GT__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.__GT__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45067){\nvar G__45068 \x3d cljs.core.first(seq45067);\nvar seq45067__$1 \x3d cljs.core.next(seq45067);\nvar G__45069 \x3d cljs.core.first(seq45067__$1);\nvar seq45067__$2 \x3d cljs.core.next(seq45067__$1);\nvar G__45070 \x3d cljs.core.first(seq45067__$2);\nvar seq45067__$3 \x3d cljs.core.next(seq45067__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45068,G__45069,G__45070,seq45067__$3);\n}));\n\nsci.impl.namespaces.as__GT__STAR_ \x3d (function sci$impl$namespaces$as__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46383 \x3d arguments.length;\nvar i__5750__auto___46385 \x3d (0);\nwhile(true){\nif((i__5750__auto___46385 \x3c len__5749__auto___46383)){\nargs__5755__auto__.push((arguments[i__5750__auto___46385]));\n\nvar G__46386 \x3d (i__5750__auto___46385 + (1));\ni__5750__auto___46385 \x3d G__46386;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.as__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.as__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,expr,name,forms){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,name,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(name),cljs.core.butlast(forms))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(forms))?name:cljs.core.last(forms)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.as__GT__STAR_.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.namespaces.as__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45075){\nvar G__45076 \x3d cljs.core.first(seq45075);\nvar seq45075__$1 \x3d cljs.core.next(seq45075);\nvar G__45077 \x3d cljs.core.first(seq45075__$1);\nvar seq45075__$2 \x3d cljs.core.next(seq45075__$1);\nvar G__45078 \x3d cljs.core.first(seq45075__$2);\nvar seq45075__$3 \x3d cljs.core.next(seq45075__$2);\nvar G__45079 \x3d cljs.core.first(seq45075__$3);\nvar seq45075__$4 \x3d cljs.core.next(seq45075__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45076,G__45077,G__45078,G__45079,seq45075__$4);\n}));\n\nsci.impl.namespaces.comment_STAR_ \x3d (function sci$impl$namespaces$comment_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46388 \x3d arguments.length;\nvar i__5750__auto___46389 \x3d (0);\nwhile(true){\nif((i__5750__auto___46389 \x3c len__5749__auto___46388)){\nargs__5755__auto__.push((arguments[i__5750__auto___46389]));\n\nvar G__46390 \x3d (i__5750__auto___46389 + (1));\ni__5750__auto___46389 \x3d G__46390;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.comment_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.comment_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,_body){\nreturn null;\n}));\n\n(sci.impl.namespaces.comment_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.comment_STAR_.cljs$lang$applyTo \x3d (function (seq45082){\nvar G__45083 \x3d cljs.core.first(seq45082);\nvar seq45082__$1 \x3d cljs.core.next(seq45082);\nvar G__45084 \x3d cljs.core.first(seq45082__$1);\nvar seq45082__$2 \x3d cljs.core.next(seq45082__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45083,G__45084,seq45082__$2);\n}));\n\nsci.impl.namespaces.dotimes_STAR_ \x3d (function sci$impl$namespaces$dotimes_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46391 \x3d arguments.length;\nvar i__5750__auto___46392 \x3d (0);\nwhile(true){\nif((i__5750__auto___46392 \x3c len__5749__auto___46391)){\nargs__5755__auto__.push((arguments[i__5750__auto___46392]));\n\nvar G__46394 \x3d (i__5750__auto___46392 + (1));\ni__5750__auto___46392 \x3d G__46394;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.dotimes_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.dotimes_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,bindings,body){\nif(cljs.core.vector_QMARK_(bindings)){\n} else {\nthrow (new Error(\x22Assert failed: (vector? bindings)\x22));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(bindings))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3d 2 (count bindings))\x22));\n}\n\nvar i \x3d cljs.core.first(bindings);\nvar n \x3d cljs.core.second(bindings);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22n__45085__auto__\x22,\x22n__45085__auto__\x22,714436722,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22long\x22,\x22cljs.core/long\x22,241154833,null),null,(1),null)),(new cljs.core.List(null,n,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,i,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,i,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22n__45085__auto__\x22,\x22n__45085__auto__\x22,714436722,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body,(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,i,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.dotimes_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.dotimes_STAR_.cljs$lang$applyTo \x3d (function (seq45086){\nvar G__45087 \x3d cljs.core.first(seq45086);\nvar seq45086__$1 \x3d cljs.core.next(seq45086);\nvar G__45088 \x3d cljs.core.first(seq45086__$1);\nvar seq45086__$2 \x3d cljs.core.next(seq45086__$1);\nvar G__45089 \x3d cljs.core.first(seq45086__$2);\nvar seq45086__$3 \x3d cljs.core.next(seq45086__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45087,G__45088,G__45089,seq45086__$3);\n}));\n\n/**\n * if-not from clojure.core\n */\nsci.impl.namespaces.if_not_STAR_ \x3d (function sci$impl$namespaces$if_not_STAR_(var_args){\nvar G__45103 \x3d arguments.length;\nswitch (G__45103) {\ncase 4:\nreturn sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (_AMPERSAND_form,_AMPERSAND_env,test,then){\nreturn sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$5(_AMPERSAND_form,_AMPERSAND_env,test,then,null);\n}));\n\n(sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$5 \x3d (function (__AMPERSAND_form,__AMPERSAND_env,test,then,else$){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x22,\x22cljs.core/not\x22,100665144,null),null,(1),null)),(new cljs.core.List(null,test,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,then,null,(1),null)),(new cljs.core.List(null,else$,null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.if_not_STAR_.cljs$lang$maxFixedArity \x3d 5);\n\nsci.impl.namespaces.when_STAR_ \x3d (function sci$impl$namespaces$when_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46399 \x3d arguments.length;\nvar i__5750__auto___46400 \x3d (0);\nwhile(true){\nif((i__5750__auto___46400 \x3c len__5749__auto___46399)){\nargs__5755__auto__.push((arguments[i__5750__auto___46400]));\n\nvar G__46401 \x3d (i__5750__auto___46400 + (1));\ni__5750__auto___46400 \x3d G__46401;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,test,body){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),(new cljs.core.List(null,test,(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),body),null,(1),null)),(2),null)),(3),null));\n}));\n\n(sci.impl.namespaces.when_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_STAR_.cljs$lang$applyTo \x3d (function (seq45107){\nvar G__45108 \x3d cljs.core.first(seq45107);\nvar seq45107__$1 \x3d cljs.core.next(seq45107);\nvar G__45109 \x3d cljs.core.first(seq45107__$1);\nvar seq45107__$2 \x3d cljs.core.next(seq45107__$1);\nvar G__45110 \x3d cljs.core.first(seq45107__$2);\nvar seq45107__$3 \x3d cljs.core.next(seq45107__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45108,G__45109,G__45110,seq45107__$3);\n}));\n\n/**\n * when-not from clojure.core\n */\nsci.impl.namespaces.when_not_STAR_ \x3d (function sci$impl$namespaces$when_not_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46402 \x3d arguments.length;\nvar i__5750__auto___46403 \x3d (0);\nwhile(true){\nif((i__5750__auto___46403 \x3c len__5749__auto___46402)){\nargs__5755__auto__.push((arguments[i__5750__auto___46403]));\n\nvar G__46404 \x3d (i__5750__auto___46403 + (1));\ni__5750__auto___46403 \x3d G__46404;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_not_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_not_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,test,body){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),(new cljs.core.List(null,test,(new cljs.core.List(null,null,(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),body),null,(1),null)),(2),null)),(3),null)),(4),null));\n}));\n\n(sci.impl.namespaces.when_not_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_not_STAR_.cljs$lang$applyTo \x3d (function (seq45114){\nvar G__45115 \x3d cljs.core.first(seq45114);\nvar seq45114__$1 \x3d cljs.core.next(seq45114);\nvar G__45116 \x3d cljs.core.first(seq45114__$1);\nvar seq45114__$2 \x3d cljs.core.next(seq45114__$1);\nvar G__45117 \x3d cljs.core.first(seq45114__$2);\nvar seq45114__$3 \x3d cljs.core.next(seq45114__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45115,G__45116,G__45117,seq45114__$3);\n}));\n\n/**\n * doto from clojure.core\n */\nsci.impl.namespaces.doto_STAR_ \x3d (function sci$impl$namespaces$doto_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46405 \x3d arguments.length;\nvar i__5750__auto___46406 \x3d (0);\nwhile(true){\nif((i__5750__auto___46406 \x3c len__5749__auto___46405)){\nargs__5755__auto__.push((arguments[i__5750__auto___46406]));\n\nvar G__46407 \x3d (i__5750__auto___46406 + (1));\ni__5750__auto___46406 \x3d G__46407;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.doto_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.doto_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,x,forms){\nvar gx \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gx,null,(1),null)),(new cljs.core.List(null,x,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (f){\nreturn cljs.core.with_meta(((cljs.core.seq_QMARK_(f))?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,cljs.core.first(f),null,(1),null)),(new cljs.core.List(null,gx,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.next(f)], 0)))):cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,f,null,(1),null)),(new cljs.core.List(null,gx,null,(1),null)))))),cljs.core.meta(f));\n}),forms),(new cljs.core.List(null,gx,null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.doto_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.doto_STAR_.cljs$lang$applyTo \x3d (function (seq45122){\nvar G__45123 \x3d cljs.core.first(seq45122);\nvar seq45122__$1 \x3d cljs.core.next(seq45122);\nvar G__45124 \x3d cljs.core.first(seq45122__$1);\nvar seq45122__$2 \x3d cljs.core.next(seq45122__$1);\nvar G__45125 \x3d cljs.core.first(seq45122__$2);\nvar seq45122__$3 \x3d cljs.core.next(seq45122__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45123,G__45124,G__45125,seq45122__$3);\n}));\n\nsci.impl.namespaces.cond_STAR_ \x3d (function sci$impl$namespaces$cond_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46410 \x3d arguments.length;\nvar i__5750__auto___46411 \x3d (0);\nwhile(true){\nif((i__5750__auto___46411 \x3c len__5749__auto___46410)){\nargs__5755__auto__.push((arguments[i__5750__auto___46411]));\n\nvar G__46412 \x3d (i__5750__auto___46411 + (1));\ni__5750__auto___46411 \x3d G__46412;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.cond_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.cond_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,clauses){\nif(cljs.core.truth_(clauses)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),(new cljs.core.List(null,cljs.core.first(clauses),(new cljs.core.List(null,((cljs.core.next(clauses))?cljs.core.second(clauses):(function(){throw (new Error(\x22cond requires an even number of forms\x22))})()),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(\x22clojure.core\x22,\x22cond\x22,\x22clojure.core/cond\x22,1906951420,null),cljs.core.next(cljs.core.next(clauses))),null,(1),null)),(2),null)),(3),null)),(4),null));\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.namespaces.cond_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.cond_STAR_.cljs$lang$applyTo \x3d (function (seq45321){\nvar G__45322 \x3d cljs.core.first(seq45321);\nvar seq45321__$1 \x3d cljs.core.next(seq45321);\nvar G__45323 \x3d cljs.core.first(seq45321__$1);\nvar seq45321__$2 \x3d cljs.core.next(seq45321__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45322,G__45323,seq45321__$2);\n}));\n\nsci.impl.namespaces.cond__GT__STAR_ \x3d (function sci$impl$namespaces$cond__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46413 \x3d arguments.length;\nvar i__5750__auto___46414 \x3d (0);\nwhile(true){\nif((i__5750__auto___46414 \x3c len__5749__auto___46413)){\nargs__5755__auto__.push((arguments[i__5750__auto___46414]));\n\nvar G__46415 \x3d (i__5750__auto___46414 + (1));\ni__5750__auto___46414 \x3d G__46415;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.cond__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.cond__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,expr,clauses){\nif(cljs.core.even_QMARK_(cljs.core.count(clauses))){\n} else {\nthrow (new Error(\x22Assert failed: (even? (count clauses))\x22));\n}\n\nvar g \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar steps \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__45331){\nvar vec__45332 \x3d p__45331;\nvar test \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45332,(0),null);\nvar step \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45332,(1),null);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,test,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x3e\x22,\x22cljs.core/-\x3e\x22,1488366311,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,step,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,g,null,(1),null))], 0))));\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),clauses));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,g,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(g),cljs.core.butlast(steps))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(steps))?g:cljs.core.last(steps)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.cond__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.cond__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45325){\nvar G__45326 \x3d cljs.core.first(seq45325);\nvar seq45325__$1 \x3d cljs.core.next(seq45325);\nvar G__45327 \x3d cljs.core.first(seq45325__$1);\nvar seq45325__$2 \x3d cljs.core.next(seq45325__$1);\nvar G__45328 \x3d cljs.core.first(seq45325__$2);\nvar seq45325__$3 \x3d cljs.core.next(seq45325__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45326,G__45327,G__45328,seq45325__$3);\n}));\n\nsci.impl.namespaces.cond__GT__GT__STAR_ \x3d (function sci$impl$namespaces$cond__GT__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46418 \x3d arguments.length;\nvar i__5750__auto___46419 \x3d (0);\nwhile(true){\nif((i__5750__auto___46419 \x3c len__5749__auto___46418)){\nargs__5755__auto__.push((arguments[i__5750__auto___46419]));\n\nvar G__46420 \x3d (i__5750__auto___46419 + (1));\ni__5750__auto___46419 \x3d G__46420;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.cond__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.cond__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,expr,clauses){\nif(cljs.core.even_QMARK_(cljs.core.count(clauses))){\n} else {\nthrow (new Error(\x22Assert failed: (even? (count clauses))\x22));\n}\n\nvar g \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar steps \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__45347){\nvar vec__45348 \x3d p__45347;\nvar test \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45348,(0),null);\nvar step \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45348,(1),null);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,test,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x3e\x3e\x22,\x22cljs.core/-\x3e\x3e\x22,-1207871206,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,step,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,g,null,(1),null))], 0))));\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),clauses));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,g,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(g),cljs.core.butlast(steps))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(steps))?g:cljs.core.last(steps)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.cond__GT__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.cond__GT__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45340){\nvar G__45341 \x3d cljs.core.first(seq45340);\nvar seq45340__$1 \x3d cljs.core.next(seq45340);\nvar G__45342 \x3d cljs.core.first(seq45340__$1);\nvar seq45340__$2 \x3d cljs.core.next(seq45340__$1);\nvar G__45344 \x3d cljs.core.first(seq45340__$2);\nvar seq45340__$3 \x3d cljs.core.next(seq45340__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45341,G__45342,G__45344,seq45340__$3);\n}));\n\nsci.impl.namespaces.if_let_STAR_ \x3d (function sci$impl$namespaces$if_let_STAR_(var_args){\nvar G__45359 \x3d arguments.length;\nswitch (G__45359) {\ncase 4:\nreturn sci.impl.namespaces.if_let_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46423 \x3d arguments.length;\nvar i__5750__auto___46424 \x3d (0);\nwhile(true){\nif((i__5750__auto___46424 \x3c len__5749__auto___46423)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46424]));\n\nvar G__46425 \x3d (i__5750__auto___46424 + (1));\ni__5750__auto___46424 \x3d G__46425;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((5) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((5)),(0),null)):null);\nreturn sci.impl.namespaces.if_let_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.if_let_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (_AMPERSAND_form,_AMPERSAND_env,bindings,then){\nreturn sci.impl.namespaces.if_let_STAR_(_AMPERSAND_form,_AMPERSAND_env,bindings,then,null);\n}));\n\n(sci.impl.namespaces.if_let_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_AMPERSAND_form,__AMPERSAND_env,bindings,then,else$,_oldform){\nvar form \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0)));\nvar tst \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((1)) : bindings.call(null,(1)));\nvar tmp \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22temp\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,tmp,null,(1),null)),(new cljs.core.List(null,tst,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,then,null,(1),null))], 0)))),cljs.core.meta(_AMPERSAND_form)),null,(1),null)),(new cljs.core.List(null,else$,null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.if_let_STAR_.cljs$lang$applyTo \x3d (function (seq45353){\nvar G__45354 \x3d cljs.core.first(seq45353);\nvar seq45353__$1 \x3d cljs.core.next(seq45353);\nvar G__45355 \x3d cljs.core.first(seq45353__$1);\nvar seq45353__$2 \x3d cljs.core.next(seq45353__$1);\nvar G__45356 \x3d cljs.core.first(seq45353__$2);\nvar seq45353__$3 \x3d cljs.core.next(seq45353__$2);\nvar G__45357 \x3d cljs.core.first(seq45353__$3);\nvar seq45353__$4 \x3d cljs.core.next(seq45353__$3);\nvar G__45358 \x3d cljs.core.first(seq45353__$4);\nvar seq45353__$5 \x3d cljs.core.next(seq45353__$4);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45354,G__45355,G__45356,G__45357,G__45358,seq45353__$5);\n}));\n\n(sci.impl.namespaces.if_let_STAR_.cljs$lang$maxFixedArity \x3d (5));\n\nsci.impl.namespaces.if_some_STAR_ \x3d (function sci$impl$namespaces$if_some_STAR_(var_args){\nvar G__45368 \x3d arguments.length;\nswitch (G__45368) {\ncase 4:\nreturn sci.impl.namespaces.if_some_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46428 \x3d arguments.length;\nvar i__5750__auto___46429 \x3d (0);\nwhile(true){\nif((i__5750__auto___46429 \x3c len__5749__auto___46428)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46429]));\n\nvar G__46430 \x3d (i__5750__auto___46429 + (1));\ni__5750__auto___46429 \x3d G__46430;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((5) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((5)),(0),null)):null);\nreturn sci.impl.namespaces.if_some_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.if_some_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (_AMPERSAND_form,_AMPERSAND_env,bindings,then){\nreturn sci.impl.namespaces.if_some_STAR_(_AMPERSAND_form,_AMPERSAND_env,bindings,then,null);\n}));\n\n(sci.impl.namespaces.if_some_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_AMPERSAND_form,__AMPERSAND_env,bindings,then,else$,_oldform){\nvar form \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0)));\nvar tst \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((1)) : bindings.call(null,(1)));\nvar tmp \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22temp\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,tmp,null,(1),null)),(new cljs.core.List(null,tst,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,else$,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,then,null,(1),null))], 0)))),cljs.core.meta(_AMPERSAND_form)),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.if_some_STAR_.cljs$lang$applyTo \x3d (function (seq45362){\nvar G__45363 \x3d cljs.core.first(seq45362);\nvar seq45362__$1 \x3d cljs.core.next(seq45362);\nvar G__45364 \x3d cljs.core.first(seq45362__$1);\nvar seq45362__$2 \x3d cljs.core.next(seq45362__$1);\nvar G__45365 \x3d cljs.core.first(seq45362__$2);\nvar seq45362__$3 \x3d cljs.core.next(seq45362__$2);\nvar G__45366 \x3d cljs.core.first(seq45362__$3);\nvar seq45362__$4 \x3d cljs.core.next(seq45362__$3);\nvar G__45367 \x3d cljs.core.first(seq45362__$4);\nvar seq45362__$5 \x3d cljs.core.next(seq45362__$4);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45363,G__45364,G__45365,G__45366,G__45367,seq45362__$5);\n}));\n\n(sci.impl.namespaces.if_some_STAR_.cljs$lang$maxFixedArity \x3d (5));\n\nsci.impl.namespaces.when_let_STAR_ \x3d (function sci$impl$namespaces$when_let_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46433 \x3d arguments.length;\nvar i__5750__auto___46434 \x3d (0);\nwhile(true){\nif((i__5750__auto___46434 \x3c len__5749__auto___46433)){\nargs__5755__auto__.push((arguments[i__5750__auto___46434]));\n\nvar G__46435 \x3d (i__5750__auto___46434 + (1));\ni__5750__auto___46434 \x3d G__46435;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_let_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_let_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_AMPERSAND_form,__AMPERSAND_env,bindings,body){\nvar form \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0)));\nvar tst \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((1)) : bindings.call(null,(1)));\nvar tmp \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22temp\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,tmp,null,(1),null)),(new cljs.core.List(null,tst,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),cljs.core.meta(_AMPERSAND_form)),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.when_let_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_let_STAR_.cljs$lang$applyTo \x3d (function (seq45369){\nvar G__45370 \x3d cljs.core.first(seq45369);\nvar seq45369__$1 \x3d cljs.core.next(seq45369);\nvar G__45371 \x3d cljs.core.first(seq45369__$1);\nvar seq45369__$2 \x3d cljs.core.next(seq45369__$1);\nvar G__45372 \x3d cljs.core.first(seq45369__$2);\nvar seq45369__$3 \x3d cljs.core.next(seq45369__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45370,G__45371,G__45372,seq45369__$3);\n}));\n\nsci.impl.namespaces.when_first_STAR_ \x3d (function sci$impl$namespaces$when_first_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46439 \x3d arguments.length;\nvar i__5750__auto___46440 \x3d (0);\nwhile(true){\nif((i__5750__auto___46440 \x3c len__5749__auto___46439)){\nargs__5755__auto__.push((arguments[i__5750__auto___46440]));\n\nvar G__46441 \x3d (i__5750__auto___46440 + (1));\ni__5750__auto___46440 \x3d G__46441;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_first_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_first_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,bindings,body){\nvar vec__45388 \x3d bindings;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45388,(0),null);\nvar xs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45388,(1),null);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-let\x22,\x22cljs.core/when-let\x22,-2049838349,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22xs__45379__auto__\x22,\x22xs__45379__auto__\x22,1601030529,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,xs,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,x,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22first\x22,\x22cljs.core/first\x22,-752535972,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22xs__45379__auto__\x22,\x22xs__45379__auto__\x22,1601030529,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.when_first_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_first_STAR_.cljs$lang$applyTo \x3d (function (seq45380){\nvar G__45381 \x3d cljs.core.first(seq45380);\nvar seq45380__$1 \x3d cljs.core.next(seq45380);\nvar G__45382 \x3d cljs.core.first(seq45380__$1);\nvar seq45380__$2 \x3d cljs.core.next(seq45380__$1);\nvar G__45383 \x3d cljs.core.first(seq45380__$2);\nvar seq45380__$3 \x3d cljs.core.next(seq45380__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45381,G__45382,G__45383,seq45380__$3);\n}));\n\nsci.impl.namespaces.when_some_STAR_ \x3d (function sci$impl$namespaces$when_some_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46445 \x3d arguments.length;\nvar i__5750__auto___46446 \x3d (0);\nwhile(true){\nif((i__5750__auto___46446 \x3c len__5749__auto___46445)){\nargs__5755__auto__.push((arguments[i__5750__auto___46446]));\n\nvar G__46448 \x3d (i__5750__auto___46446 + (1));\ni__5750__auto___46446 \x3d G__46448;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_some_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_some_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_AMPERSAND_form,_,bindings,body){\nvar form \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0)));\nvar tst \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((1)) : bindings.call(null,(1)));\nvar tmp \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22temp\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,tmp,null,(1),null)),(new cljs.core.List(null,tst,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),cljs.core.meta(_AMPERSAND_form)),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.when_some_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_some_STAR_.cljs$lang$applyTo \x3d (function (seq45399){\nvar G__45400 \x3d cljs.core.first(seq45399);\nvar seq45399__$1 \x3d cljs.core.next(seq45399);\nvar G__45401 \x3d cljs.core.first(seq45399__$1);\nvar seq45399__$2 \x3d cljs.core.next(seq45399__$1);\nvar G__45402 \x3d cljs.core.first(seq45399__$2);\nvar seq45399__$3 \x3d cljs.core.next(seq45399__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45400,G__45401,G__45402,seq45399__$3);\n}));\n\nsci.impl.namespaces.some__GT__STAR_ \x3d (function sci$impl$namespaces$some__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46461 \x3d arguments.length;\nvar i__5750__auto___46462 \x3d (0);\nwhile(true){\nif((i__5750__auto___46462 \x3c len__5749__auto___46461)){\nargs__5755__auto__.push((arguments[i__5750__auto___46462]));\n\nvar G__46463 \x3d (i__5750__auto___46462 + (1));\ni__5750__auto___46462 \x3d G__46463;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.some__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.some__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,expr,forms){\nvar g \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar steps \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (step){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x3e\x22,\x22cljs.core/-\x3e\x22,1488366311,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,step,null,(1),null))], 0)))),null,(1),null))], 0))));\n}),forms);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,g,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(g),cljs.core.butlast(steps))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(steps))?g:cljs.core.last(steps)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.some__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.some__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45408){\nvar G__45409 \x3d cljs.core.first(seq45408);\nvar seq45408__$1 \x3d cljs.core.next(seq45408);\nvar G__45410 \x3d cljs.core.first(seq45408__$1);\nvar seq45408__$2 \x3d cljs.core.next(seq45408__$1);\nvar G__45411 \x3d cljs.core.first(seq45408__$2);\nvar seq45408__$3 \x3d cljs.core.next(seq45408__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45409,G__45410,G__45411,seq45408__$3);\n}));\n\nsci.impl.namespaces.some__GT__GT__STAR_ \x3d (function sci$impl$namespaces$some__GT__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46466 \x3d arguments.length;\nvar i__5750__auto___46467 \x3d (0);\nwhile(true){\nif((i__5750__auto___46467 \x3c len__5749__auto___46466)){\nargs__5755__auto__.push((arguments[i__5750__auto___46467]));\n\nvar G__46468 \x3d (i__5750__auto___46467 + (1));\ni__5750__auto___46467 \x3d G__46468;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.some__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.some__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,expr,forms){\nvar g \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar steps \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (step){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x3e\x3e\x22,\x22cljs.core/-\x3e\x3e\x22,-1207871206,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,step,null,(1),null))], 0)))),null,(1),null))], 0))));\n}),forms);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,g,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(g),cljs.core.butlast(steps))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(steps))?g:cljs.core.last(steps)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.some__GT__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.some__GT__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45418){\nvar G__45419 \x3d cljs.core.first(seq45418);\nvar seq45418__$1 \x3d cljs.core.next(seq45418);\nvar G__45420 \x3d cljs.core.first(seq45418__$1);\nvar seq45418__$2 \x3d cljs.core.next(seq45418__$1);\nvar G__45421 \x3d cljs.core.first(seq45418__$2);\nvar seq45418__$3 \x3d cljs.core.next(seq45418__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45419,G__45420,G__45421,seq45418__$3);\n}));\n\n/**\n * defs the supplied var names with no bindings, useful for making forward declarations.\n */\nsci.impl.namespaces.declare_STAR_ \x3d (function sci$impl$namespaces$declare_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46473 \x3d arguments.length;\nvar i__5750__auto___46474 \x3d (0);\nwhile(true){\nif((i__5750__auto___46474 \x3c len__5749__auto___46473)){\nargs__5755__auto__.push((arguments[i__5750__auto___46474]));\n\nvar G__46475 \x3d (i__5750__auto___46474 + (1));\ni__5750__auto___46474 \x3d G__46475;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.declare_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.declare_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,names){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45428_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),(new cljs.core.List(null,cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(p1__45428_SHARP_,cljs.core.assoc,new cljs.core.Keyword(null,\x22declared\x22,\x22declared\x22,92336021),true),null,(1),null)),(2),null));\n}),names))));\n}));\n\n(sci.impl.namespaces.declare_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.declare_STAR_.cljs$lang$applyTo \x3d (function (seq45430){\nvar G__45431 \x3d cljs.core.first(seq45430);\nvar seq45430__$1 \x3d cljs.core.next(seq45430);\nvar G__45432 \x3d cljs.core.first(seq45430__$1);\nvar seq45430__$2 \x3d cljs.core.next(seq45430__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45431,G__45432,seq45430__$2);\n}));\n\nsci.impl.namespaces.ex_message \x3d (function (){var temp__5802__auto__ \x3d (((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.ex_message !\x3d\x3d \x27undefined\x27))?(new cljs.core.Var((function (){\nreturn cljs.core.ex_message;\n}),cljs.core.with_meta(new cljs.core.Symbol(\x22cljs.core\x22,\x22ex-message\x22,\x22cljs.core/ex-message\x22,-747602175,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22ex-message\x22,\x22ex-message\x22,-1128293394,null),\x22cljs/core.cljs\x22,17,1,11822,11822,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ex\x22,\x22ex\x22,226760186,null)], null)),\x22Returns the message attached to the given Error / ExceptionInfo object.\\n  For non-Errors returns nil.\x22,(cljs.core.truth_(cljs.core.ex_message)?cljs.core.ex_message.cljs$lang$test:null)]))):null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreturn cljs.core.deref(v);\n} else {\nreturn (function sci$impl$namespaces$ex_message(ex){\nif((ex instanceof Error)){\nreturn ex.message;\n} else {\nreturn null;\n}\n});\n}\n})();\nsci.impl.namespaces.ex_cause \x3d (function (){var temp__5802__auto__ \x3d (((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.ex_cause !\x3d\x3d \x27undefined\x27))?(new cljs.core.Var((function (){\nreturn cljs.core.ex_cause;\n}),cljs.core.with_meta(new cljs.core.Symbol(\x22cljs.core\x22,\x22ex-cause\x22,\x22cljs.core/ex-cause\x22,1843478517,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22ex-cause\x22,\x22ex-cause\x22,95392590,null),\x22cljs/core.cljs\x22,15,1,11829,11829,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ex\x22,\x22ex\x22,226760186,null)], null)),\x22Returns exception cause (an Error / ExceptionInfo) if ex is an\\n  ExceptionInfo.\\n  Otherwise returns nil.\x22,(cljs.core.truth_(cljs.core.ex_cause)?cljs.core.ex_cause.cljs$lang$test:null)]))):null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar v \x3d temp__5802__auto__;\nreturn cljs.core.deref(v);\n} else {\nreturn (function sci$impl$namespaces$ex_message(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.cause;\n} else {\nreturn null;\n}\n});\n}\n})();\nsci.impl.namespaces.assert_var \x3d sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*assert*\x22,\x22*assert*\x22,1479636474,null),true,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null));\nsci.impl.namespaces.assert_STAR_ \x3d (function sci$impl$namespaces$assert_STAR_(var_args){\nvar G__45443 \x3d arguments.length;\nswitch (G__45443) {\ncase 3:\nreturn sci.impl.namespaces.assert_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.namespaces.assert_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.assert_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (__AMPERSAND_form,_,x){\nif(cljs.core.truth_(cljs.core.deref(sci.impl.namespaces.assert_var))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-not\x22,\x22cljs.core/when-not\x22,-556141047,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error.\x22,\x22js/Error.\x22,750655924,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Assert failed: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22pr-str\x22,\x22cljs.core/pr-str\x22,-552799478,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.namespaces.assert_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (__AMPERSAND_form,_,x,message){\nif(cljs.core.truth_(cljs.core.deref(sci.impl.namespaces.assert_var))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-not\x22,\x22cljs.core/when-not\x22,-556141047,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error.\x22,\x22js/Error.\x22,750655924,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Assert failed: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,message,null,(1),null)),(new cljs.core.List(null,\x22\\n\x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22pr-str\x22,\x22cljs.core/pr-str\x22,-552799478,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.namespaces.assert_STAR_.cljs$lang$maxFixedArity \x3d 4);\n\nsci.impl.namespaces.areduce_STAR_ \x3d (function sci$impl$namespaces$areduce_STAR_(_,___$1,a,idx,ret,init,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45450__auto__\x22,\x22a__45450__auto__\x22,1126925357,null),null,(1),null)),(new cljs.core.List(null,a,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22l__45451__auto__\x22,\x22l__45451__auto__\x22,-1193114042,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alength\x22,\x22cljs.core/alength\x22,-1012804190,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45450__auto__\x22,\x22a__45450__auto__\x22,1126925357,null),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22loop\x22,\x22cljs.core/loop\x22,-1829423021,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,idx,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,ret,null,(1),null)),(new cljs.core.List(null,init,null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,idx,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22l__45451__auto__\x22,\x22l__45451__auto__\x22,-1193114042,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc-int\x22,\x22cljs.core/unchecked-inc-int\x22,-2007014592,null),null,(1),null)),(new cljs.core.List(null,idx,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,ret,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n});\nsci.impl.namespaces.amap_STAR_ \x3d (function sci$impl$namespaces$amap_STAR_(_,___$1,a,idx,ret,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45457__auto__\x22,\x22a__45457__auto__\x22,84294315,null),null,(1),null)),(new cljs.core.List(null,a,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22l__45458__auto__\x22,\x22l__45458__auto__\x22,923799993,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alength\x22,\x22cljs.core/alength\x22,-1012804190,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45457__auto__\x22,\x22a__45457__auto__\x22,84294315,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,ret,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22aclone\x22,\x22cljs.core/aclone\x22,-758078968,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45457__auto__\x22,\x22a__45457__auto__\x22,84294315,null),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22loop\x22,\x22cljs.core/loop\x22,-1829423021,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,idx,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,idx,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22l__45458__auto__\x22,\x22l__45458__auto__\x22,923799993,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22aset\x22,\x22cljs.core/aset\x22,-898215545,null),null,(1),null)),(new cljs.core.List(null,ret,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,idx,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,idx,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,ret,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n});\nsci.impl.namespaces.with_open_STAR_ \x3d (function sci$impl$namespaces$with_open_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46506 \x3d arguments.length;\nvar i__5750__auto___46507 \x3d (0);\nwhile(true){\nif((i__5750__auto___46507 \x3c len__5749__auto___46506)){\nargs__5755__auto__.push((arguments[i__5750__auto___46507]));\n\nvar G__46508 \x3d (i__5750__auto___46507 + (1));\ni__5750__auto___46507 \x3d G__46508;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.with_open_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.with_open_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,bindings,body){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(bindings))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body)));\n} else {\nif(((bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0))) instanceof cljs.core.Symbol)){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(bindings,(0),(2)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.namespaces\x22,\x22with-open\x22,\x22sci.impl.namespaces/with-open\x22,-1695932508,null),null,(1),null)),(new cljs.core.List(null,cljs.core.subvec.cljs$core$IFn$_invoke$arity$2(bindings,(2)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.close\x22,\x22.close\x22,-1017758745,null),null,(1),null)),(new cljs.core.List(null,(bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0))),null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n} else {\nreturn new cljs.core.Keyword(\x22sci.impl.namespaces\x22,\x22TODO\x22,\x22sci.impl.namespaces/TODO\x22,-1842365958);\n\n}\n}\n}));\n\n(sci.impl.namespaces.with_open_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.with_open_STAR_.cljs$lang$applyTo \x3d (function (seq45465){\nvar G__45466 \x3d cljs.core.first(seq45465);\nvar seq45465__$1 \x3d cljs.core.next(seq45465);\nvar G__45467 \x3d cljs.core.first(seq45465__$1);\nvar seq45465__$2 \x3d cljs.core.next(seq45465__$1);\nvar G__45468 \x3d cljs.core.first(seq45465__$2);\nvar seq45465__$3 \x3d cljs.core.next(seq45465__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45466,G__45467,G__45468,seq45465__$3);\n}));\n\nsci.impl.namespaces.letfn_STAR_ \x3d (function sci$impl$namespaces$letfn_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46513 \x3d arguments.length;\nvar i__5750__auto___46514 \x3d (0);\nwhile(true){\nif((i__5750__auto___46514 \x3c len__5749__auto___46513)){\nargs__5755__auto__.push((arguments[i__5750__auto___46514]));\n\nvar G__46516 \x3d (i__5750__auto___46514 + (1));\ni__5750__auto___46514 \x3d G__46516;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.letfn_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.letfn_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,fnspecs,body){\nvar syms \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,fnspecs);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(syms,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.list(new cljs.core.Symbol(\x22clojure.core\x22,\x22-new-var\x22,\x22clojure.core/-new-var\x22,363339052,null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (sym,fn_spec){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-var-root\x22,\x22cljs.core/alter-var-root\x22,-1342668238,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22constantly\x22,\x22cljs.core/constantly\x22,119002258,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.rest(fn_spec)], 0)))),null,(1),null))))),null,(1),null))], 0))));\n}),syms,fnspecs),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(syms,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (sym){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22var-get\x22,\x22cljs.core/var-get\x22,-91823622,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null)))));\n}),syms))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.letfn_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.letfn_STAR_.cljs$lang$applyTo \x3d (function (seq45478){\nvar G__45480 \x3d cljs.core.first(seq45478);\nvar seq45478__$1 \x3d cljs.core.next(seq45478);\nvar G__45481 \x3d cljs.core.first(seq45478__$1);\nvar seq45478__$2 \x3d cljs.core.next(seq45478__$1);\nvar G__45482 \x3d cljs.core.first(seq45478__$2);\nvar seq45478__$3 \x3d cljs.core.next(seq45478__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45480,G__45481,G__45482,seq45478__$3);\n}));\n\nsci.impl.namespaces.with_local_vars_STAR_ \x3d (function sci$impl$namespaces$with_local_vars_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46521 \x3d arguments.length;\nvar i__5750__auto___46522 \x3d (0);\nwhile(true){\nif((i__5750__auto___46522 \x3c len__5749__auto___46521)){\nargs__5755__auto__.push((arguments[i__5750__auto___46522]));\n\nvar G__46524 \x3d (i__5750__auto___46522 + (1));\ni__5750__auto___46522 \x3d G__46524;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.with_local_vars_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.with_local_vars_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,name_vals_vec,body){\nif(cljs.core.vector_QMARK_(name_vals_vec)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22with-local-vars requires a vector for its bindings\x22,form);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(name_vals_vec))){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22with-local-vars requires an even number of forms in binding vector\x22,form);\n}\n\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),name_vals_vec),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.list(new cljs.core.Symbol(\x22clojure.core\x22,\x22-new-dynamic-var\x22,\x22clojure.core/-new-dynamic-var\x22,-1873937019,null)))))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22push-thread-bindings\x22,\x22cljs.core/push-thread-bindings\x22,-703482450,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-map\x22,\x22cljs.core/hash-map\x22,303385767,null),null,(1),null)),name_vals_vec))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),null,(1),null)),body,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22pop-thread-bindings\x22,\x22cljs.core/pop-thread-bindings\x22,-1994943347,null),null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.with_local_vars_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.with_local_vars_STAR_.cljs$lang$applyTo \x3d (function (seq45489){\nvar G__45490 \x3d cljs.core.first(seq45489);\nvar seq45489__$1 \x3d cljs.core.next(seq45489);\nvar G__45491 \x3d cljs.core.first(seq45489__$1);\nvar seq45489__$2 \x3d cljs.core.next(seq45489__$1);\nvar G__45492 \x3d cljs.core.first(seq45489__$2);\nvar seq45489__$3 \x3d cljs.core.next(seq45489__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45490,G__45491,G__45492,seq45489__$3);\n}));\n\n/**\n * Non-atomically swaps the value of the volatile as if:\n * (apply f current-value-of-vol args). Returns the value that\n * was swapped in.\n */\nsci.impl.namespaces.vswap_BANG_ \x3d (function sci$impl$namespaces$vswap_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46528 \x3d arguments.length;\nvar i__5750__auto___46529 \x3d (0);\nwhile(true){\nif((i__5750__auto___46529 \x3c len__5749__auto___46528)){\nargs__5755__auto__.push((arguments[i__5750__auto___46529]));\n\nvar G__46530 \x3d (i__5750__auto___46529 + (1));\ni__5750__auto___46529 \x3d G__46530;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.vswap_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.vswap_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,vol,f,args){\nvar v \x3d vol;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22vreset!\x22,\x22cljs.core/vreset!\x22,-1308835928,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,f,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22deref\x22,\x22cljs.core/deref\x22,1901963335,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.vswap_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.namespaces.vswap_BANG_.cljs$lang$applyTo \x3d (function (seq45512){\nvar G__45513 \x3d cljs.core.first(seq45512);\nvar seq45512__$1 \x3d cljs.core.next(seq45512);\nvar G__45514 \x3d cljs.core.first(seq45512__$1);\nvar seq45512__$2 \x3d cljs.core.next(seq45512__$1);\nvar G__45515 \x3d cljs.core.first(seq45512__$2);\nvar seq45512__$3 \x3d cljs.core.next(seq45512__$2);\nvar G__45516 \x3d cljs.core.first(seq45512__$3);\nvar seq45512__$4 \x3d cljs.core.next(seq45512__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45513,G__45514,G__45515,G__45516,seq45512__$4);\n}));\n\n/**\n * Expands into code that creates a fn that expects to be passed an\n *   object and any args and calls the named instance method on the\n *   object passing the args. Use when you want to treat a JavaScript\n *   method as a first-class fn.\n */\nsci.impl.namespaces.memfn \x3d cljs.core.with_meta((function() { \nvar sci$impl$namespaces$memfn__delegate \x3d function (_,___$1,name,args){\nvar t \x3d cljs.core.with_meta(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22target\x22),cljs.core.meta(name));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,t,null,(1),null)),args)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),null,(1),null)),(new cljs.core.List(null,t,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,name,null,(1),null)),args))),null,(1),null))], 0)))),null,(1),null))], 0))));\n};\nvar sci$impl$namespaces$memfn \x3d function (_,___$1,name,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__46535__i \x3d 0, G__46535__a \x3d new Array(arguments.length -  3);\nwhile (G__46535__i \x3c G__46535__a.length) {G__46535__a[G__46535__i] \x3d arguments[G__46535__i + 3]; ++G__46535__i;}\n  args \x3d new cljs.core.IndexedSeq(G__46535__a,0,null);\n} \nreturn sci$impl$namespaces$memfn__delegate.call(this,_,___$1,name,args);};\nsci$impl$namespaces$memfn.cljs$lang$maxFixedArity \x3d 3;\nsci$impl$namespaces$memfn.cljs$lang$applyTo \x3d (function (arglist__46537){\nvar _ \x3d cljs.core.first(arglist__46537);\narglist__46537 \x3d cljs.core.next(arglist__46537);\nvar ___$1 \x3d cljs.core.first(arglist__46537);\narglist__46537 \x3d cljs.core.next(arglist__46537);\nvar name \x3d cljs.core.first(arglist__46537);\nvar args \x3d cljs.core.rest(arglist__46537);\nreturn sci$impl$namespaces$memfn__delegate(_,___$1,name,args);\n});\nsci$impl$namespaces$memfn.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$namespaces$memfn__delegate;\nreturn sci$impl$namespaces$memfn;\n})()\n,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),true], null));\nsci.impl.namespaces.delay_STAR_ \x3d (function sci$impl$namespaces$delay_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46538 \x3d arguments.length;\nvar i__5750__auto___46540 \x3d (0);\nwhile(true){\nif((i__5750__auto___46540 \x3c len__5749__auto___46538)){\nargs__5755__auto__.push((arguments[i__5750__auto___46540]));\n\nvar G__46542 \x3d (i__5750__auto___46540 + (1));\ni__5750__auto___46540 \x3d G__46542;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.delay_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.delay_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22Delay\x22,\x22cljs.core/Delay\x22,-21574999,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.delay_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.delay_STAR_.cljs$lang$applyTo \x3d (function (seq45539){\nvar G__45540 \x3d cljs.core.first(seq45539);\nvar seq45539__$1 \x3d cljs.core.next(seq45539);\nvar G__45541 \x3d cljs.core.first(seq45539__$1);\nvar seq45539__$2 \x3d cljs.core.next(seq45539__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45540,G__45541,seq45539__$2);\n}));\n\nsci.impl.namespaces.defn__STAR_ \x3d (function sci$impl$namespaces$defn__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46544 \x3d arguments.length;\nvar i__5750__auto___46545 \x3d (0);\nwhile(true){\nif((i__5750__auto___46545 \x3c len__5749__auto___46544)){\nargs__5755__auto__.push((arguments[i__5750__auto___46545]));\n\nvar G__46546 \x3d (i__5750__auto___46545 + (1));\ni__5750__auto___46545 \x3d G__46546;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.defn__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.defn__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,name,decls){\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),cljs.core.with_meta(name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(name),new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true)),decls);\n}));\n\n(sci.impl.namespaces.defn__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.defn__STAR_.cljs$lang$applyTo \x3d (function (seq45546){\nvar G__45547 \x3d cljs.core.first(seq45546);\nvar seq45546__$1 \x3d cljs.core.next(seq45546);\nvar G__45548 \x3d cljs.core.first(seq45546__$1);\nvar seq45546__$2 \x3d cljs.core.next(seq45546__$1);\nvar G__45549 \x3d cljs.core.first(seq45546__$2);\nvar seq45546__$3 \x3d cljs.core.next(seq45546__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45547,G__45548,G__45549,seq45546__$3);\n}));\n\nsci.impl.namespaces.condp_STAR_ \x3d (function sci$impl$namespaces$condp_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46548 \x3d arguments.length;\nvar i__5750__auto___46549 \x3d (0);\nwhile(true){\nif((i__5750__auto___46549 \x3c len__5749__auto___46548)){\nargs__5755__auto__.push((arguments[i__5750__auto___46549]));\n\nvar G__46550 \x3d (i__5750__auto___46549 + (1));\ni__5750__auto___46549 \x3d G__46550;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.condp_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.condp_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,pred,expr,clauses){\nvar gpred \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22pred__\x22);\nvar gexpr \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22expr__\x22);\nvar emit \x3d (function sci$impl$namespaces$emit(pred__$1,expr__$1,args){\nvar vec__45564 \x3d cljs.core.split_at(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22\x3e\x3e\x22,\x22\x3e\x3e\x22,-277509267),cljs.core.second(args)))?(3):(2)),args);\nvar vec__45567 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45564,(0),null);\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45567,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45567,(1),null);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45567,(2),null);\nvar clause \x3d vec__45567;\nvar more \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45564,(1),null);\nvar n \x3d cljs.core.count(clause);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),n)){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22No matching clause: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr__$1,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),n)){\nreturn a;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),n)){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,pred__$1,null,(1),null)),(new cljs.core.List(null,a,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr__$1,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,b,null,(1),null)),(new cljs.core.List(null,sci$impl$namespaces$emit(pred__$1,expr__$1,more),null,(1),null))], 0))));\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22p__45555__auto__\x22,\x22p__45555__auto__\x22,786902741,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,pred__$1,null,(1),null)),(new cljs.core.List(null,a,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr__$1,null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,c,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22p__45555__auto__\x22,\x22p__45555__auto__\x22,786902741,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,sci$impl$namespaces$emit(pred__$1,expr__$1,more),null,(1),null))], 0))));\n\n}\n}\n}\n});\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,gpred,null,(1),null)),(new cljs.core.List(null,pred,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,gexpr,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,emit(gpred,gexpr,clauses),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.condp_STAR_.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.namespaces.condp_STAR_.cljs$lang$applyTo \x3d (function (seq45557){\nvar G__45558 \x3d cljs.core.first(seq45557);\nvar seq45557__$1 \x3d cljs.core.next(seq45557);\nvar G__45559 \x3d cljs.core.first(seq45557__$1);\nvar seq45557__$2 \x3d cljs.core.next(seq45557__$1);\nvar G__45560 \x3d cljs.core.first(seq45557__$2);\nvar seq45557__$3 \x3d cljs.core.next(seq45557__$2);\nvar G__45561 \x3d cljs.core.first(seq45557__$3);\nvar seq45557__$4 \x3d cljs.core.next(seq45557__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45558,G__45559,G__45560,G__45561,seq45557__$4);\n}));\n\nsci.impl.namespaces.defonce_STAR_ \x3d (function sci$impl$namespaces$defonce_STAR_(_,___$1,name,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22v__45587__auto__\x22,\x22v__45587__auto__\x22,308719949,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,name,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-not\x22,\x22cljs.core/when-not\x22,-556141047,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22has-root-impl\x22,\x22has-root-impl\x22,-288948659,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22v__45587__auto__\x22,\x22v__45587__auto__\x22,308719949,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n});\nsci.impl.namespaces.while_STAR_ \x3d (function sci$impl$namespaces$while_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46557 \x3d arguments.length;\nvar i__5750__auto___46558 \x3d (0);\nwhile(true){\nif((i__5750__auto___46558 \x3c len__5749__auto___46557)){\nargs__5755__auto__.push((arguments[i__5750__auto___46558]));\n\nvar G__46559 \x3d (i__5750__auto___46558 + (1));\ni__5750__auto___46558 \x3d G__46559;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.while_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.while_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,test,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22loop\x22,\x22cljs.core/loop\x22,-1829423021,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,test,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body,(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.while_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.while_STAR_.cljs$lang$applyTo \x3d (function (seq45598){\nvar G__45599 \x3d cljs.core.first(seq45598);\nvar seq45598__$1 \x3d cljs.core.next(seq45598);\nvar G__45600 \x3d cljs.core.first(seq45598__$1);\nvar seq45598__$2 \x3d cljs.core.next(seq45598__$1);\nvar G__45601 \x3d cljs.core.first(seq45598__$2);\nvar seq45598__$3 \x3d cljs.core.next(seq45598__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45599,G__45600,G__45601,seq45598__$3);\n}));\n\nsci.impl.namespaces.double_dot \x3d (function sci$impl$namespaces$double_dot(var_args){\nvar G__45612 \x3d arguments.length;\nswitch (G__45612) {\ncase 4:\nreturn sci.impl.namespaces.double_dot.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46562 \x3d arguments.length;\nvar i__5750__auto___46563 \x3d (0);\nwhile(true){\nif((i__5750__auto___46563 \x3c len__5749__auto___46562)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46563]));\n\nvar G__46564 \x3d (i__5750__auto___46563 + (1));\ni__5750__auto___46563 \x3d G__46564;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.double_dot.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.double_dot.cljs$core$IFn$_invoke$arity$4 \x3d (function (_,___$1,x,form){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,form,null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.double_dot.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,form,more){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,form,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.double_dot.cljs$lang$applyTo \x3d (function (seq45607){\nvar G__45608 \x3d cljs.core.first(seq45607);\nvar seq45607__$1 \x3d cljs.core.next(seq45607);\nvar G__45609 \x3d cljs.core.first(seq45607__$1);\nvar seq45607__$2 \x3d cljs.core.next(seq45607__$1);\nvar G__45610 \x3d cljs.core.first(seq45607__$2);\nvar seq45607__$3 \x3d cljs.core.next(seq45607__$2);\nvar G__45611 \x3d cljs.core.first(seq45607__$3);\nvar seq45607__$4 \x3d cljs.core.next(seq45607__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45608,G__45609,G__45610,G__45611,seq45607__$4);\n}));\n\n(sci.impl.namespaces.double_dot.cljs$lang$maxFixedArity \x3d (4));\n\nsci.impl.namespaces.lazy_cat_STAR_ \x3d (function sci$impl$namespaces$lazy_cat_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46567 \x3d arguments.length;\nvar i__5750__auto___46568 \x3d (0);\nwhile(true){\nif((i__5750__auto___46568 \x3c len__5749__auto___46567)){\nargs__5755__auto__.push((arguments[i__5750__auto___46568]));\n\nvar G__46570 \x3d (i__5750__auto___46568 + (1));\ni__5750__auto___46568 \x3d G__46570;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.lazy_cat_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.lazy_cat_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,colls){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22concat\x22,\x22cljs.core/concat\x22,-1133584918,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45621_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22lazy-seq\x22,\x22cljs.core/lazy-seq\x22,627681297,null),(new cljs.core.List(null,p1__45621_SHARP_,null,(1),null)),(2),null));\n}),colls))));\n}));\n\n(sci.impl.namespaces.lazy_cat_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.lazy_cat_STAR_.cljs$lang$applyTo \x3d (function (seq45622){\nvar G__45623 \x3d cljs.core.first(seq45622);\nvar seq45622__$1 \x3d cljs.core.next(seq45622);\nvar G__45624 \x3d cljs.core.first(seq45622__$1);\nvar seq45622__$2 \x3d cljs.core.next(seq45622__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45623,G__45624,seq45622__$2);\n}));\n\nsci.impl.namespaces.has_root_impl \x3d (function sci$impl$namespaces$has_root_impl(sci_var){\nreturn sci.impl.vars.hasRoot(sci_var);\n});\nsci.impl.namespaces.sci_alias \x3d (function sci$impl$namespaces$sci_alias(alias_sym,ns_sym){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()),(function (env){\nvar current_ns \x3d sci.impl.utils.current_ns_name();\nreturn cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),current_ns,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),alias_sym], null),ns_sym);\n}));\n\nreturn null;\n});\nsci.impl.namespaces.sci_create_ns \x3d (function sci$impl$namespaces$sci_create_ns(ns_sym){\nreturn sci.impl.utils.namespace_object(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()),ns_sym,true,null);\n});\nsci.impl.namespaces.sci_find_ns_STAR_ \x3d (function sci$impl$namespaces$sci_find_ns_STAR_(ctx,ns_sym){\nif((ns_sym instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? ns-sym)\x22));\n}\n\nreturn sci.impl.utils.namespace_object(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),ns_sym,false,null);\n});\nsci.impl.namespaces.sci_find_ns \x3d (function sci$impl$namespaces$sci_find_ns(ns_sym){\nreturn sci.impl.namespaces.sci_find_ns_STAR_(sci.ctx_store.get_ctx(),ns_sym);\n});\nsci.impl.namespaces.sci_in_ns \x3d (function sci$impl$namespaces$sci_in_ns(ns_sym){\nif((ns_sym instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? ns-sym)\x22));\n}\n\nreturn sci.impl.utils.set_namespace_BANG_(sci.ctx_store.get_ctx(),ns_sym,cljs.core.PersistentArrayMap.EMPTY);\n});\nsci.impl.namespaces.sci_the_ns_STAR_ \x3d (function sci$impl$namespaces$sci_the_ns_STAR_(ctx,x){\nif((x instanceof sci.lang.Namespace)){\nreturn x;\n} else {\nvar or__5025__auto__ \x3d sci.impl.namespaces.sci_find_ns_STAR_(ctx,x);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nthrow (new Error([\x22No namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 found\x22].join(\x27\x27)));\n}\n}\n});\nsci.impl.namespaces.sci_the_ns \x3d (function sci$impl$namespaces$sci_the_ns(x){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_the_ns_STAR_(ctx,x);\n});\nsci.impl.namespaces.sci_ns_name_STAR_ \x3d (function sci$impl$namespaces$sci_ns_name_STAR_(ctx,ns){\nvar ns__$1 \x3d sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns);\nreturn ns__$1.sci$impl$types$HasName$getName$arity$1(null);\n});\nsci.impl.namespaces.sci_ns_name \x3d (function sci$impl$namespaces$sci_ns_name(ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_name_STAR_(ctx,ns);\n});\nsci.impl.namespaces.sci_ns_aliases_STAR_ \x3d (function sci$impl$namespaces$sci_ns_aliases_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar aliases \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714)], null));\nreturn cljs.core.zipmap(cljs.core.keys(aliases),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (sym){\nreturn sci.lang.__GT_Namespace(sym,null);\n}),cljs.core.vals(aliases)));\n});\nsci.impl.namespaces.sci_ns_aliases \x3d (function sci$impl$namespaces$sci_ns_aliases(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_aliases_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.clean_ns \x3d (function sci$impl$namespaces$clean_ns(m){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809)], 0));\n});\nsci.impl.namespaces.sci_ns_interns_STAR_ \x3d (function sci$impl$namespaces$sci_ns_interns_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar m \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name], null));\nvar m__$1 \x3d sci.impl.namespaces.clean_ns(m);\nreturn m__$1;\n});\nsci.impl.namespaces.sci_ns_interns \x3d (function sci$impl$namespaces$sci_ns_interns(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_interns_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.sci_ns_publics_STAR_ \x3d (function sci$impl$namespaces$sci_ns_publics_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar m \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name], null));\nvar m__$1 \x3d sci.impl.namespaces.clean_ns(m);\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (p__45681){\nvar vec__45683 \x3d p__45681;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45683,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45683,(1),null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(v)))){\nreturn null;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n}),m__$1));\n});\nsci.impl.namespaces.sci_ns_publics \x3d (function sci$impl$namespaces$sci_ns_publics(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_publics_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.sci_ns_imports_STAR_ \x3d (function sci$impl$namespaces$sci_ns_imports_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar global_imports \x3d new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(env);\nvar namespace_imports \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394)], null));\nvar class_opts \x3d new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(env);\nvar all_aliased \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(global_imports),cljs.core.keys(namespace_imports));\nvar all_imports \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.vals(global_imports),cljs.core.vals(namespace_imports));\nreturn cljs.core.zipmap(all_aliased,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),(function (p1__45690_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class_opts,p1__45690_SHARP_);\n})),all_imports));\n});\nsci.impl.namespaces.sci_ns_imports \x3d (function sci$impl$namespaces$sci_ns_imports(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_imports_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.sci_ns_refers_STAR_ \x3d (function sci$impl$namespaces$sci_ns_refers_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar refers \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809)], null));\nvar clojure_core \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)], null));\nvar clojure_core__$1 \x3d sci.impl.namespaces.clean_ns(clojure_core);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clojure_core__$1,refers], 0));\n});\nsci.impl.namespaces.sci_ns_refers \x3d (function sci$impl$namespaces$sci_ns_refers(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_refers_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.sci_ns_map \x3d (function sci$impl$namespaces$sci_ns_map(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.namespaces.sci_ns_interns_STAR_(ctx,sci_ns),sci.impl.namespaces.sci_ns_refers_STAR_(ctx,sci_ns),sci.impl.namespaces.sci_ns_imports_STAR_(ctx,sci_ns)], 0));\n});\nsci.impl.namespaces.sci_ns_unmap \x3d (function sci$impl$namespaces$sci_ns_unmap(sci_ns,sym){\nvar ctx_46577 \x3d sci.ctx_store.get_ctx();\nif((sym instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? sym)\x22));\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx_46577),(function (env){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx_46577,sci_ns);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name], null),(function (the_ns_map){\nif(cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_ns_map),sym)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update.cljs$core$IFn$_invoke$arity$4(the_ns_map,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),cljs.core.dissoc,sym),the_ns_map,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sym], 0));\n} else {\nif(cljs.core.contains_QMARK_(the_ns_map,sym)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(the_ns_map,sym);\n} else {\nif(((cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(env),sym)) || (cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(the_ns_map),sym)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5(the_ns_map,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),cljs.core.assoc,sym,null);\n} else {\nreturn the_ns_map;\n\n}\n}\n}\n}));\n}));\n\nreturn null;\n});\nsci.impl.namespaces.sci_ns_unalias \x3d (function sci$impl$namespaces$sci_ns_unalias(sci_ns,sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),(function (env){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns),new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714)], null),cljs.core.dissoc,sym);\n}));\n\nreturn null;\n});\nsci.impl.namespaces.sci_all_ns \x3d (function sci$impl$namespaces$sci_all_ns(){\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx());\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(env),new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar public$ \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__45715){\nvar vec__45716 \x3d p__45715;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45716,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45716,(1),null);\nreturn new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994).cljs$core$IFn$_invoke$arity$1(v);\n}),namespaces);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45713_SHARP_){\nreturn sci.impl.utils.namespace_object(env,p1__45713_SHARP_,true,null);\n}),cljs.core.keys(public$));\n});\nsci.impl.namespaces.sci_remove_ns \x3d (function sci$impl$namespaces$sci_remove_ns(sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(env,cljs.core.update,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sym], 0));\n\nreturn null;\n});\nsci.impl.namespaces.sci_intern \x3d (function sci$impl$namespaces$sci_intern(var_args){\nvar G__45723 \x3d arguments.length;\nswitch (G__45723) {\ncase 2:\nreturn sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,var_sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar ns__$1 \x3d sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns);\nvar ns_name \x3d sci.impl.types.getName(ns__$1);\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar or__5025__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(env),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,var_sym], null));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar var_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym));\nvar new_var \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(var_name,null,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(var_sym),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__$1));\nnew_var.sci$impl$vars$IVar$unbind$arity$1(null);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,var_sym], null),new_var);\n\nreturn new_var;\n}\n}));\n\n(sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$3 \x3d (function (ns,var_sym,val){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar ns__$1 \x3d sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns);\nvar ns_name \x3d sci.impl.types.getName(ns__$1);\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar or__5025__auto__ \x3d (function (){var temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(env),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,var_sym], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nsci.impl.vars.bindRoot(v,val);\n\nreturn v;\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar var_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym));\nvar new_var \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(var_name,val,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(var_sym),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__$1));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,var_sym], null),new_var);\n\nreturn new_var;\n}\n}));\n\n(sci.impl.namespaces.sci_intern.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.namespaces.sci_bound_QMARK_ \x3d (function sci$impl$namespaces$sci_bound_QMARK_(sci_var){\nvar or__5025__auto__ \x3d sci.impl.vars.hasRoot(sci_var);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (((!((sci.impl.vars.get_thread_binding(sci_var) \x3d\x3d null)))) || (false));\n}\n});\nsci.impl.namespaces.require_STAR_ \x3d (function sci$impl$namespaces$require_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46583 \x3d arguments.length;\nvar i__5750__auto___46584 \x3d (0);\nwhile(true){\nif((i__5750__auto___46584 \x3c len__5749__auto___46583)){\nargs__5755__auto__.push((arguments[i__5750__auto___46584]));\n\nvar G__46585 \x3d (i__5750__auto___46584 + (1));\ni__5750__auto___46584 \x3d G__46585;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.namespaces.require_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.require_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (sci_ctx,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.load.eval_require,sci_ctx,args);\n}));\n\n(sci.impl.namespaces.require_STAR_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.namespaces.require_STAR_.cljs$lang$applyTo \x3d (function (seq45735){\nvar G__45736 \x3d cljs.core.first(seq45735);\nvar seq45735__$1 \x3d cljs.core.next(seq45735);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45736,seq45735__$1);\n}));\n\nsci.impl.namespaces.require \x3d (function sci$impl$namespaces$require(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46587 \x3d arguments.length;\nvar i__5750__auto___46588 \x3d (0);\nwhile(true){\nif((i__5750__auto___46588 \x3c len__5749__auto___46587)){\nargs__5755__auto__.push((arguments[i__5750__auto___46588]));\n\nvar G__46589 \x3d (i__5750__auto___46588 + (1));\ni__5750__auto___46588 \x3d G__46589;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.namespaces.require.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.require.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.namespaces.require_STAR_,sci.ctx_store.get_ctx(),args);\n}));\n\n(sci.impl.namespaces.require.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.namespaces.require.cljs$lang$applyTo \x3d (function (seq45743){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq45743));\n}));\n\nsci.impl.namespaces.use \x3d (function sci$impl$namespaces$use(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46591 \x3d arguments.length;\nvar i__5750__auto___46592 \x3d (0);\nwhile(true){\nif((i__5750__auto___46592 \x3c len__5749__auto___46591)){\nargs__5755__auto__.push((arguments[i__5750__auto___46592]));\n\nvar G__46593 \x3d (i__5750__auto___46592 + (1));\ni__5750__auto___46592 \x3d G__46593;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.namespaces.use.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.use.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.load.eval_use,sci.ctx_store.get_ctx(),args);\n}));\n\n(sci.impl.namespaces.use.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.namespaces.use.cljs$lang$applyTo \x3d (function (seq45748){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq45748));\n}));\n\nsci.impl.namespaces.sci_resolve_STAR_ \x3d (function sci$impl$namespaces$sci_resolve_STAR_(var_args){\nvar G__45760 \x3d arguments.length;\nswitch (G__45760) {\ncase 2:\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (sci_ctx,sym){\nvar G__45767 \x3d sci_ctx;\nvar G__45768 \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(sci_ctx);\nvar G__45769 \x3d sym;\nvar fexpr__45766 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__45766.cljs$core$IFn$_invoke$arity$3 ? fexpr__45766.cljs$core$IFn$_invoke$arity$3(G__45767,G__45768,G__45769) : fexpr__45766.call(null,G__45767,G__45768,G__45769));\n}));\n\n(sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (sci_ctx,env,sym){\nvar G__45773 \x3d sci_ctx;\nvar G__45774 \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(sci_ctx);\nvar G__45775 \x3d env;\nvar G__45776 \x3d sym;\nvar fexpr__45771 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__45771.cljs$core$IFn$_invoke$arity$4 ? fexpr__45771.cljs$core$IFn$_invoke$arity$4(G__45773,G__45774,G__45775,G__45776) : fexpr__45771.call(null,G__45773,G__45774,G__45775,G__45776));\n}));\n\n(sci.impl.namespaces.sci_resolve_STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.namespaces.sci_resolve \x3d (function sci$impl$namespaces$sci_resolve(var_args){\nvar G__45783 \x3d arguments.length;\nswitch (G__45783) {\ncase 1:\nreturn sci.impl.namespaces.sci_resolve.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.namespaces.sci_resolve.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.sci_resolve.cljs$core$IFn$_invoke$arity$1 \x3d (function (sym){\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(sci.ctx_store.get_ctx(),sym);\n}));\n\n(sci.impl.namespaces.sci_resolve.cljs$core$IFn$_invoke$arity$2 \x3d (function (env,sym){\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$3(sci.ctx_store.get_ctx(),env,sym);\n}));\n\n(sci.impl.namespaces.sci_resolve.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.namespaces.sci_refer \x3d (function sci$impl$namespaces$sci_refer(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46597 \x3d arguments.length;\nvar i__5750__auto___46598 \x3d (0);\nwhile(true){\nif((i__5750__auto___46598 \x3c len__5749__auto___46597)){\nargs__5755__auto__.push((arguments[i__5750__auto___46598]));\n\nvar G__46599 \x3d (i__5750__auto___46598 + (1));\ni__5750__auto___46598 \x3d G__46599;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.namespaces.sci_refer.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_refer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.load.eval_refer,sci.ctx_store.get_ctx(),args);\n}));\n\n(sci.impl.namespaces.sci_refer.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_refer.cljs$lang$applyTo \x3d (function (seq45788){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq45788));\n}));\n\nsci.impl.namespaces.sci_refer_clojure \x3d (function sci$impl$namespaces$sci_refer_clojure(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46601 \x3d arguments.length;\nvar i__5750__auto___46602 \x3d (0);\nwhile(true){\nif((i__5750__auto___46602 \x3c len__5749__auto___46601)){\nargs__5755__auto__.push((arguments[i__5750__auto___46602]));\n\nvar G__46603 \x3d (i__5750__auto___46602 + (1));\ni__5750__auto___46602 \x3d G__46603;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.sci_refer_clojure.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_refer_clojure.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,filters){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22refer\x22,\x22cljs.core/refer\x22,269577817,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([filters], 0))));\n}));\n\n(sci.impl.namespaces.sci_refer_clojure.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_refer_clojure.cljs$lang$applyTo \x3d (function (seq45797){\nvar G__45798 \x3d cljs.core.first(seq45797);\nvar seq45797__$1 \x3d cljs.core.next(seq45797);\nvar G__45799 \x3d cljs.core.first(seq45797__$1);\nvar seq45797__$2 \x3d cljs.core.next(seq45797__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45798,G__45799,seq45797__$2);\n}));\n\nsci.impl.namespaces.sci_ns_resolve \x3d (function sci$impl$namespaces$sci_ns_resolve(var_args){\nvar G__45813 \x3d arguments.length;\nswitch (G__45813) {\ncase 2:\nreturn sci.impl.namespaces.sci_ns_resolve.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.sci_ns_resolve.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.sci_ns_resolve.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns)]));\n\ntry{return sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(ctx,sym);\n}finally {sci.impl.vars.pop_thread_bindings();\n}}));\n\n(sci.impl.namespaces.sci_ns_resolve.cljs$core$IFn$_invoke$arity$3 \x3d (function (ns,env,sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns)]));\n\ntry{return sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$3(ctx,env,sym);\n}finally {sci.impl.vars.pop_thread_bindings();\n}}));\n\n(sci.impl.namespaces.sci_ns_resolve.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.namespaces.sci_requiring_resolve \x3d (function sci$impl$namespaces$sci_requiring_resolve(sym){\nvar sci_ctx \x3d sci.ctx_store.get_ctx();\nif(cljs.core.qualified_symbol_QMARK_(sym)){\nvar or__5025__auto__ \x3d sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(sci_ctx,sym);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar namespace \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace(sym));\nsci.impl.namespaces.require_STAR_.cljs$core$IFn$_invoke$arity$variadic(sci_ctx,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([namespace], 0));\n\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(sci_ctx,sym);\n}\n} else {\nthrow (new Error([\x22Not a qualified symbol: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)));\n}\n});\nsci.impl.namespaces.sci_find_var \x3d (function sci$impl$namespaces$sci_find_var(sym){\nif(cljs.core.qualified_symbol_QMARK_(sym)){\nvar nsname \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace(sym));\nvar sym_SINGLEQUOTE_ \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym));\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()))),nsname);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar namespace \x3d temp__5802__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespace,sym_SINGLEQUOTE_);\n} else {\nthrow (new Error([\x22No such namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(nsname)].join(\x27\x27)));\n}\n} else {\nthrow (new Error([\x22Not a qualified symbol: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)));\n}\n});\n/**\n * Takes a map of Var/value pairs. Installs for the given Vars the associated\n *   values as thread-local bindings. Then calls f with the supplied arguments.\n *   Pops the installed bindings after f returned. Returns whatever f returns.\n */\nsci.impl.namespaces.with_bindings_STAR_ \x3d (function sci$impl$namespaces$with_bindings_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46607 \x3d arguments.length;\nvar i__5750__auto___46608 \x3d (0);\nwhile(true){\nif((i__5750__auto___46608 \x3c len__5749__auto___46607)){\nargs__5755__auto__.push((arguments[i__5750__auto___46608]));\n\nvar G__46609 \x3d (i__5750__auto___46608 + (1));\ni__5750__auto___46608 \x3d G__46609;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.with_bindings_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.with_bindings_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (binding_map,f,args){\nsci.impl.vars.push_thread_bindings(binding_map);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}finally {sci.impl.vars.pop_thread_bindings();\n}}));\n\n(sci.impl.namespaces.with_bindings_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.with_bindings_STAR_.cljs$lang$applyTo \x3d (function (seq45834){\nvar G__45835 \x3d cljs.core.first(seq45834);\nvar seq45834__$1 \x3d cljs.core.next(seq45834);\nvar G__45836 \x3d cljs.core.first(seq45834__$1);\nvar seq45834__$2 \x3d cljs.core.next(seq45834__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45835,G__45836,seq45834__$2);\n}));\n\nsci.impl.namespaces.sci_with_bindings \x3d (function sci$impl$namespaces$sci_with_bindings(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46611 \x3d arguments.length;\nvar i__5750__auto___46612 \x3d (0);\nwhile(true){\nif((i__5750__auto___46612 \x3c len__5749__auto___46611)){\nargs__5755__auto__.push((arguments[i__5750__auto___46612]));\n\nvar G__46613 \x3d (i__5750__auto___46612 + (1));\ni__5750__auto___46612 \x3d G__46613;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.sci_with_bindings.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_with_bindings.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,binding_map,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-bindings*\x22,\x22cljs.core/with-bindings*\x22,-768558084,null),null,(1),null)),(new cljs.core.List(null,binding_map,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.sci_with_bindings.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_with_bindings.cljs$lang$applyTo \x3d (function (seq45837){\nvar G__45838 \x3d cljs.core.first(seq45837);\nvar seq45837__$1 \x3d cljs.core.next(seq45837);\nvar G__45839 \x3d cljs.core.first(seq45837__$1);\nvar seq45837__$2 \x3d cljs.core.next(seq45837__$1);\nvar G__45840 \x3d cljs.core.first(seq45837__$2);\nvar seq45837__$3 \x3d cljs.core.next(seq45837__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45838,G__45839,G__45840,seq45837__$3);\n}));\n\nsci.impl.namespaces.sci_binding \x3d (function sci$impl$namespaces$sci_binding(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46616 \x3d arguments.length;\nvar i__5750__auto___46617 \x3d (0);\nwhile(true){\nif((i__5750__auto___46617 \x3c len__5749__auto___46616)){\nargs__5755__auto__.push((arguments[i__5750__auto___46617]));\n\nvar G__46618 \x3d (i__5750__auto___46617 + (1));\ni__5750__auto___46617 \x3d G__46618;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.sci_binding.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_binding.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,bindings,body){\nif(cljs.core.vector_QMARK_(bindings)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22binding requires a vector for its bindings\x22,form);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(bindings))){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22binding requires an even number of forms in binding vector\x22,form);\n}\n\nvar var_ize \x3d (function (var_vals){\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nvar vvs \x3d cljs.core.seq(var_vals);\nwhile(true){\nif(vvs){\nvar G__46620 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(vvs),null,(1),null)))))),cljs.core.second(vvs));\nvar G__46621 \x3d cljs.core.next(cljs.core.next(vvs));\nret \x3d G__46620;\nvvs \x3d G__46621;\ncontinue;\n} else {\nreturn cljs.core.seq(ret);\n}\nbreak;\n}\n});\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22push-thread-bindings\x22,\x22cljs.core/push-thread-bindings\x22,-703482450,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-map\x22,\x22cljs.core/hash-map\x22,303385767,null),null,(1),null)),var_ize(bindings)))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),null,(1),null)),body,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22pop-thread-bindings\x22,\x22cljs.core/pop-thread-bindings\x22,-1994943347,null),null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.sci_binding.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_binding.cljs$lang$applyTo \x3d (function (seq45849){\nvar G__45850 \x3d cljs.core.first(seq45849);\nvar seq45849__$1 \x3d cljs.core.next(seq45849);\nvar G__45851 \x3d cljs.core.first(seq45849__$1);\nvar seq45849__$2 \x3d cljs.core.next(seq45849__$1);\nvar G__45852 \x3d cljs.core.first(seq45849__$2);\nvar seq45849__$3 \x3d cljs.core.next(seq45849__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45850,G__45851,G__45852,seq45849__$3);\n}));\n\n/**\n * Returns a function, which will install the same bindings in effect as in\n *   the thread at the time bound-fn* was called and then call f with any given\n *   arguments. This may be used to define a helper function which runs on a\n *   different thread, but needs the same bindings in place.\n */\nsci.impl.namespaces.bound_fn_STAR_ \x3d (function sci$impl$namespaces$bound_fn_STAR_(f){\nvar bindings \x3d sci.impl.vars.get_thread_bindings();\nreturn (function() { \nvar G__46628__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.namespaces.with_bindings_STAR_,bindings,f,args);\n};\nvar G__46628 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__46629__i \x3d 0, G__46629__a \x3d new Array(arguments.length -  0);\nwhile (G__46629__i \x3c G__46629__a.length) {G__46629__a[G__46629__i] \x3d arguments[G__46629__i + 0]; ++G__46629__i;}\n  args \x3d new cljs.core.IndexedSeq(G__46629__a,0,null);\n} \nreturn G__46628__delegate.call(this,args);};\nG__46628.cljs$lang$maxFixedArity \x3d 0;\nG__46628.cljs$lang$applyTo \x3d (function (arglist__46630){\nvar args \x3d cljs.core.seq(arglist__46630);\nreturn G__46628__delegate(args);\n});\nG__46628.cljs$core$IFn$_invoke$arity$variadic \x3d G__46628__delegate;\nreturn G__46628;\n})()\n;\n});\n/**\n * Returns a function defined by the given fntail, which will install the\n *   same bindings in effect as in the thread at the time bound-fn was called.\n *   This may be used to define a helper function which runs on a different\n *   thread, but needs the same bindings in place.\n */\nsci.impl.namespaces.sci_bound_fn \x3d (function sci$impl$namespaces$sci_bound_fn(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46631 \x3d arguments.length;\nvar i__5750__auto___46632 \x3d (0);\nwhile(true){\nif((i__5750__auto___46632 \x3c len__5749__auto___46631)){\nargs__5755__auto__.push((arguments[i__5750__auto___46632]));\n\nvar G__46633 \x3d (i__5750__auto___46632 + (1));\ni__5750__auto___46632 \x3d G__46633;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.sci_bound_fn.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_bound_fn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,fntail){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22bound-fn*\x22,\x22cljs.core/bound-fn*\x22,-556238942,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),fntail))),null,(1),null)))));\n}));\n\n(sci.impl.namespaces.sci_bound_fn.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_bound_fn.cljs$lang$applyTo \x3d (function (seq45863){\nvar G__45864 \x3d cljs.core.first(seq45863);\nvar seq45863__$1 \x3d cljs.core.next(seq45863);\nvar G__45865 \x3d cljs.core.first(seq45863__$1);\nvar seq45863__$2 \x3d cljs.core.next(seq45863__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45864,G__45865,seq45863__$2);\n}));\n\nsci.impl.namespaces.sci_thread_bound_QMARK_ \x3d (function sci$impl$namespaces$sci_thread_bound_QMARK_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46636 \x3d arguments.length;\nvar i__5750__auto___46637 \x3d (0);\nwhile(true){\nif((i__5750__auto___46637 \x3c len__5749__auto___46636)){\nargs__5755__auto__.push((arguments[i__5750__auto___46637]));\n\nvar G__46638 \x3d (i__5750__auto___46637 + (1));\ni__5750__auto___46637 \x3d G__46638;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.namespaces.sci_thread_bound_QMARK_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_thread_bound_QMARK_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (vars){\nreturn cljs.core.every_QMARK_((function (p1__45868_SHARP_){\nreturn sci.impl.vars.get_thread_binding(p1__45868_SHARP_);\n}),vars);\n}));\n\n(sci.impl.namespaces.sci_thread_bound_QMARK_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_thread_bound_QMARK_.cljs$lang$applyTo \x3d (function (seq45869){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq45869));\n}));\n\nsci.impl.namespaces.sci_with_redefs_fn \x3d (function sci$impl$namespaces$sci_with_redefs_fn(binding_map,func){\nvar root_bind \x3d (function (m){\nvar seq__45873 \x3d cljs.core.seq(m);\nvar chunk__45874 \x3d null;\nvar count__45875 \x3d (0);\nvar i__45876 \x3d (0);\nwhile(true){\nif((i__45876 \x3c count__45875)){\nvar vec__45884 \x3d chunk__45874.cljs$core$IIndexed$_nth$arity$2(null,i__45876);\nvar a_var \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45884,(0),null);\nvar a_val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45884,(1),null);\nsci.impl.vars.bindRoot(a_var,a_val);\n\n\nvar G__46640 \x3d seq__45873;\nvar G__46641 \x3d chunk__45874;\nvar G__46642 \x3d count__45875;\nvar G__46643 \x3d (i__45876 + (1));\nseq__45873 \x3d G__46640;\nchunk__45874 \x3d G__46641;\ncount__45875 \x3d G__46642;\ni__45876 \x3d G__46643;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__45873);\nif(temp__5804__auto__){\nvar seq__45873__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__45873__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__45873__$1);\nvar G__46644 \x3d cljs.core.chunk_rest(seq__45873__$1);\nvar G__46645 \x3d c__5548__auto__;\nvar G__46646 \x3d cljs.core.count(c__5548__auto__);\nvar G__46647 \x3d (0);\nseq__45873 \x3d G__46644;\nchunk__45874 \x3d G__46645;\ncount__45875 \x3d G__46646;\ni__45876 \x3d G__46647;\ncontinue;\n} else {\nvar vec__45888 \x3d cljs.core.first(seq__45873__$1);\nvar a_var \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45888,(0),null);\nvar a_val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45888,(1),null);\nsci.impl.vars.bindRoot(a_var,a_val);\n\n\nvar G__46648 \x3d cljs.core.next(seq__45873__$1);\nvar G__46649 \x3d null;\nvar G__46650 \x3d (0);\nvar G__46651 \x3d (0);\nseq__45873 \x3d G__46648;\nchunk__45874 \x3d G__46649;\ncount__45875 \x3d G__46650;\ni__45876 \x3d G__46651;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nvar old_vals \x3d cljs.core.zipmap(cljs.core.keys(binding_map),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45871_SHARP_){\nreturn sci.impl.vars.getRawRoot(p1__45871_SHARP_);\n}),cljs.core.keys(binding_map)));\ntry{root_bind(binding_map);\n\nreturn (func.cljs$core$IFn$_invoke$arity$0 ? func.cljs$core$IFn$_invoke$arity$0() : func.call(null));\n}finally {root_bind(old_vals);\n}});\nsci.impl.namespaces.sci_with_redefs \x3d (function sci$impl$namespaces$sci_with_redefs(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46653 \x3d arguments.length;\nvar i__5750__auto___46654 \x3d (0);\nwhile(true){\nif((i__5750__auto___46654 \x3c len__5749__auto___46653)){\nargs__5755__auto__.push((arguments[i__5750__auto___46654]));\n\nvar G__46656 \x3d (i__5750__auto___46654 + (1));\ni__5750__auto___46654 \x3d G__46656;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.sci_with_redefs.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_with_redefs.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,bindings,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-redefs-fn\x22,\x22cljs.core/with-redefs-fn\x22,-1271194088,null),null,(1),null)),(new cljs.core.List(null,cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45891_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,p1__45891_SHARP_,null,(1),null)),(2),null));\n}),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),bindings)),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.next(bindings))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.sci_with_redefs.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_with_redefs.cljs$lang$applyTo \x3d (function (seq45892){\nvar G__45893 \x3d cljs.core.first(seq45892);\nvar seq45892__$1 \x3d cljs.core.next(seq45892);\nvar G__45894 \x3d cljs.core.first(seq45892__$1);\nvar seq45892__$2 \x3d cljs.core.next(seq45892__$1);\nvar G__45895 \x3d cljs.core.first(seq45892__$2);\nvar seq45892__$3 \x3d cljs.core.next(seq45892__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45893,G__45894,G__45895,seq45892__$3);\n}));\n\n/**\n * Returns a Symbol with the given namespace and name. Arity-1 works\n *   on strings, keywords, and vars.\n */\nsci.impl.namespaces.symbol_STAR_ \x3d (function sci$impl$namespaces$symbol_STAR_(var_args){\nvar G__45899 \x3d arguments.length;\nswitch (G__45899) {\ncase 1:\nreturn sci.impl.namespaces.symbol_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.namespaces.symbol_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.symbol_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nif(sci.impl.utils.var_QMARK_(name)){\nvar m \x3d cljs.core.meta(name);\nvar ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nvar nm \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d ns;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn nm;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(ns)),cljs.core.name(nm));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(name);\n}\n}));\n\n(sci.impl.namespaces.symbol_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(ns,name);\n}));\n\n(sci.impl.namespaces.symbol_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.namespaces.macroexpand_STAR_ \x3d (function sci$impl$namespaces$macroexpand_STAR_(expr){\nreturn sci.impl.macroexpand.macroexpand(sci.ctx_store.get_ctx(),expr);\n});\nsci.impl.namespaces.macroexpand_1_STAR_ \x3d (function sci$impl$namespaces$macroexpand_1_STAR_(expr){\nreturn sci.impl.macroexpand.macroexpand_1(sci.ctx_store.get_ctx(),expr);\n});\nsci.impl.namespaces._create_type \x3d (function sci$impl$namespaces$_create_type(data){\nreturn (new sci.lang.Type(data,null,null));\n});\nsci.impl.namespaces.sci_impl_records \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22sci.impl.records\x22,\x22sci.impl.records\x22,-393424368,null),null),new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true,new cljs.core.Symbol(null,\x22toString\x22,\x22toString\x22,-95766347,null),sci.impl.records.to_string,new cljs.core.Symbol(null,\x22-create-record-type\x22,\x22-create-record-type\x22,-1472918739,null),sci.impl.namespaces._create_type,new cljs.core.Symbol(null,\x22-\x3erecord-impl\x22,\x22-\x3erecord-impl\x22,1274709757,null),sci.impl.records.__GT_record_impl], null);\nsci.impl.namespaces.sci_impl_deftype \x3d new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22sci.impl.deftype\x22,\x22sci.impl.deftype\x22,959784924,null),null),new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true,new cljs.core.Symbol(null,\x22toString\x22,\x22toString\x22,-95766347,null),sci.impl.deftype.to_string,new cljs.core.Symbol(null,\x22-create-type\x22,\x22-create-type\x22,805234013,null),sci.impl.namespaces._create_type,new cljs.core.Symbol(null,\x22-\x3etype-impl\x22,\x22-\x3etype-impl\x22,483401048,null),sci.impl.deftype.__GT_type_impl,new cljs.core.Symbol(null,\x22-inner-impl\x22,\x22-inner-impl\x22,-1295431849,null),sci.impl.types.getVal,new cljs.core.Symbol(null,\x22-mutate\x22,\x22-mutate\x22,-795549165,null),sci.impl.types._mutate,new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),sci.impl.types.type_impl], null);\nsci.impl.namespaces.sci_impl_protocols \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22sci.impl.protocols\x22,\x22sci.impl.protocols\x22,-697012432,null),null),new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true,new cljs.core.Symbol(null,\x22type-\x3estr\x22,\x22type-\x3estr\x22,360030041,null),sci.impl.protocols.type__GT_str], null);\nsci.impl.namespaces._STAR_1 \x3d sci.impl.namespaces._STAR_1;\nsci.impl.namespaces._STAR_2 \x3d sci.impl.namespaces._STAR_2;\nsci.impl.namespaces._STAR_3 \x3d sci.impl.namespaces._STAR_3;\nsci.impl.namespaces._STAR_e \x3d sci.impl.namespaces._STAR_e;\nsci.impl.namespaces.type \x3d (function sci$impl$namespaces$type(x){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(x),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.type(x);\n}\n});\n/**\n * Atomically sets the metadata for a namespace/var/ref/agent/atom to be:\n * \n *   (apply f its-current-meta args)\n * \n *   f must be free of side-effects\n */\nsci.impl.namespaces.alter_meta_BANG_ \x3d (function sci$impl$namespaces$alter_meta_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46667 \x3d arguments.length;\nvar i__5750__auto___46668 \x3d (0);\nwhile(true){\nif((i__5750__auto___46668 \x3c len__5749__auto___46667)){\nargs__5755__auto__.push((arguments[i__5750__auto___46668]));\n\nvar G__46669 \x3d (i__5750__auto___46668 + (1));\ni__5750__auto___46668 \x3d G__46669;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (iref,f,args){\nvar m \x3d cljs.core.meta(iref);\nif(cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.alter_meta_BANG_,iref,f,args);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(iref),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),iref], null));\n}\n}));\n\n(sci.impl.namespaces.alter_meta_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.alter_meta_BANG_.cljs$lang$applyTo \x3d (function (seq45904){\nvar G__45905 \x3d cljs.core.first(seq45904);\nvar seq45904__$1 \x3d cljs.core.next(seq45904);\nvar G__45906 \x3d cljs.core.first(seq45904__$1);\nvar seq45904__$2 \x3d cljs.core.next(seq45904__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45905,G__45906,seq45904__$2);\n}));\n\nsci.impl.namespaces.let_STAR__STAR_ \x3d (function sci$impl$namespaces$let_STAR__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46671 \x3d arguments.length;\nvar i__5750__auto___46672 \x3d (0);\nwhile(true){\nif((i__5750__auto___46672 \x3c len__5749__auto___46671)){\nargs__5755__auto__.push((arguments[i__5750__auto___46672]));\n\nvar G__46673 \x3d (i__5750__auto___46672 + (1));\ni__5750__auto___46672 \x3d G__46673;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.let_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.let_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (expr,_,bindings,body){\nif(cljs.core.vector_QMARK_(bindings)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22let requires a vector for its binding\x22,expr);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(bindings))){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22let requires an even number of forms in binding vector\x22,expr);\n}\n\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),null,(1),null)),(new cljs.core.List(null,sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$2(bindings,cljs.core.meta(expr)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0))));\n}));\n\n(sci.impl.namespaces.let_STAR__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.let_STAR__STAR_.cljs$lang$applyTo \x3d (function (seq45909){\nvar G__45910 \x3d cljs.core.first(seq45909);\nvar seq45909__$1 \x3d cljs.core.next(seq45909);\nvar G__45911 \x3d cljs.core.first(seq45909__$1);\nvar seq45909__$2 \x3d cljs.core.next(seq45909__$1);\nvar G__45912 \x3d cljs.core.first(seq45909__$2);\nvar seq45909__$3 \x3d cljs.core.next(seq45909__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45910,G__45911,G__45912,seq45909__$3);\n}));\n\nsci.impl.namespaces.loop_STAR__STAR_ \x3d (function sci$impl$namespaces$loop_STAR__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46674 \x3d arguments.length;\nvar i__5750__auto___46675 \x3d (0);\nwhile(true){\nif((i__5750__auto___46675 \x3c len__5749__auto___46674)){\nargs__5755__auto__.push((arguments[i__5750__auto___46675]));\n\nvar G__46676 \x3d (i__5750__auto___46675 + (1));\ni__5750__auto___46675 \x3d G__46676;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.loop_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.loop_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (expr,_,bindings,body){\nif(cljs.core.vector_QMARK_(bindings)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22let requires a vector for its binding\x22,expr);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(bindings))){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22let requires an even number of forms in binding vector\x22,expr);\n}\n\nvar db \x3d ((cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,bindings))?bindings:sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$1(bindings));\nif((db \x3d\x3d\x3d bindings)){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),null,(1),null)),(new cljs.core.List(null,bindings,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0))));\n} else {\nvar vs \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((1),bindings));\nvar bs \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),bindings);\nvar gs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (b){\nif((b instanceof cljs.core.Symbol)){\nreturn b;\n} else {\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\n}\n}),bs);\nvar bfs \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,p__45919){\nvar vec__45920 \x3d p__45919;\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45920,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45920,(1),null);\nvar g \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45920,(2),null);\nif((b instanceof cljs.core.Symbol)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,g,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v], 0));\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,g,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v,b,g], 0));\n}\n}),cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,bs,vs,gs));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,bfs,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(gs,gs)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(bs,gs)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}\n}));\n\n(sci.impl.namespaces.loop_STAR__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.loop_STAR__STAR_.cljs$lang$applyTo \x3d (function (seq45914){\nvar G__45915 \x3d cljs.core.first(seq45914);\nvar seq45914__$1 \x3d cljs.core.next(seq45914);\nvar G__45916 \x3d cljs.core.first(seq45914__$1);\nvar seq45914__$2 \x3d cljs.core.next(seq45914__$1);\nvar G__45917 \x3d cljs.core.first(seq45914__$2);\nvar seq45914__$3 \x3d cljs.core.next(seq45914__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45915,G__45916,G__45917,seq45914__$3);\n}));\n\n/**\n * This is a macro for compatiblity. Only there for docs and macroexpand, faster impl in analyzer.cljc\n */\nsci.impl.namespaces.or_STAR_ \x3d (function sci$impl$namespaces$or_STAR_(var_args){\nvar G__45931 \x3d arguments.length;\nswitch (G__45931) {\ncase 2:\nreturn sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46696 \x3d arguments.length;\nvar i__5750__auto___46697 \x3d (0);\nwhile(true){\nif((i__5750__auto___46697 \x3c len__5749__auto___46696)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46697]));\n\nvar G__46698 \x3d (i__5750__auto___46697 + (1));\ni__5750__auto___46697 \x3d G__46698;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (_,___$1){\nreturn null;\n}));\n\n(sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (_,___$1,x){\nreturn x;\n}));\n\n(sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,next){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22or__45924__auto__\x22,\x22or__45924__auto__\x22,741796502,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22or__45924__auto__\x22,\x22or__45924__auto__\x22,741796502,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22or__45924__auto__\x22,\x22or__45924__auto__\x22,741796502,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22or\x22,\x22cljs.core/or\x22,1201033885,null),null,(1),null)),next))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.or_STAR_.cljs$lang$applyTo \x3d (function (seq45927){\nvar G__45928 \x3d cljs.core.first(seq45927);\nvar seq45927__$1 \x3d cljs.core.next(seq45927);\nvar G__45929 \x3d cljs.core.first(seq45927__$1);\nvar seq45927__$2 \x3d cljs.core.next(seq45927__$1);\nvar G__45930 \x3d cljs.core.first(seq45927__$2);\nvar seq45927__$3 \x3d cljs.core.next(seq45927__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45928,G__45929,G__45930,seq45927__$3);\n}));\n\n(sci.impl.namespaces.or_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * This is a macro for compatiblity. Only there for docs and macroexpand, faster impl in analyzer.cljc\n */\nsci.impl.namespaces.and_STAR_ \x3d (function sci$impl$namespaces$and_STAR_(var_args){\nvar G__45939 \x3d arguments.length;\nswitch (G__45939) {\ncase 2:\nreturn sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46700 \x3d arguments.length;\nvar i__5750__auto___46701 \x3d (0);\nwhile(true){\nif((i__5750__auto___46701 \x3c len__5749__auto___46700)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46701]));\n\nvar G__46702 \x3d (i__5750__auto___46701 + (1));\ni__5750__auto___46701 \x3d G__46702;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (_,___$1){\nreturn true;\n}));\n\n(sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (_,___$1,x){\nreturn x;\n}));\n\n(sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,next){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22and__45933__auto__\x22,\x22and__45933__auto__\x22,-641708509,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22and__45933__auto__\x22,\x22and__45933__auto__\x22,-641708509,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22and\x22,\x22cljs.core/and\x22,-6692549,null),null,(1),null)),next))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22and__45933__auto__\x22,\x22and__45933__auto__\x22,-641708509,null),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.and_STAR_.cljs$lang$applyTo \x3d (function (seq45935){\nvar G__45936 \x3d cljs.core.first(seq45935);\nvar seq45935__$1 \x3d cljs.core.next(seq45935);\nvar G__45937 \x3d cljs.core.first(seq45935__$1);\nvar seq45935__$2 \x3d cljs.core.next(seq45935__$1);\nvar G__45938 \x3d cljs.core.first(seq45935__$2);\nvar seq45935__$3 \x3d cljs.core.next(seq45935__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45936,G__45937,G__45938,seq45935__$3);\n}));\n\n(sci.impl.namespaces.and_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * This is a macro for compatiblity. Only there for docs and macroexpand, faster impl in analyzer.cljc\n */\nsci.impl.namespaces.case_STAR__STAR_ \x3d (function sci$impl$namespaces$case_STAR__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46711 \x3d arguments.length;\nvar i__5750__auto___46712 \x3d (0);\nwhile(true){\nif((i__5750__auto___46712 \x3c len__5749__auto___46711)){\nargs__5755__auto__.push((arguments[i__5750__auto___46712]));\n\nvar G__46713 \x3d (i__5750__auto___46712 + (1));\ni__5750__auto___46712 \x3d G__46713;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.case_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.case_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),null,(1),null)),body)));\n}));\n\n(sci.impl.namespaces.case_STAR__STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.case_STAR__STAR_.cljs$lang$applyTo \x3d (function (seq45941){\nvar G__45942 \x3d cljs.core.first(seq45941);\nvar seq45941__$1 \x3d cljs.core.next(seq45941);\nvar G__45943 \x3d cljs.core.first(seq45941__$1);\nvar seq45941__$2 \x3d cljs.core.next(seq45941__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45942,G__45943,seq45941__$2);\n}));\n\nsci.impl.namespaces.loaded_libs_STAR__STAR_ \x3d (function sci$impl$namespaces$loaded_libs_STAR__STAR_(syms){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*loaded-libs*\x22,\x22*loaded-libs*\x22,1951428860,null),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.sorted_set(),syms)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22A ref to a sorted set of symbols representing loaded libs\x22,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns,new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], null));\n});\nsci.impl.namespaces.loaded_libs_STAR_ \x3d (function sci$impl$namespaces$loaded_libs_STAR_(){\nreturn cljs.core.deref(cljs.core.deref(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()))),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)),new cljs.core.Symbol(null,\x22*loaded-libs*\x22,\x22*loaded-libs*\x22,1951428860,null))));\n});\nsci.impl.namespaces._add_loaded_lib \x3d (function sci$impl$namespaces$_add_loaded_lib(name){\nsci.impl.load.add_loaded_lib(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())),name);\n\nreturn null;\n});\nsci.impl.namespaces.ns_STAR_ \x3d (function sci$impl$namespaces$ns_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46715 \x3d arguments.length;\nvar i__5750__auto___46716 \x3d (0);\nwhile(true){\nif((i__5750__auto___46716 \x3c len__5749__auto___46715)){\nargs__5755__auto__.push((arguments[i__5750__auto___46716]));\n\nvar G__46717 \x3d (i__5750__auto___46716 + (1));\ni__5750__auto___46716 \x3d G__46717;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.ns_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.ns_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_form,_,name,references){\nvar process_reference \x3d (function (p__45954){\nvar vec__45955 \x3d p__45954;\nvar seq__45956 \x3d cljs.core.seq(vec__45955);\nvar first__45957 \x3d cljs.core.first(seq__45956);\nvar seq__45956__$1 \x3d cljs.core.next(seq__45956);\nvar kname \x3d first__45957;\nvar args \x3d seq__45956__$1;\nvar expr \x3d vec__45955;\nreturn cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22clojure.core\x22,cljs.core.name(kname)),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45946_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,p1__45946_SHARP_,null,(1),null)),(2),null));\n}),args)))),cljs.core.meta(expr));\n});\nvar docstring \x3d ((typeof cljs.core.first(references) \x3d\x3d\x3d \x27string\x27)?cljs.core.first(references):null);\nvar references__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.next(references):references);\nvar name__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(name,cljs.core.assoc,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):name);\nvar metadata \x3d ((cljs.core.map_QMARK_(cljs.core.first(references__$1)))?cljs.core.first(references__$1):null);\nvar references__$2 \x3d (cljs.core.truth_(metadata)?cljs.core.next(references__$1):references__$1);\nvar name__$2 \x3d (cljs.core.truth_(metadata)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3(name__$1,cljs.core.merge,metadata):name__$1);\nvar references__$3 \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__45948_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22gen-class\x22,\x22gen-class\x22,-426712454),cljs.core.first(p1__45948_SHARP_));\n}),references__$2);\nvar name_metadata \x3d cljs.core.meta(name__$2);\nvar exp \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22in-ns\x22,\x22cljs.core/in-ns\x22,1807208747,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,name__$2,null,(1),null))))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(name_metadata)?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-meta!\x22,\x22cljs.core/alter-meta!\x22,574694262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22find-ns\x22,\x22cljs.core/find-ns\x22,-486459417,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,name__$2,null,(1),null))))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22constantly\x22,\x22cljs.core/constantly\x22,119002258,null),null,(1),null)),(new cljs.core.List(null,name_metadata,null,(1),null))))),null,(1),null))], 0)))):null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(process_reference,references__$3),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,name__$2,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-add-loaded-lib\x22,\x22cljs.core/-add-loaded-lib\x22,-38500354,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,name__$2,null,(1),null))))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\nreturn exp;\n}));\n\n(sci.impl.namespaces.ns_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.ns_STAR_.cljs$lang$applyTo \x3d (function (seq45950){\nvar G__45951 \x3d cljs.core.first(seq45950);\nvar seq45950__$1 \x3d cljs.core.next(seq45950);\nvar G__45952 \x3d cljs.core.first(seq45950__$1);\nvar seq45950__$2 \x3d cljs.core.next(seq45950__$1);\nvar G__45953 \x3d cljs.core.first(seq45950__$2);\nvar seq45950__$3 \x3d cljs.core.next(seq45950__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45951,G__45952,G__45953,seq45950__$3);\n}));\n\nsci.impl.namespaces.lazy_seq_STAR_ \x3d (function sci$impl$namespaces$lazy_seq_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46740 \x3d arguments.length;\nvar i__5750__auto___46741 \x3d (0);\nwhile(true){\nif((i__5750__auto___46741 \x3c len__5749__auto___46740)){\nargs__5755__auto__.push((arguments[i__5750__auto___46741]));\n\nvar G__46748 \x3d (i__5750__auto___46741 + (1));\ni__5750__auto___46741 \x3d G__46748;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.lazy_seq_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.lazy_seq_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22LazySeq\x22,\x22cljs.core/LazySeq\x22,1986389673,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null)),(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,null,null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.lazy_seq_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.lazy_seq_STAR_.cljs$lang$applyTo \x3d (function (seq45962){\nvar G__45963 \x3d cljs.core.first(seq45962);\nvar seq45962__$1 \x3d cljs.core.next(seq45962);\nvar G__45964 \x3d cljs.core.first(seq45962__$1);\nvar seq45962__$2 \x3d cljs.core.next(seq45962__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45963,G__45964,seq45962__$2);\n}));\n\n/**\n * Evaluates expr and prints the time it took. Returns the value of expr.\n */\nsci.impl.namespaces.time \x3d (function sci$impl$namespaces$time(_,___$1,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22start__45970__auto__\x22,\x22start__45970__auto__\x22,-1660217390,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ret__45971__auto__\x22,\x22ret__45971__auto__\x22,1731898746,null),null,(1),null)),(new cljs.core.List(null,expr,null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22prn\x22,\x22cljs.core/prn\x22,1725204552,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Elapsed time: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.toFixed\x22,\x22.toFixed\x22,-895046938,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x22,\x22cljs.core/-\x22,187040141,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22start__45970__auto__\x22,\x22start__45970__auto__\x22,-1660217390,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,(6),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,\x22 msecs\x22,null,(1),null))], 0)))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ret__45971__auto__\x22,\x22ret__45971__auto__\x22,1731898746,null),null,(1),null))], 0))));\n});\n/**\n * Return true if argument exists, analogous to usage of typeof operator\n * in JavaScript.\n */\nsci.impl.namespaces.exists_QMARK_ \x3d (function sci$impl$namespaces$exists_QMARK_(_,__AMPERSAND_env,x){\nvar ctx \x3d sci.ctx_store.get_ctx();\nif((x instanceof cljs.core.Symbol)){\nif(cljs.core.qualified_symbol_QMARK_(x)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22js\x22,cljs.core.namespace(x))){\nvar splits \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(cljs.core.name(x),\x22.\x22);\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22cljs.core\x22,\x22and\x22,\x22cljs.core/and\x22,-6692549,null),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (accessor){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x22,\x22cljs.core/not\x22,100665144,null),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22undefined?\x22,\x22cljs.core/undefined?\x22,-1206515693,null),(new cljs.core.List(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22js\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(accessor)),null,(1),null)),(2),null)),null,(1),null)),(2),null));\n}),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (acc,split){\nvar new_sym \x3d (function (){var la \x3d cljs.core.last(acc);\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(la),(cljs.core.truth_(la)?\x22.\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(split)].join(\x27\x27);\n})();\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,new_sym);\n}),cljs.core.PersistentVector.EMPTY,splits)));\n} else {\nreturn cljs.core.boolean$((function (){try{return sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,x,null,null);\n}catch (e45980){var ___$1 \x3d e45980;\nreturn null;\n}})());\n}\n} else {\nreturn ((cljs.core.boolean$(sci.impl.namespaces.sci_find_ns_STAR_(ctx,x))) || (cljs.core.boolean$((function (){try{return sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,x,null,null);\n}catch (e45984){var ___$1 \x3d e45984;\nreturn null;\n}})())));\n}\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22some?\x22,\x22cljs.core/some?\x22,-440439360,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)))));\n}\n});\nsci.impl.namespaces.eval_STAR_ \x3d (function sci$impl$namespaces$eval_STAR_(form){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.utils.eval(ctx,form);\n});\nsci.impl.namespaces.clojure_core \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22unchecked-char\x22,\x22unchecked-char\x22,1662742943,null),new cljs.core.Symbol(null,\x22*print-fn*\x22,\x22*print-fn*\x22,138509853,null),new cljs.core.Symbol(null,\x22sorted-set\x22,\x22sorted-set\x22,992325424,null),new cljs.core.Symbol(null,\x22true?\x22,\x22true?\x22,-1600332395,null),new cljs.core.Symbol(null,\x22pop!\x22,\x22pop!\x22,-1253383511,null),new cljs.core.Symbol(null,\x22deftype\x22,\x22deftype\x22,1980826088,null),new cljs.core.Symbol(null,\x22unchecked-byte\x22,\x22unchecked-byte\x22,1091664664,null),new cljs.core.Symbol(null,\x22unchecked-set\x22,\x22unchecked-set\x22,-986164507,null),new cljs.core.Symbol(null,\x22*2\x22,\x22*2\x22,1728229926,null),new cljs.core.Symbol(null,\x22doto\x22,\x22doto\x22,1252536074,null),new cljs.core.Symbol(null,\x22reduce-kv\x22,\x22reduce-kv\x22,1856296400,null),new cljs.core.Symbol(null,\x22defmethod\x22,\x22defmethod\x22,-579171823,null),new cljs.core.Symbol(null,\x22update-in\x22,\x22update-in\x22,-1445516941,null),new cljs.core.Symbol(null,\x22prefer-method\x22,\x22prefer-method\x22,-876100205,null),new cljs.core.Symbol(null,\x22derive\x22,\x22derive\x22,1727397303,null),new cljs.core.Symbol(null,\x22nfirst\x22,\x22nfirst\x22,-554736533,null),new cljs.core.Symbol(null,\x22sort-by\x22,\x22sort-by\x22,1317932224,null),new cljs.core.Symbol(null,\x22*data-readers*\x22,\x22*data-readers*\x22,1269051058,null),new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22ancestors\x22,\x22ancestors\x22,864486103,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22butlast\x22,\x22butlast\x22,1573039585,null),new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),new cljs.core.Symbol(null,\x22with-out-str\x22,\x22with-out-str\x22,-140201577,null),new cljs.core.Symbol(null,\x22partition-by\x22,\x22partition-by\x22,-1329938249,null),new cljs.core.Symbol(null,\x22uri?\x22,\x22uri?\x22,2029475116,null),new cljs.core.Symbol(null,\x22map-entry?\x22,\x22map-entry?\x22,1140615277,null),new cljs.core.Symbol(null,\x22simple-keyword?\x22,\x22simple-keyword?\x22,-367134735,null),new cljs.core.Symbol(null,\x22into-array\x22,\x22into-array\x22,-1875808354,null),new cljs.core.Symbol(null,\x22ns-refers\x22,\x22ns-refers\x22,-2030918515,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),new cljs.core.Symbol(null,\x22seq\x22,\x22seq\x22,-177272256,null),new cljs.core.Symbol(null,\x22unchecked-inc-int\x22,\x22unchecked-inc-int\x22,1402783397,null),new cljs.core.Symbol(null,\x22hash-combine\x22,\x22hash-combine\x22,1136881997,null),new cljs.core.Symbol(null,\x22ns-unalias\x22,\x22ns-unalias\x22,445102632,null),new cljs.core.Symbol(null,\x22odd?\x22,\x22odd?\x22,-1458588199,null),new cljs.core.Symbol(null,\x22partition\x22,\x22partition\x22,-1479695018,null),new cljs.core.Symbol(null,\x22\x3e\x3d\x22,\x22\x3e\x3d\x22,1016916022,null),new cljs.core.Symbol(null,\x22fnext\x22,\x22fnext\x22,1424835295,null),new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),new cljs.core.Symbol(null,\x22bit-or\x22,\x22bit-or\x22,-1144943723,null),new cljs.core.Symbol(null,\x22disj\x22,\x22disj\x22,-1076545178,null),new cljs.core.Symbol(null,\x22with-redefs-fn\x22,\x22with-redefs-fn\x22,-595725379,null),new cljs.core.Symbol(null,\x22-new-var\x22,\x22-new-var\x22,1200468147,null),new cljs.core.Symbol(null,\x22unchecked-short\x22,\x22unchecked-short\x22,27848057,null),new cljs.core.Symbol(null,\x22ffirst\x22,\x22ffirst\x22,-694902000,null),new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),new cljs.core.Symbol(null,\x22munge\x22,\x22munge\x22,-174396700,null),new cljs.core.Symbol(null,\x22*file*\x22,\x22*file*\x22,624866474,null),new cljs.core.Symbol(null,\x22unchecked-negate-int\x22,\x22unchecked-negate-int\x22,-825297602,null),new cljs.core.Symbol(null,\x22print-str\x22,\x22print-str\x22,-699700354,null),new cljs.core.Symbol(null,\x22vreset!\x22,\x22vreset!\x22,1237177091,null),new cljs.core.Symbol(null,\x22uuid?\x22,\x22uuid?\x22,400077689,null),new cljs.core.Symbol(null,\x22reset!\x22,\x22reset!\x22,527275632,null),new cljs.core.Symbol(null,\x22IRecord\x22,\x22IRecord\x22,-903221169,null),new cljs.core.Symbol(null,\x22memfn\x22,\x22memfn\x22,-881453486,null),new cljs.core.Symbol(null,\x22atom\x22,\x22atom\x22,1243487874,null),new cljs.core.Symbol(null,\x22select-keys\x22,\x22select-keys\x22,-708556589,null),new cljs.core.Symbol(null,\x22reverse\x22,\x22reverse\x22,752076261,null),new cljs.core.Symbol(null,\x22ex-message\x22,\x22ex-message\x22,-1128293394,null),new cljs.core.Symbol(null,\x22special-symbol?\x22,\x22special-symbol?\x22,-731144617,null),new cljs.core.Symbol(null,\x22merge\x22,\x22merge\x22,-163787882,null),new cljs.core.Symbol(null,\x22inst-ms\x22,\x22inst-ms\x22,-653961375,null),new cljs.core.Symbol(null,\x22newline\x22,\x22newline\x22,-864364446,null),new cljs.core.Symbol(null,\x22unchecked-multiply\x22,\x22unchecked-multiply\x22,-1019161490,null),new cljs.core.Symbol(null,\x22*print-readably*\x22,\x22*print-readably*\x22,-761361221,null),new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),new cljs.core.Symbol(null,\x22chunked-seq?\x22,\x22chunked-seq?\x22,1044846168,null),new cljs.core.Symbol(null,\x22inst?\x22,\x22inst?\x22,1614698981,null),new cljs.core.Symbol(null,\x22random-sample\x22,\x22random-sample\x22,-914181101,null),new cljs.core.Symbol(null,\x22\x3e\x22,\x22\x3e\x22,1085014381,null),new cljs.core.Symbol(null,\x22*read-eval*\x22,\x22*read-eval*\x22,1122065414,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22simple-ident?\x22,\x22simple-ident?\x22,194189851,null),new cljs.core.Symbol(null,\x22ns-name\x22,\x22ns-name\x22,-436814796,null),new cljs.core.Symbol(null,\x22*1\x22,\x22*1\x22,2110258092,null),new cljs.core.Symbol(null,\x22last\x22,\x22last\x22,-1548700637,null),new cljs.core.Symbol(null,\x22bit-shift-left\x22,\x22bit-shift-left\x22,-1814765981,null),new cljs.core.Symbol(null,\x22int\x22,\x22int\x22,-100885395,null),new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),new cljs.core.Symbol(null,\x22unchecked-negate\x22,\x22unchecked-negate\x22,-1669067451,null),new cljs.core.Symbol(null,\x22volatile?\x22,\x22volatile?\x22,-984469558,null),new cljs.core.Symbol(null,\x22multi-fn-impl\x22,\x22multi-fn-impl\x22,187651105,null),new cljs.core.Symbol(null,\x22unchecked-remainder-int\x22,\x22unchecked-remainder-int\x22,1427188224,null),new cljs.core.Symbol(null,\x22byte\x22,\x22byte\x22,-1970660549,null),new cljs.core.Symbol(null,\x22conj!\x22,\x22conj!\x22,-841007895,null),new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),new cljs.core.Symbol(null,\x22println\x22,\x22println\x22,-733595439,null),new cljs.core.Symbol(null,\x22defprotocol\x22,\x22defprotocol\x22,1388695348,null),new cljs.core.Symbol(null,\x22int?\x22,\x22int?\x22,1799729645,null),new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),new cljs.core.Symbol(null,\x22loaded-libs\x22,\x22loaded-libs\x22,484141875,null),new cljs.core.Symbol(null,\x22long-array\x22,\x22long-array\x22,217579190,null),new cljs.core.Symbol(null,\x22find\x22,\x22find\x22,2136810983,null),new cljs.core.Symbol(null,\x22vals\x22,\x22vals\x22,-1886377036,null),new cljs.core.Symbol(null,\x22nil?\x22,\x22nil?\x22,1612038930,null),new cljs.core.Symbol(null,\x22flush\x22,\x22flush\x22,501820328,null),new cljs.core.Symbol(null,\x22hash\x22,\x22hash\x22,1626749931,null),new cljs.core.Symbol(null,\x22pr\x22,\x22pr\x22,1056937027,null),new cljs.core.Symbol(null,\x22destructure\x22,\x22destructure\x22,1731452410,null),new cljs.core.Symbol(null,\x22unchecked-subtract\x22,\x22unchecked-subtract\x22,-2137458667,null),new cljs.core.Symbol(null,\x22comment\x22,\x22comment\x22,-2122229700,null),new cljs.core.Symbol(null,\x22with-redefs\x22,\x22with-redefs\x22,-1143728263,null),new cljs.core.Symbol(null,\x22js-delete\x22,\x22js-delete\x22,170306730,null),new cljs.core.Symbol(null,\x22float?\x22,\x22float?\x22,673884616,null),new cljs.core.Symbol(null,\x22second\x22,\x22second\x22,1195829517,null),new cljs.core.Symbol(null,\x22extend-protocol\x22,\x22extend-protocol\x22,306378578,null),new cljs.core.Symbol(null,\x22*err*\x22,\x22*err*\x22,2070937226,null),new cljs.core.Symbol(null,\x22array?\x22,\x22array?\x22,-1249008197,null),new cljs.core.Symbol(null,\x22chunk-first\x22,\x22chunk-first\x22,1379046752,null),new cljs.core.Symbol(null,\x22alias\x22,\x22alias\x22,-399220103,null),new cljs.core.Symbol(null,\x22-write\x22,\x22-write\x22,1999625154,null),new cljs.core.Symbol(null,\x22unchecked-add-int\x22,\x22unchecked-add-int\x22,-1821763285,null),new cljs.core.Symbol(null,\x22ifn?\x22,\x22ifn?\x22,-2106461064,null),new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),new cljs.core.Symbol(null,\x22ex-info\x22,\x22ex-info\x22,-539875240,null),new cljs.core.Symbol(null,\x22inc\x22,\x22inc\x22,324505433,null),new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null),new cljs.core.Symbol(null,\x22amap\x22,\x22amap\x22,635923055,null),new cljs.core.Symbol(null,\x22volatile!\x22,\x22volatile!\x22,919368405,null),new cljs.core.Symbol(null,\x22with-meta\x22,\x22with-meta\x22,73674707,null),new cljs.core.Symbol(null,\x22map?\x22,\x22map?\x22,-1780568534,null),new cljs.core.Symbol(null,\x22vector?\x22,\x22vector?\x22,-61367869,null),new cljs.core.Symbol(null,\x22-\x3e\x3e\x22,\x22-\x3e\x3e\x22,-1874332161,null),new cljs.core.Symbol(null,\x22quot\x22,\x22quot\x22,-1125214196,null),new cljs.core.Symbol(null,\x22any?\x22,\x22any?\x22,-318999933,null),new cljs.core.Symbol(null,\x22*print-newline*\x22,\x22*print-newline*\x22,1478078956,null),new cljs.core.Symbol(null,\x22load-reader\x22,\x22load-reader\x22,-734810126,null),new cljs.core.Symbol(null,\x22unchecked-add\x22,\x22unchecked-add\x22,-2030665965,null),new cljs.core.Symbol(null,\x22Delay\x22,\x22Delay\x22,-956795572,null),new cljs.core.Symbol(null,\x22floats\x22,\x22floats\x22,513591110,null),new cljs.core.Symbol(null,\x22drop-while\x22,\x22drop-while\x22,719206685,null),new cljs.core.Symbol(null,\x22bounded-count\x22,\x22bounded-count\x22,1030640883,null),new cljs.core.Symbol(null,\x22take-while\x22,\x22take-while\x22,2007268328,null),new cljs.core.Symbol(null,\x22extends?\x22,\x22extends?\x22,-2012201234,null),new cljs.core.Symbol(null,\x22sort\x22,\x22sort\x22,-1700969851,null),new cljs.core.Symbol(null,\x22false?\x22,\x22false?\x22,-1522377573,null),new cljs.core.Symbol(null,\x22cat\x22,\x22cat\x22,182721320,null),new cljs.core.Symbol(null,\x22extend-type\x22,\x22extend-type\x22,1123355921,null),new cljs.core.Symbol(null,\x22*print-level*\x22,\x22*print-level*\x22,-634488505,null),new cljs.core.Symbol(null,\x22replace\x22,\x22replace\x22,853943757,null),new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),new cljs.core.Symbol(null,\x22drop\x22,\x22drop\x22,2005013138,null),new cljs.core.Symbol(null,\x22push-thread-bindings\x22,\x22push-thread-bindings\x22,1054019843,null),new cljs.core.Symbol(null,\x22not\x22,\x22not\x22,1044554643,null),new cljs.core.Symbol(null,\x22keep\x22,\x22keep\x22,-492807003,null),new cljs.core.Symbol(null,\x22cons\x22,\x22cons\x22,755448454,null),new cljs.core.Symbol(null,\x22*e\x22,\x22*e\x22,329170866,null),new cljs.core.Symbol(null,\x22bit-shift-right\x22,\x22bit-shift-right\x22,884046498,null),new cljs.core.Symbol(null,\x22associative?\x22,\x22associative?\x22,-141666771,null),new cljs.core.Symbol(null,\x22read\x22,\x22read\x22,-1514377108,null),new cljs.core.Symbol(null,\x22unquote\x22,\x22unquote\x22,-1004694737,null),new cljs.core.Symbol(null,\x22macroexpand\x22,\x22macroexpand\x22,1509933344,null),new cljs.core.Symbol(null,\x22create-ns\x22,\x22create-ns\x22,-782886354,null),new cljs.core.Symbol(null,\x22*print-err-fn*\x22,\x22*print-err-fn*\x22,1241679298,null),new cljs.core.Symbol(null,\x22*print-length*\x22,\x22*print-length*\x22,-687693654,null),new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.Symbol(null,\x22var-set\x22,\x22var-set\x22,-1361408121,null),new cljs.core.Symbol(null,\x22bit-flip\x22,\x22bit-flip\x22,809639606,null),new cljs.core.Symbol(null,\x22aset\x22,\x22aset\x22,900773178,null),new cljs.core.Symbol(null,\x22-deref\x22,\x22-deref\x22,-283116853,null),new cljs.core.Symbol(null,\x22*ns*\x22,\x22*ns*\x22,740153818,null),new cljs.core.Symbol(null,\x22some-fn\x22,\x22some-fn\x22,-490044165,null),new cljs.core.Symbol(null,\x22var?\x22,\x22var?\x22,230455531,null),new cljs.core.Symbol(null,\x22*print-meta*\x22,\x22*print-meta*\x22,-919406644,null),new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),new cljs.core.Symbol(null,\x22unchecked-multiply-int\x22,\x22unchecked-multiply-int\x22,-788546068,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22-reset!\x22,\x22-reset!\x22,1965723739,null),new cljs.core.Symbol(null,\x22to-array\x22,\x22to-array\x22,-585705189,null),new cljs.core.Symbol(null,\x22double-array\x22,\x22double-array\x22,257035726,null),new cljs.core.Symbol(null,\x22sorted-map\x22,\x22sorted-map\x22,-521216771,null),new cljs.core.Symbol(null,\x22-reified-methods\x22,\x22-reified-methods\x22,1702712518,null),new cljs.core.Symbol(null,\x22concat\x22,\x22concat\x22,-467652465,null),new cljs.core.Symbol(null,\x22char\x22,\x22char\x22,998943941,null),new cljs.core.Symbol(null,\x22ident?\x22,\x22ident?\x22,-2061359468,null),new cljs.core.Symbol(null,\x22make-array\x22,\x22make-array\x22,-1135103906,null),new cljs.core.Symbol(null,\x22chunk-buffer\x22,\x22chunk-buffer\x22,789680287,null),new cljs.core.Symbol(null,\x22peek\x22,\x22peek\x22,1349135202,null),new cljs.core.Symbol(null,\x22hash-unordered-coll\x22,\x22hash-unordered-coll\x22,-240471618,null),new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),new cljs.core.Symbol(null,\x22clj-\x3ejs\x22,\x22clj-\x3ejs\x22,-1880244676,null),new cljs.core.Symbol(null,\x22sequence\x22,\x22sequence\x22,-1727628355,null),new cljs.core.Symbol(null,\x22group-by\x22,\x22group-by\x22,1261391725,null),new cljs.core.Symbol(null,\x22re-seq\x22,\x22re-seq\x22,-2105554076,null),new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null),new cljs.core.Symbol(null,\x22when-some\x22,\x22when-some\x22,1700415903,null),new cljs.core.Symbol(null,\x22unchecked-subtract-int\x22,\x22unchecked-subtract-int\x22,-1899147615,null),new cljs.core.Symbol(null,\x22\x3c\x3d\x22,\x22\x3c\x3d\x22,1244895369,null),new cljs.core.Symbol(null,\x22prefers\x22,\x22prefers\x22,-374265406,null),new cljs.core.Symbol(null,\x22vary-meta\x22,\x22vary-meta\x22,-1580067831,null),new cljs.core.Symbol(null,\x22\x3d\x22,\x22\x3d\x22,-1501502141,null),new cljs.core.Symbol(null,\x22intern\x22,\x22intern\x22,1664352151,null),new cljs.core.Symbol(null,\x22keep-indexed\x22,\x22keep-indexed\x22,-2020916352,null),new cljs.core.Symbol(null,\x22js-obj\x22,\x22js-obj\x22,342383250,null),new cljs.core.Symbol(null,\x22every?\x22,\x22every?\x22,2083724064,null),new cljs.core.Symbol(null,\x22comp\x22,\x22comp\x22,-1462482139,null),new cljs.core.Symbol(null,\x22bit-set\x22,\x22bit-set\x22,-910710655,null),new cljs.core.Symbol(null,\x22dissoc\x22,\x22dissoc\x22,1039760994,null),new cljs.core.Symbol(null,\x22min\x22,\x22min\x22,2085523049,null),new cljs.core.Symbol(null,\x22char?\x22,\x22char?\x22,-1072221244,null),new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),new cljs.core.Symbol(null,\x22interleave\x22,\x22interleave\x22,165488106,null),new cljs.core.Symbol(null,\x22declare\x22,\x22declare\x22,654042991,null),new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),new cljs.core.Symbol(null,\x22bound?\x22,\x22bound?\x22,767722602,null),new cljs.core.Symbol(null,\x22all-ns\x22,\x22all-ns\x22,1571857784,null),new cljs.core.Symbol(null,\x22split-at\x22,\x22split-at\x22,-60953742,null),new cljs.core.Symbol(null,\x22neg-int?\x22,\x22neg-int?\x22,-1610409390,null),new cljs.core.Symbol(null,\x22mapv\x22,\x22mapv\x22,-241595241,null),new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),new cljs.core.Symbol(null,\x22-add-loaded-lib\x22,\x22-add-loaded-lib\x22,368206419,null),new cljs.core.Symbol(null,\x22prn\x22,\x22prn\x22,1561684909,null),new cljs.core.Symbol(null,\x22drop-last\x22,\x22drop-last\x22,-1123611530,null),new cljs.core.Symbol(null,\x22with-bindings*\x22,\x22with-bindings*\x22,-93186207,null),new cljs.core.Symbol(null,\x22fnil\x22,\x22fnil\x22,-187395162,null),new cljs.core.Symbol(null,\x22cond-\x3e\x3e\x22,\x22cond-\x3e\x3e\x22,348844960,null),new cljs.core.Symbol(null,\x22pop-thread-bindings\x22,\x22pop-thread-bindings\x22,-1312224790,null),new cljs.core.Symbol(null,\x22satisfies?\x22,\x22satisfies?\x22,-433227199,null),new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.Symbol(null,\x22+\x22,\x22+\x22,-740910886,null),new cljs.core.Symbol(null,\x22load-string\x22,\x22load-string\x22,-403739145,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22unchecked-double\x22,\x22unchecked-double\x22,-1593778036,null),new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),new cljs.core.Symbol(null,\x22symbol?\x22,\x22symbol?\x22,1820680511,null),new cljs.core.Symbol(null,\x22chunk-cons\x22,\x22chunk-cons\x22,433801405,null),new cljs.core.Symbol(null,\x22disj!\x22,\x22disj!\x22,-1383872088,null),new cljs.core.Symbol(null,\x22-\x3eEduction\x22,\x22-\x3eEduction\x22,-188511967,null),new cljs.core.Symbol(null,\x22ns-imports\x22,\x22ns-imports\x22,1111168888,null),new cljs.core.Symbol(null,\x22methods\x22,\x22methods\x22,2094462393,null),new cljs.core.Symbol(null,\x22reset-meta!\x22,\x22reset-meta!\x22,1699493291,null),new cljs.core.Symbol(null,\x22areduce\x22,\x22areduce\x22,-1873477878,null),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22js-\x3eclj\x22,\x22js-\x3eclj\x22,1544462432,null),new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),new cljs.core.Symbol(null,\x22rand-int\x22,\x22rand-int\x22,-495012157,null),new cljs.core.Symbol(null,\x22complement\x22,\x22complement\x22,-913606051,null),new cljs.core.Symbol(null,\x22list?\x22,\x22list?\x22,-1494629,null),new cljs.core.Symbol(null,\x22aget\x22,\x22aget\x22,1491056546,null),new cljs.core.Symbol(null,\x22zipmap\x22,\x22zipmap\x22,-690049687,null),new cljs.core.Symbol(null,\x22find-var\x22,\x22find-var\x22,-497901917,null),new cljs.core.Symbol(null,\x22for\x22,\x22for\x22,316745208,null),new cljs.core.Symbol(null,\x22run!\x22,\x22run!\x22,-2055483725,null),new cljs.core.Symbol(null,\x22\x3d\x3d\x22,\x22\x3d\x3d\x22,-234118149,null),new cljs.core.Symbol(null,\x22chars\x22,\x22chars\x22,545901210,null),new cljs.core.Symbol(null,\x22iterate\x22,\x22iterate\x22,694501410,null),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Symbol(null,\x22hash-ordered-coll\x22,\x22hash-ordered-coll\x22,114448715,null),new cljs.core.Symbol(null,\x22hash-map\x22,\x22hash-map\x22,-439030950,null),new cljs.core.Symbol(null,\x22unchecked-inc\x22,\x22unchecked-inc\x22,-1170131490,null),new cljs.core.Symbol(null,\x22max-key\x22,\x22max-key\x22,-2132814732,null),new cljs.core.Symbol(null,\x22qualified-ident?\x22,\x22qualified-ident?\x22,-928894763,null),new cljs.core.Symbol(null,\x22dissoc!\x22,\x22dissoc!\x22,333592624,null),new cljs.core.Symbol(null,\x22coll?\x22,\x22coll?\x22,-1874821441,null),new cljs.core.Symbol(null,\x22reversible?\x22,\x22reversible?\x22,314107817,null),new cljs.core.Symbol(null,\x22ns-unmap\x22,\x22ns-unmap\x22,1255260993,null),new cljs.core.Symbol(null,\x22apply\x22,\x22apply\x22,-1334050276,null),new cljs.core.Symbol(null,\x22*in*\x22,\x22*in*\x22,1130010229,null),new cljs.core.Symbol(null,\x22subvec\x22,\x22subvec\x22,364611032,null),new cljs.core.Symbol(null,\x22isa?\x22,\x22isa?\x22,1358492324,null),new cljs.core.Symbol(null,\x22not-every?\x22,\x22not-every?\x22,-729672558,null),new cljs.core.Symbol(null,\x22ex-cause\x22,\x22ex-cause\x22,95392590,null),new cljs.core.Symbol(null,\x22keyword?\x22,\x22keyword?\x22,1917797069,null),new cljs.core.Symbol(null,\x22ex-data\x22,\x22ex-data\x22,1331491268,null),new cljs.core.Symbol(null,\x22*print-namespace-maps*\x22,\x22*print-namespace-maps*\x22,-1759108415,null),new cljs.core.Symbol(null,\x22compare\x22,\x22compare\x22,1109853757,null),new cljs.core.Symbol(null,\x22underive\x22,\x22underive\x22,-242982950,null),new cljs.core.Symbol(null,\x22transduce\x22,\x22transduce\x22,-2083619734,null),new cljs.core.Symbol(null,\x22*flush-on-newline*\x22,\x22*flush-on-newline*\x22,-737526501,null),new cljs.core.Symbol(null,\x22range\x22,\x22range\x22,-1014743483,null),new cljs.core.Symbol(null,\x22IDeref\x22,\x22IDeref\x22,1738423197,null),new cljs.core.Symbol(null,\x22sorted?\x22,\x22sorted?\x22,892797714,null),new cljs.core.Symbol(null,\x22frequencies\x22,\x22frequencies\x22,1757430425,null),new cljs.core.Symbol(null,\x22cycle\x22,\x22cycle\x22,-1944070485,null),new cljs.core.Symbol(null,\x22max\x22,\x22max\x22,1701898075,null),new cljs.core.Symbol(null,\x22simple-symbol?\x22,\x22simple-symbol?\x22,1408454822,null),new cljs.core.Symbol(null,\x22reify\x22,\x22reify\x22,1885539699,null),new cljs.core.Symbol(null,\x22empty?\x22,\x22empty?\x22,76408555,null),new cljs.core.Symbol(null,\x22into\x22,\x22into\x22,1489695498,null),new cljs.core.Symbol(null,\x22integer?\x22,\x22integer?\x22,1303791671,null),new cljs.core.Symbol(null,\x22*\x22,\x22*\x22,345799209,null),new cljs.core.Symbol(null,\x22some-\x3e\x3e\x22,\x22some-\x3e\x3e\x22,-1499987794,null),new cljs.core.Symbol(null,\x22unsigned-bit-shift-right\x22,\x22unsigned-bit-shift-right\x22,-1953076601,null),new cljs.core.Symbol(null,\x22pr-str\x22,\x22pr-str\x22,-2066912145,null),new cljs.core.Symbol(null,\x22some-\x3e\x22,\x22some-\x3e\x22,-1011172200,null),new cljs.core.Symbol(null,\x22bound-fn\x22,\x22bound-fn\x22,125411266,null),new cljs.core.Symbol(null,\x22unchecked-get\x22,\x22unchecked-get\x22,-1670542461,null),new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),new cljs.core.Symbol(null,\x22distinct\x22,\x22distinct\x22,-148347594,null),new cljs.core.Symbol(null,\x22ensure-reduced\x22,\x22ensure-reduced\x22,-1606421005,null),new cljs.core.Symbol(null,\x22object-array\x22,\x22object-array\x22,206434647,null),new cljs.core.Symbol(null,\x22juxt\x22,\x22juxt\x22,671085604,null),new cljs.core.Symbol(null,\x22some\x22,\x22some\x22,-310548046,null),new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),new cljs.core.Symbol(null,\x22interpose\x22,\x22interpose\x22,-2078295140,null),new cljs.core.Symbol(null,\x22the-ns\x22,\x22the-ns\x22,1016317907,null),new cljs.core.Symbol(null,\x22instance?\x22,\x22instance?\x22,1075939923,null),new cljs.core.Symbol(null,\x22descendants\x22,\x22descendants\x22,-829549738,null),new cljs.core.Symbol(null,\x22get-in\x22,\x22get-in\x22,-1965644065,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22reify*\x22,\x22reify*\x22,1646945123,null),new cljs.core.Symbol(null,\x22defrecord\x22,\x22defrecord\x22,273038109,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22read-string\x22,\x22read-string\x22,-558384455,null),new cljs.core.Symbol(null,\x22aclone\x22,\x22aclone\x22,722978531,null),new cljs.core.Symbol(null,\x22assoc-in\x22,\x22assoc-in\x22,-113585743,null),new cljs.core.Symbol(null,\x22zero?\x22,\x22zero?\x22,325758897,null),new cljs.core.Symbol(null,\x22transient\x22,\x22transient\x22,899115069,null),new cljs.core.Symbol(null,\x22letfn\x22,\x22letfn\x22,-480490827,null),new cljs.core.Symbol(null,\x22realized?\x22,\x22realized?\x22,207229341,null),new cljs.core.Symbol(null,\x22list*\x22,\x22list*\x22,765415731,null),new cljs.core.Symbol(null,\x22ns-interns\x22,\x22ns-interns\x22,535532824,null),new cljs.core.Symbol(null,\x22memoize\x22,\x22memoize\x22,2019341169,null),new cljs.core.Symbol(null,\x22subseq\x22,\x22subseq\x22,-1558995241,null),new cljs.core.Symbol(null,\x22delay?\x22,\x22delay?\x22,-1528239209,null),new cljs.core.Symbol(null,\x22completing\x22,\x22completing\x22,565832990,null),new cljs.core.Symbol(null,\x22unchecked-divide-int\x22,\x22unchecked-divide-int\x22,1613116468,null),new cljs.core.Symbol(null,\x22shuffle\x22,\x22shuffle\x22,-1393023609,null),new cljs.core.Symbol(null,\x22ns-map\x22,\x22ns-map\x22,-434605548,null),new cljs.core.Symbol(null,\x22prn-str\x22,\x22prn-str\x22,-145225943,null),new cljs.core.Symbol(null,\x22in-ns\x22,\x22in-ns\x22,-2089468466,null),new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),new cljs.core.Symbol(null,\x22compare-and-set!\x22,\x22compare-and-set!\x22,-1997299382,null),new cljs.core.Symbol(null,\x22use\x22,\x22use\x22,-205850897,null),new cljs.core.Symbol(null,\x22longs\x22,\x22longs\x22,-1017696020,null),new cljs.core.Symbol(null,\x22remove-ns\x22,\x22remove-ns\x22,-1915058781,null),new cljs.core.Symbol(null,\x22unchecked-int\x22,\x22unchecked-int\x22,1672898125,null),new cljs.core.Symbol(null,\x22nthrest\x22,\x22nthrest\x22,1219890118,null),new cljs.core.Symbol(null,\x22thread-bound?\x22,\x22thread-bound?\x22,2075334115,null),new cljs.core.Symbol(null,\x22*reader-resolver*\x22,\x22*reader-resolver*\x22,309718590,null),new cljs.core.Symbol(null,\x22doubles\x22,\x22doubles\x22,-1517872169,null),new cljs.core.Symbol(null,\x22force\x22,\x22force\x22,-1872478483,null),new cljs.core.Symbol(null,\x22remove-method\x22,\x22remove-method\x22,72923733,null),new cljs.core.Symbol(null,\x22system-time\x22,\x22system-time\x22,1690633727,null),new cljs.core.Symbol(null,\x22extend\x22,\x22extend\x22,-817951763,null),new cljs.core.Symbol(null,\x22nnext\x22,\x22nnext\x22,-2065435598,null),new cljs.core.Symbol(null,\x22dec\x22,\x22dec\x22,-766002333,null),new cljs.core.Symbol(null,\x22qualified-keyword?\x22,\x22qualified-keyword?\x22,375456001,null),new cljs.core.Symbol(null,\x22comparator\x22,\x22comparator\x22,-509539107,null),new cljs.core.Symbol(null,\x22take-last\x22,\x22take-last\x22,-41013151,null),new cljs.core.Symbol(null,\x22find-ns\x22,\x22find-ns\x22,-884829568,null),new cljs.core.Symbol(null,\x22string?\x22,\x22string?\x22,-1129175764,null),new cljs.core.Symbol(null,\x22print\x22,\x22print\x22,-1354873355,null),new cljs.core.Symbol(null,\x22*assert*\x22,\x22*assert*\x22,1479636474,null),new cljs.core.Symbol(null,\x22bit-xor\x22,\x22bit-xor\x22,-1334295033,null),new cljs.core.Symbol(null,\x22map\x22,\x22map\x22,-1282745308,null),new cljs.core.Symbol(null,\x22float\x22,\x22float\x22,-91857841,null),new cljs.core.Symbol(null,\x22chunk-append\x22,\x22chunk-append\x22,-1447349559,null),new cljs.core.Symbol(null,\x22deref\x22,\x22deref\x22,1494944732,null),new cljs.core.Symbol(null,\x22re-pattern\x22,\x22re-pattern\x22,1047705161,null),new cljs.core.Symbol(null,\x22repeat\x22,\x22repeat\x22,-1821743682,null),new cljs.core.Symbol(null,\x22reduce\x22,\x22reduce\x22,1358839360,null),new cljs.core.Symbol(null,\x22qualified-symbol?\x22,\x22qualified-symbol?\x22,98763807,null),new cljs.core.Symbol(null,\x22eval\x22,\x22eval\x22,536963622,null),new cljs.core.Symbol(null,\x22vector\x22,\x22vector\x22,-751469611,null),new cljs.core.Symbol(null,\x22doall\x22,\x22doall\x22,988520834,null),new cljs.core.Symbol(null,\x22exists?\x22,\x22exists?\x22,-1239962053,null),new cljs.core.Symbol(null,\x22assoc!\x22,\x22assoc!\x22,-847603280,null),new cljs.core.Symbol(null,\x22not\x3d\x22,\x22not\x3d\x22,1466536204,null),new cljs.core.Symbol(null,\x22alter-meta!\x22,\x22alter-meta!\x22,1510444945,null),new cljs.core.Symbol(null,\x22constantly\x22,\x22constantly\x22,-271143939,null),new cljs.core.Symbol(null,\x22seq?\x22,\x22seq?\x22,-1951934719,null),new cljs.core.Symbol(null,\x22js-keys\x22,\x22js-keys\x22,-1388365203,null),new cljs.core.Symbol(null,\x22get\x22,\x22get\x22,-971253014,null),new cljs.core.Symbol(null,\x22require\x22,\x22require\x22,1172530194,null),new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22bit-and-not\x22,\x22bit-and-not\x22,-254338837,null),new cljs.core.Symbol(null,\x22mapcat\x22,\x22mapcat\x22,-601348859,null),new cljs.core.Symbol(null,\x22cond-\x3e\x22,\x22cond-\x3e\x22,561741875,null),new cljs.core.Symbol(null,\x22nat-int?\x22,\x22nat-int?\x22,-1879663400,null),new cljs.core.Symbol(null,\x22demunge\x22,\x22demunge\x22,-1865491845,null),new cljs.core.Symbol(null,\x22get-method\x22,\x22get-method\x22,185754457,null),new cljs.core.Symbol(null,\x22*out*\x22,\x22*out*\x22,1277591796,null),new cljs.core.Symbol(null,\x22str\x22,\x22str\x22,-1564826950,null),new cljs.core.Symbol(null,\x22empty\x22,\x22empty\x22,-1886564811,null),new cljs.core.Symbol(null,\x22counted?\x22,\x22counted?\x22,1703071664,null),new cljs.core.Symbol(null,\x22set?\x22,\x22set?\x22,1636014792,null),new cljs.core.Symbol(null,\x22alength\x22,\x22alength\x22,-1268305401,null),new cljs.core.Symbol(null,\x22filterv\x22,\x22filterv\x22,1977739179,null),new cljs.core.Symbol(null,\x22reductions\x22,\x22reductions\x22,549963952,null),new cljs.core.Symbol(null,\x22booleans\x22,\x22booleans\x22,756846088,null),new cljs.core.Symbol(null,\x22\x3c\x22,\x22\x3c\x22,993667236,null),new cljs.core.Symbol(null,\x22reduced\x22,\x22reduced\x22,-1189224808,null),new cljs.core.Symbol(null,\x22halt-when\x22,\x22halt-when\x22,-140999689,null),new cljs.core.Symbol(null,\x22namespace\x22,\x22namespace\x22,1263021155,null),new cljs.core.Symbol(null,\x22keyword\x22,\x22keyword\x22,-1843046022,null),new cljs.core.Symbol(null,\x22bound-fn*\x22,\x22bound-fn*\x22,102308621,null),new cljs.core.Symbol(null,\x22record?\x22,\x22record?\x22,-1305224237,null),new cljs.core.Symbol(null,\x22tagged-literal?\x22,\x22tagged-literal?\x22,1117865390,null),new cljs.core.Symbol(null,\x22-\x22,\x22-\x22,-471816912,null),new cljs.core.Symbol(null,\x22bit-and\x22,\x22bit-and\x22,-479352589,null),new cljs.core.Symbol(null,\x22unreduced\x22,\x22unreduced\x22,780976083,null),new cljs.core.Symbol(null,\x22assoc\x22,\x22assoc\x22,2071440380,null),new cljs.core.Symbol(null,\x22defmulti\x22,\x22defmulti\x22,1936112154,null),new cljs.core.Symbol(null,\x22partition-all\x22,\x22partition-all\x22,-1985005385,null),new cljs.core.Symbol(null,\x22bit-not\x22,\x22bit-not\x22,1508529851,null),new cljs.core.Symbol(null,\x22some?\x22,\x22some?\x22,234752293,null),new cljs.core.Symbol(null,\x22pos?\x22,\x22pos?\x22,-244377722,null),new cljs.core.Symbol(null,\x22trampoline\x22,\x22trampoline\x22,-71368916,null),new cljs.core.Symbol(null,\x22rand\x22,\x22rand\x22,-1745930995,null),new cljs.core.Symbol(null,\x22re-matches\x22,\x22re-matches\x22,-1865705768,null),new cljs.core.Symbol(null,\x22boolean?\x22,\x22boolean?\x22,1790940868,null),new cljs.core.Symbol(null,\x22every-pred\x22,\x22every-pred\x22,-1346958247,null),new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),new cljs.core.Symbol(null,\x22fn?\x22,\x22fn?\x22,1820990818,null),new cljs.core.Symbol(null,\x22sequential?\x22,\x22sequential?\x22,1102351463,null),new cljs.core.Symbol(null,\x22list\x22,\x22list\x22,-1889078086,null),new cljs.core.Symbol(null,\x22sorted-set-by\x22,\x22sorted-set-by\x22,899099765,null),new cljs.core.Symbol(null,\x22nthnext\x22,\x22nthnext\x22,1677356670,null),new cljs.core.Symbol(null,\x22eduction\x22,\x22eduction\x22,1445227968,null),new cljs.core.Symbol(null,\x22rand-nth\x22,\x22rand-nth\x22,-1227719931,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22partial\x22,\x22partial\x22,1881673272,null),new cljs.core.Symbol(null,\x22with-bindings\x22,\x22with-bindings\x22,-1197589787,null),new cljs.core.Symbol(null,\x22rsubseq\x22,\x22rsubseq\x22,-710070471,null),new cljs.core.Symbol(null,\x22contains?\x22,\x22contains?\x22,-1676812576,null),new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),new cljs.core.Symbol(null,\x22shorts\x22,\x22shorts\x22,107738238,null),new cljs.core.Symbol(null,\x22random-uuid\x22,\x22random-uuid\x22,-1574409597,null),new cljs.core.Symbol(null,\x22ISwap\x22,\x22ISwap\x22,484378193,null),new cljs.core.Symbol(null,\x22as-\x3e\x22,\x22as-\x3e\x22,1430690540,null),new cljs.core.Symbol(null,\x22hash-set\x22,\x22hash-set\x22,-1145168432,null),new cljs.core.Symbol(null,\x22take\x22,\x22take\x22,871646627,null),new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),new cljs.core.Symbol(null,\x22macroexpand-1\x22,\x22macroexpand-1\x22,659241329,null),new cljs.core.Symbol(null,\x22split-with\x22,\x22split-with\x22,1853047034,null),new cljs.core.Symbol(null,\x22refer\x22,\x22refer\x22,676235974,null),new cljs.core.Symbol(null,\x22binding-conveyor-fn\x22,\x22binding-conveyor-fn\x22,2076077877,null),new cljs.core.Symbol(null,\x22make-hierarchy\x22,\x22make-hierarchy\x22,-241558556,null),new cljs.core.Symbol(null,\x22tagged-literal\x22,\x22tagged-literal\x22,-896422703,null),new cljs.core.Symbol(null,\x22has-root-impl\x22,\x22has-root-impl\x22,-288948659,null),new cljs.core.Symbol(null,\x22parents\x22,\x22parents\x22,-387007364,null),new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22vec\x22,\x22vec\x22,982683596,null),new cljs.core.Symbol(null,\x22nth\x22,\x22nth\x22,1529209554,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Symbol(null,\x22lazy-cat\x22,\x22lazy-cat\x22,-89906116,null),new cljs.core.Symbol(null,\x22if-some\x22,\x22if-some\x22,1960677609,null),new cljs.core.Symbol(null,\x22subs\x22,\x22subs\x22,1453849536,null),new cljs.core.Symbol(null,\x22*default-data-reader-fn*\x22,\x22*default-data-reader-fn*\x22,758795499,null),new cljs.core.Symbol(null,\x22to-array-2d\x22,\x22to-array-2d\x22,-1563270737,null),new cljs.core.Symbol(null,\x22symbol\x22,\x22symbol\x22,601958831,null),new cljs.core.Symbol(null,\x22mod\x22,\x22mod\x22,1510044207,null),new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),new cljs.core.Symbol(null,\x22number?\x22,\x22number?\x22,-1747282210,null),new cljs.core.Symbol(null,\x22reduced?\x22,\x22reduced?\x22,1361797384,null),new cljs.core.Symbol(null,\x22-new-dynamic-var\x22,\x22-new-dynamic-var\x22,-1029088918,null),new cljs.core.Symbol(null,\x22object?\x22,\x22object?\x22,327472310,null),new cljs.core.Symbol(null,\x22conj\x22,\x22conj\x22,-1127293942,null),new cljs.core.Symbol(null,\x22bytes\x22,\x22bytes\x22,-1478569089,null),new cljs.core.Symbol(null,\x22unchecked-float\x22,\x22unchecked-float\x22,1485658216,null),new cljs.core.Symbol(null,\x22LazySeq\x22,\x22LazySeq\x22,1579450882,null),new cljs.core.Symbol(null,\x22bit-test\x22,\x22bit-test\x22,543456753,null),new cljs.core.Symbol(null,\x22sorted-map-by\x22,\x22sorted-map-by\x22,218894812,null),new cljs.core.Symbol(null,\x22double?\x22,\x22double?\x22,-2146564276,null),new cljs.core.Symbol(null,\x22rseq\x22,\x22rseq\x22,-1719353554,null),new cljs.core.Symbol(null,\x22unchecked-long\x22,\x22unchecked-long\x22,1306610949,null),new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),new cljs.core.Symbol(null,\x22double\x22,\x22double\x22,-1769548886,null),new cljs.core.Symbol(null,\x22unchecked-dec\x22,\x22unchecked-dec\x22,2095823150,null),new cljs.core.Symbol(null,\x22tree-seq\x22,\x22tree-seq\x22,-1800921632,null),new cljs.core.Symbol(null,\x22multi-fn-add-method-impl\x22,\x22multi-fn-add-method-impl\x22,-523930142,null),new cljs.core.Symbol(null,\x22seqable?\x22,\x22seqable?\x22,72462495,null),new cljs.core.Symbol(null,\x22swap!\x22,\x22swap!\x22,-655677516,null),new cljs.core.Symbol(null,\x22vswap!\x22,\x22vswap!\x22,-574070781,null),new cljs.core.Symbol(null,\x22array-map\x22,\x22array-map\x22,1555038968,null),new cljs.core.Symbol(null,\x22reset-thread-binding-frame-impl\x22,\x22reset-thread-binding-frame-impl\x22,-826674194,null),new cljs.core.Symbol(null,\x22dedupe\x22,\x22dedupe\x22,-461856254,null),new cljs.core.Symbol(null,\x22short\x22,\x22short\x22,-725675253,null),new cljs.core.Symbol(null,\x22update\x22,\x22update\x22,-1608859373,null),new cljs.core.Symbol(null,\x22filter\x22,\x22filter\x22,691993593,null),new cljs.core.Symbol(null,\x22unchecked-dec-int\x22,\x22unchecked-dec-int\x22,1339067442,null),new cljs.core.Symbol(null,\x22*3\x22,\x22*3\x22,105062009,null),new cljs.core.Symbol(null,\x22requiring-resolve\x22,\x22requiring-resolve\x22,-1888505231,null),new cljs.core.Symbol(null,\x22rem\x22,\x22rem\x22,664046770,null),new cljs.core.Symbol(null,\x22pop\x22,\x22pop\x22,-94247249,null),new cljs.core.Symbol(null,\x22merge-with\x22,\x22merge-with\x22,1025434534,null),new cljs.core.Symbol(null,\x22long\x22,\x22long\x22,1469079434,null),new cljs.core.Symbol(null,\x22assert\x22,\x22assert\x22,677428501,null),new cljs.core.Symbol(null,\x22array\x22,\x22array\x22,-440182315,null),new cljs.core.Symbol(null,\x22refer-clojure\x22,\x22refer-clojure\x22,-1840651329,null),new cljs.core.Symbol(null,\x22flatten\x22,\x22flatten\x22,-1441633353,null),new cljs.core.Symbol(null,\x22distinct?\x22,\x22distinct?\x22,-1684357959,null),new cljs.core.Symbol(null,\x22map-indexed\x22,\x22map-indexed\x22,-1391025435,null),new cljs.core.Symbol(null,\x22ns-publics\x22,\x22ns-publics\x22,903350436,null),new cljs.core.Symbol(null,\x22protocol-type-impl\x22,\x22protocol-type-impl\x22,561934718,null),new cljs.core.Symbol(null,\x22even?\x22,\x22even?\x22,-1827825394,null),new cljs.core.Symbol(null,\x22var-get\x22,\x22var-get\x22,-767472097,null),new cljs.core.Symbol(null,\x22multi-fn?-impl\x22,\x22multi-fn?-impl\x22,1372639302,null),new cljs.core.Symbol(null,\x22alter-var-root\x22,\x22alter-var-root\x22,-1749458519,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22neg?\x22,\x22neg?\x22,-1902175577,null),new cljs.core.Symbol(null,\x22gensym\x22,\x22gensym\x22,-1693147401,null),new cljs.core.Symbol(null,\x22resolve\x22,\x22resolve\x22,56086045,null),new cljs.core.Symbol(null,\x22add-watch\x22,\x22add-watch\x22,1389887634,null),new cljs.core.Symbol(null,\x22not-any?\x22,\x22not-any?\x22,-2114707554,null),new cljs.core.Symbol(null,\x22take-nth\x22,\x22take-nth\x22,1378204353,null),new cljs.core.Symbol(null,\x22dorun\x22,\x22dorun\x22,560426022,null),new cljs.core.Symbol(null,\x22remove-all-methods\x22,\x22remove-all-methods\x22,-728267092,null),new cljs.core.Symbol(null,\x22not-empty\x22,\x22not-empty\x22,2029453590,null),new cljs.core.Symbol(null,\x22*suppress-read*\x22,\x22*suppress-read*\x22,1470729096,null),new cljs.core.Symbol(null,\x22ns-aliases\x22,\x22ns-aliases\x22,-1364180948,null),new cljs.core.Symbol(null,\x22*print-dup*\x22,\x22*print-dup*\x22,103854877,null),new cljs.core.Symbol(null,\x22ns-resolve\x22,\x22ns-resolve\x22,1788675756,null),new cljs.core.Symbol(null,\x22get-thread-binding-frame-impl\x22,\x22get-thread-binding-frame-impl\x22,-701667726,null),new cljs.core.Symbol(null,\x22chunk-rest\x22,\x22chunk-rest\x22,-1853526420,null),new cljs.core.Symbol(null,\x22remove-watch\x22,\x22remove-watch\x22,-1105301448,null),new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),new cljs.core.Symbol(null,\x22int-array\x22,\x22int-array\x22,459176616,null),new cljs.core.Symbol(null,\x22pos-int?\x22,\x22pos-int?\x22,-1205815015,null),new cljs.core.Symbol(null,\x22undefined?\x22,\x22undefined?\x22,1356377224,null),new cljs.core.Symbol(null,\x22ints\x22,\x22ints\x22,-1761239845,null),new cljs.core.Symbol(null,\x22identical?\x22,\x22identical?\x22,-745864205,null),new cljs.core.Symbol(null,\x22persistent!\x22,\x22persistent!\x22,1286555698,null),new cljs.core.Symbol(null,\x22IReset\x22,\x22IReset\x22,-1893729426,null),new cljs.core.Symbol(null,\x22indexed?\x22,\x22indexed?\x22,1234610384,null),new cljs.core.Symbol(null,\x22min-key\x22,\x22min-key\x22,246826648,null),new cljs.core.Symbol(null,\x22repeatedly\x22,\x22repeatedly\x22,1199964457,null),new cljs.core.Symbol(null,\x22set\x22,\x22set\x22,1945134081,null),new cljs.core.Symbol(null,\x22remove\x22,\x22remove\x22,1509103113,null),new cljs.core.Symbol(null,\x22keyword-identical?\x22,\x22keyword-identical?\x22,931555714,null),new cljs.core.Symbol(null,\x22while\x22,\x22while\x22,-1691317983,null),new cljs.core.Symbol(null,\x22re-find\x22,\x22re-find\x22,1143444147,null),new cljs.core.Symbol(null,\x22PersistentQueue\x22,\x22PersistentQueue\x22,-160870792,null),new cljs.core.Symbol(null,\x22seq-to-map-for-destructuring\x22,\x22seq-to-map-for-destructuring\x22,647384515,null)],[cljs.core.unchecked_char,sci.impl.io.print_fn,cljs.core.sorted_set,cljs.core.true_QMARK_,cljs.core.pop_BANG_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22deftype\x22,\x22deftype\x22,1980826088,null),sci.impl.deftype.deftype,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22deftype\x22,\x22deftype\x22,1980826088,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22t\x22,\x22t\x22,242699008,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22impls\x22,\x22impls\x22,326516674,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22(deftype name [fields*]  options* specs*)\\n\\n  Currently there are no options.\\n\\n  Each spec consists of a protocol or interface name followed by zero\\n  or more method bodies:\\n\\n  protocol-or-Object\\n  (methodName [args*] body)*\\n\\n  The type will have the (by default, immutable) fields named by\\n  fields, which can have type hints. Protocols and methods\\n  are optional. The only methods that can be supplied are those\\n  declared in the protocols/interfaces.  Note that method bodies are\\n  not closures, the local environment includes only the named fields,\\n  and those fields can be accessed directly. Fields can be qualified\\n  with the metadata :mutable true at which point (set! afield aval) will be\\n  supported in method bodies. Note well that mutable fields are extremely\\n  difficult to use correctly, and are present only to facilitate the building\\n  of higherlevel constructs, such as ClojureScript\x27s reference types, in\\n  ClojureScript itself. They are for experts only - if the semantics and\\n  implications of :mutable are not immediately apparent to you, you should not\\n  be using them.\\n\\n  Method definitions take the form:\\n\\n  (methodname [args*] body)\\n\\n  The argument and return types can be hinted on the arg and\\n  methodname symbols. If not supplied, they will be inferred, so type\\n  hints should be reserved for disambiguation.\\n\\n  Methods should be supplied for all methods of the desired\\n  protocol(s). You can also define overrides for methods of Object. Note that\\n  a parameter must be supplied to correspond to the target object\\n  (\x27this\x27 in JavaScript parlance). Note also that recur calls to the method\\n  head should *not* pass the target object, it will be supplied\\n  automatically and can not be substituted.\\n\\n  In the method bodies, the (unqualified) name can be used to name the\\n  class (for calls to new, instance? etc).\\n\\n  One constructor will be defined, taking the designated fields.  Note\\n  that the field names __meta and __extmap are currently reserved and\\n  should not be used when defining your own types.\\n\\n  Given (deftype TypeName ...), a factory function called -\x3eTypeName\\n  will be defined, taking positional parameters for the fields\x22], null)),cljs.core.unchecked_byte,cljs.core.aset,sci.impl.namespaces._STAR_2,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22doto\x22,\x22doto\x22,1252536074,null),sci.impl.namespaces.doto_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22doto\x22,\x22doto\x22,1252536074,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates x then calls all of the methods and functions with the\\n  value of x supplied at the front of the given arguments.  The forms\\n  are evaluated in order.  Returns x.\\n\\n  (doto (new js/Map) (.set \\\x22a\\\x22 1) (.set \\\x22b\\\x22 2))\x22], null)),cljs.core.reduce_kv,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defmethod\x22,\x22defmethod\x22,-579171823,null),sci.impl.multimethods.defmethod,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defmethod\x22,\x22defmethod\x22,-579171823,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22multifn\x22,\x22multifn\x22,-1904313150,null),new cljs.core.Symbol(null,\x22dispatch-val\x22,\x22dispatch-val\x22,69061000,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22fn-tail\x22,\x22fn-tail\x22,-178337841,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Creates and installs a new method of multimethod associated with dispatch-value. \x22], null)),cljs.core.update_in,cljs.core.prefer_method,sci.impl.hierarchies.derive_STAR_,cljs.core.nfirst,cljs.core.sort_by,sci.impl.parser.data_readers,cljs.core.keys,sci.impl.hierarchies.ancestors_STAR_,cljs.core.first,cljs.core.butlast,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),sci.impl.namespaces.and_STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates exprs one at a time, from left to right. If a form\\n  returns logical false (nil or false), and returns that value and\\n  doesn\x27t evaluate any of the other expressions, otherwise it returns\\n  the value of the last expr. (and) returns true.\x22,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null)], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-out-str\x22,\x22with-out-str\x22,-140201577,null),sci.impl.io.with_out_str,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-out-str\x22,\x22with-out-str\x22,-140201577,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates exprs in a context in which *print-fn* is bound to .append\\n  on a fresh StringBuffer.  Returns the string created by any nested\\n  printing calls.\x22], null)),cljs.core.partition_by,cljs.core.uri_QMARK_,cljs.core.map_entry_QMARK_,cljs.core.simple_keyword_QMARK_,cljs.core.into_array,sci.impl.namespaces.sci_ns_refers,cljs.core.rest,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),sci.impl.namespaces.case_STAR__STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22e\x22,\x22e\x22,-1273166571,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes an expression, and a set of clauses.\\n\\n  Each clause can take the form of either:\\n\\n  test-constant result-expr\\n\\n  (test-constant1 ... test-constantN)  result-expr\\n\\n  The test-constants are not evaluated. They must be compile-time\\n  literals, and need not be quoted.  If the expression is equal to a\\n  test-constant, the corresponding result-expr is returned. A single\\n  default expression can follow the clauses, and its value will be\\n  returned if no clause matches. If no default expression is provided\\n  and no clause matches, an Error is thrown.\\n\\n  Unlike cond and condp, case does a constant-time dispatch, the\\n  clauses are not considered sequentially.  All manner of constant\\n  expressions are acceptable in case, including numbers, strings,\\n  symbols, keywords, and (ClojureScript) composites thereof. Note that since\\n  lists are used to group multiple constants that map to the same\\n  expression, a vector can be used to match a list if needed. The\\n  test-constants need not be all of the same type.\x22,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null)], null)),cljs.core.seq,cljs.core.unchecked_inc_int,cljs.core.hash_combine,sci.impl.namespaces.sci_ns_unalias,cljs.core.odd_QMARK_,cljs.core.partition,cljs.core._GT__EQ_,cljs.core.fnext,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),sci.impl.namespaces.when_first_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e x xs\\n\\n  Roughly the same as (when (seq xs) (let [x (first xs)] body)) but xs is evaluated only once\x22], null)),cljs.core.bit_or,cljs.core.disj,sci.impl.namespaces.sci_with_redefs_fn,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-new-var\x22,\x22-new-var\x22,1200468147,null),(function (){\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$2(cljs.core.gensym.cljs$core$IFn$_invoke$arity$0(),null);\n})),cljs.core.unchecked_short,cljs.core.ffirst,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),sci.impl.namespaces.condp_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes a binary predicate, an expression, and a set of clauses.\\n  Each clause can take the form of either:\\n\\n  test-expr result-expr\\n\\n  test-expr :\x3e\x3e result-fn\\n\\n  Note :\x3e\x3e is an ordinary keyword.\\n\\n  For each clause, (pred test-expr expr) is evaluated. If it returns\\n  logical true, the clause is a match. If a binary clause matches, the\\n  result-expr is returned, if a ternary clause matches, its result-fn,\\n  which must be a unary function, is called with the result of the\\n  predicate as its argument, the result of that call being the return\\n  value of condp. A single default expression can follow the clauses,\\n  and its value will be returned if no clause matches. If no default\\n  expression is provided and no clause matches, an Error is thrown.\x22], null)),cljs.core.munge,sci.impl.utils.current_file,cljs.core.unchecked_negate_int,sci.impl.io.print_str,cljs.core.vreset_BANG_,cljs.core.uuid_QMARK_,sci.impl.core_protocols.reset_BANG__STAR_,sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22IRecord\x22,\x22IRecord\x22,-903221169,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),cljs.core.IRecord,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null)),(new sci.lang.Var(sci.impl.namespaces.memfn,new cljs.core.Symbol(null,\x22memfn\x22,\x22memfn\x22,-881453486,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22memfn\x22,\x22memfn\x22,-881453486,null),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22args\x22,\x22args\x22,-1338879193,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Expands into code that creates a fn that expects to be passed an\\n  object and any args and calls the named instance method on the\\n  object passing the args. Use when you want to treat a JavaScript\\n  method as a first-class fn.\x22,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null),false,null,null)),cljs.core.atom,cljs.core.select_keys,cljs.core.reverse,sci.impl.namespaces.ex_message,cljs.core.special_symbol_QMARK_,cljs.core.merge,cljs.core.inst_ms,sci.impl.io.newline,cljs.core.unchecked_multiply,sci.impl.io.print_readably,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),sci.impl.namespaces.double_dot,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22more\x22,\x22more\x22,-418290273,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22form \x3d\x3e fieldName-symbol or (instanceMethodName-symbol args*)\\n\\n  Expands into a member access (.) of the first member on the first\\n  argument, followed by the next member on the result, etc. For\\n  instance:\\n\\n  (.. System (getProperties) (get \\\x22os.name\\\x22))\\n\\n  expands to:\\n\\n  (. (. System (getProperties)) (get \\\x22os.name\\\x22))\\n\\n  but is easier to write, read, and understand.\x22], null)),cljs.core.chunked_seq_QMARK_,cljs.core.inst_QMARK_,cljs.core.random_sample,cljs.core._GT_,sci.impl.parser.read_eval,cljs.core.count,cljs.core.simple_ident_QMARK_,sci.impl.namespaces.sci_ns_name,sci.impl.namespaces._STAR_1,cljs.core.last,cljs.core.bit_shift_left,cljs.core.int$,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),sci.impl.fns.defmacro_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22doc-string?\x22,\x22doc-string?\x22,393166599,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params*\x22,\x22params*\x22,336153603,null)], null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22doc-string?\x22,\x22doc-string?\x22,393166599,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params*\x22,\x22params*\x22,336153603,null)], null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)),new cljs.core.Symbol(null,\x22+\x22,\x22+\x22,-740910886,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Like defn, but the resulting function name is declared as a\\n  macro and will be used as a macro by the compiler when it is\\n  called.\x22], null)),cljs.core.unchecked_negate,cljs.core.volatile_QMARK_,sci.impl.multimethods.multi_fn_impl,cljs.core.unchecked_remainder_int,cljs.core.byte$,cljs.core.conj_BANG_,(new sci.lang.Var(sci.impl.namespaces.time,new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates expr and prints the time it took. Returns the value of expr.\x22,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null),false,null,null)),sci.impl.io.println,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defprotocol\x22,\x22defprotocol\x22,1388695348,null),sci.impl.protocols.defprotocol,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defprotocol\x22,\x22defprotocol\x22,1388695348,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22psym\x22,\x22psym\x22,752521989,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22doc+methods\x22,\x22doc+methods\x22,2036080922,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22A protocol is a named set of named methods and their signatures:\\n\\n  (defprotocol AProtocolName\\n    ;optional doc string\\n    \\\x22A doc string for AProtocol abstraction\\\x22\\n\\n  ;method signatures\\n    (bar [this a b] \\\x22bar docs\\\x22)\\n    (baz [this a] [this a b] [this a b c] \\\x22baz docs\\\x22))\\n\\n  No implementations are provided. Docs can be specified for the\\n  protocol overall and for each method. The above yields a set of\\n  polymorphic functions and a protocol object. All are\\n  namespace-qualified by the ns enclosing the definition The resulting\\n  functions dispatch on the type of their first argument, which is\\n  required and corresponds to the implicit target object (\x27this\x27 in\\n  JavaScript parlance). defprotocol is dynamic, has no special compile-time\\n  effect, and defines no new types.\\n\\n  (defprotocol P\\n    (foo [this])\\n    (bar-me [this] [this y]))\\n\\n  (deftype Foo [a b c]\\n    P\\n    (foo [this] a)\\n    (bar-me [this] b)\\n    (bar-me [this y] (+ c y)))\\n\\n  (bar-me (Foo. 1 2 3) 42)\\n  \x3d\x3e 45\\n\\n  (foo\\n    (let [x 42]\\n      (reify P\\n        (foo [this] 17)\\n        (bar-me [this] x)\\n        (bar-me [this y] x))))\\n  \x3d\x3e 17\x22], null)),cljs.core.int_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),sci.impl.fns.defn_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22doc-string?\x22,\x22doc-string?\x22,393166599,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params*\x22,\x22params*\x22,336153603,null)], null),new cljs.core.Symbol(null,\x22prepost-map?\x22,\x22prepost-map?\x22,869562481,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22doc-string?\x22,\x22doc-string?\x22,393166599,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params*\x22,\x22params*\x22,336153603,null)], null),new cljs.core.Symbol(null,\x22prepost-map?\x22,\x22prepost-map?\x22,869562481,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)),new cljs.core.Symbol(null,\x22+\x22,\x22+\x22,-740910886,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Same as (def name (core/fn [params* ] exprs*)) or (def\\n    name (core/fn ([params* ] exprs*)+)) with any doc-string or attrs added\\n    to the var metadata. prepost-map defines a map with optional keys\\n    :pre and :post that contain collections of pre or post conditions.\x22], null)),sci.impl.namespaces.loaded_libs_STAR_,cljs.core.long_array,cljs.core.find,cljs.core.vals,cljs.core.nil_QMARK_,sci.impl.io.flush,cljs.core.hash,sci.impl.io.pr,sci.impl.destructure.destructure,cljs.core.unchecked_subtract,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22comment\x22,\x22comment\x22,-2122229700,null),sci.impl.namespaces.comment_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22comment\x22,\x22comment\x22,-2122229700,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Ignores body, yields nil\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-redefs\x22,\x22with-redefs\x22,-1143728263,null),sci.impl.namespaces.sci_with_redefs,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-redefs\x22,\x22with-redefs\x22,-1143728263,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22binding \x3d\x3e var-symbol temp-value-expr\\n\\n  Temporarily redefines vars while executing the body.  The\\n  temp-value-exprs will be evaluated and each resulting value will\\n  replace in parallel the root value of its var.  After the body is\\n  executed, the root values of all the vars will be set back to their\\n  old values. Useful for mocking out functions during testing.\\n\\n  Note that under advanced compilation vars are statically resolved,\\n  preventing with-redef usage.  If var redefinition is desired in a production\\n  setting then the var to be redefined must be declared ^:dynamic.\x22], null)),cljs.core.js_delete,cljs.core.float_QMARK_,cljs.core.second,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22extend-protocol\x22,\x22extend-protocol\x22,306378578,null),sci.impl.protocols.extend_protocol,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22extend-protocol\x22,\x22extend-protocol\x22,306378578,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p\x22,\x22p\x22,1791580836,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Useful when you want to provide several implementations of the same\\n  protocol all at once. Takes a single protocol and the implementation\\n  of that protocol for one or more types. Expands into calls to\\n  extend-type:\\n\\n  (extend-protocol Protocol\\n    AType\\n      (foo [x] ...)\\n      (bar [x y] ...)\\n    BType\\n      (foo [x] ...)\\n      (bar [x y] ...)\\n    AClass\\n      (foo [x] ...)\\n      (bar [x y] ...)\\n    nil\\n      (foo [x] ...)\\n      (bar [x y] ...))\\n\\n  expands into:\\n\\n  (do\\n   (clojure.core/extend-type AType Protocol \\n     (foo [x] ...) \\n     (bar [x y] ...))\\n   (clojure.core/extend-type BType Protocol \\n     (foo [x] ...) \\n     (bar [x y] ...))\\n   (clojure.core/extend-type AClass Protocol \\n     (foo [x] ...) \\n     (bar [x y] ...))\\n   (clojure.core/extend-type nil Protocol \\n     (foo [x] ...) \\n     (bar [x y] ...)))\x22], null)),sci.impl.io.err,cljs.core.array_QMARK_,cljs.core.chunk_first,sci.impl.namespaces.sci_alias,cljs.core._write,cljs.core.unchecked_add_int,cljs.core.ifn_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),sci.impl.namespaces.loop_STAR__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates the exprs in a lexical context in which the symbols in\\n  the binding-forms are bound to their respective init-exprs or parts\\n  therein. Acts as a recur target.\x22], null)),cljs.core.ex_info,cljs.core.inc,cljs.core._SLASH_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22amap\x22,\x22amap\x22,635923055,null),sci.impl.namespaces.amap_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22amap\x22,\x22amap\x22,635923055,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22a\x22,\x22a\x22,-482876059,null),new cljs.core.Symbol(null,\x22idx\x22,\x22idx\x22,-1600747296,null),new cljs.core.Symbol(null,\x22ret\x22,\x22ret\x22,1172308713,null),new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Maps an expression across an array a, using an index named idx, and\\n  return value named ret, initialized to a clone of a, then setting\\n  each element of ret to the evaluation of expr, returning the new\\n  array ret.\x22], null)),cljs.core.volatile_BANG_,cljs.core.with_meta,cljs.core.map_QMARK_,cljs.core.vector_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22-\x3e\x3e\x22,\x22-\x3e\x3e\x22,-1874332161,null),sci.impl.namespaces.__GT__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22-\x3e\x3e\x22,\x22-\x3e\x3e\x22,-1874332161,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Threads the expr through the forms. Inserts x as the\\n  last item in the first form, making a list of it if it is not a\\n  list already. If there are more forms, inserts the first form as the\\n  last item in second form, etc.\x22], null)),cljs.core.quot,cljs.core.any_QMARK_,sci.impl.io.print_newline,sci.impl.load.load_reader,cljs.core.unchecked_add,cljs.core.Delay,cljs.core.floats,cljs.core.drop_while,cljs.core.bounded_count,cljs.core.take_while,sci.impl.protocols.extends_QMARK_,cljs.core.sort,cljs.core.false_QMARK_,cljs.core.cat,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22extend-type\x22,\x22extend-type\x22,1123355921,null),sci.impl.protocols.extend_type,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22extend-type\x22,\x22extend-type\x22,1123355921,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-sym\x22,\x22type-sym\x22,-1942856509,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22impls\x22,\x22impls\x22,326516674,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Extend a type to a series of protocols. Useful when you are\\n  supplying the definitions explicitly inline. Propagates the\\n  type as a type hint on the first argument of all fns.\\n\\n  type-sym may be\\n\\n   * default, meaning the definitions will apply for any value,\\n     unless an extend-type exists for one of the more specific\\n     cases below.\\n   * nil, meaning the definitions will apply for the nil value.\\n   * any of object, boolean, number, string, array, or function,\\n     indicating the definitions will apply for values of the\\n     associated base JavaScript types. Note that, for example,\\n     string should be used instead of js/String.\\n   * a JavaScript type not covered by the previous list, such\\n     as js/RegExp.\\n   * a type defined by deftype or defrecord.\\n\\n  (extend-type MyType\\n    ICounted\\n    (-count [c] ...)\\n    Foo\\n    (bar [x y] ...)\\n    (baz ([x] ...) ([x y] ...) ...)\x22], null)),sci.impl.io.print_level,cljs.core.replace,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),sci.impl.doseq_macro.expand_doseq,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22seq-exprs\x22,\x22seq-exprs\x22,-637209651,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Repeatedly executes body (presumably for side-effects) with\\n  bindings and filtering as provided by \\\x22for\\\x22.  Does not retain\\n  the head of the sequence. Returns nil.\x22], null)),cljs.core.drop,sci.impl.vars.push_thread_bindings,cljs.core.not,cljs.core.keep,cljs.core.cons,sci.impl.namespaces._STAR_e,cljs.core.bit_shift_right,cljs.core.associative_QMARK_,sci.impl.read.read,(function (){var G__46120 \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22unquote\x22,\x22unquote\x22,-1004694737,null),null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null));\nG__46120.sci$impl$vars$IVar$unbind$arity$1(null);\n\nreturn G__46120;\n})(),sci.impl.namespaces.macroexpand_STAR_,sci.impl.namespaces.sci_create_ns,sci.impl.io.print_err_fn,sci.impl.io.print_length,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),sci.impl.namespaces.if_not_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null),new cljs.core.Symbol(null,\x22else\x22,\x22else\x22,132154381,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates test. If logical false, evaluates and returns then expr, \\n  otherwise else expr, if supplied, else nil.\x22], null)),cljs.core.chunk_next,sci.impl.vars.var_set,cljs.core.bit_flip,cljs.core.aset,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-deref\x22,\x22-deref\x22,-283116853,null),sci.impl.core_protocols._deref),sci.impl.utils.current_ns,cljs.core.some_fn,sci.impl.utils.var_QMARK_,sci.impl.io.print_meta,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),sci.impl.namespaces.when_not_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates test. If logical false, evaluates body in an implicit do.\x22], null)),cljs.core.unchecked_multiply_int,cljs.core.identity,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-reset!\x22,\x22-reset!\x22,1965723739,null),sci.impl.core_protocols._reset_BANG_),cljs.core.to_array,cljs.core.double_array,cljs.core.sorted_map,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-reified-methods\x22,\x22-reified-methods\x22,1702712518,null),(function (p1__45992_SHARP_){\nreturn sci.impl.types.getMethods(p1__45992_SHARP_);\n})),cljs.core.concat,cljs.core.char$,cljs.core.ident_QMARK_,cljs.core.make_array,cljs.core.chunk_buffer,cljs.core.peek,cljs.core.hash_unordered_coll,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),sci.impl.namespaces.when_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates test. If logical true, evaluates body in an implicit do.\x22], null)),cljs.core.clj__GT_js,cljs.core.sequence,cljs.core.group_by,cljs.core.re_seq,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null),sci.impl.core_protocols._swap_BANG_),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when-some\x22,\x22when-some\x22,1700415903,null),sci.impl.namespaces.when_some_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when-some\x22,\x22when-some\x22,1700415903,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e binding-form test\\n\\n   When test is not nil, evaluates body with binding-form bound to the\\n   value of test\x22], null)),cljs.core.unchecked_subtract_int,cljs.core._LT__EQ_,cljs.core.prefers,cljs.core.vary_meta,cljs.core._EQ_,sci.impl.namespaces.sci_intern,cljs.core.keep_indexed,cljs.core.js_obj,cljs.core.every_QMARK_,cljs.core.comp,cljs.core.bit_set,cljs.core.dissoc,cljs.core.min,cljs.core.char_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),sci.impl.namespaces.with_open_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.interleave,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22declare\x22,\x22declare\x22,654042991,null),sci.impl.namespaces.declare_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22declare\x22,\x22declare\x22,654042991,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22names\x22,\x22names\x22,-302543131,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22defs the supplied var names with no bindings, useful for making forward declarations.\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),sci.impl.namespaces.with_local_vars_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),sci.impl.namespaces.sci_bound_QMARK_,sci.impl.namespaces.sci_all_ns,cljs.core.split_at,cljs.core.neg_int_QMARK_,cljs.core.mapv,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),sci.impl.namespaces.defonce_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22init\x22,\x22init\x22,-234949907,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22defs name to have the root value of init iff the named var has no root value,\\n  else init is unevaluated\x22], null)),sci.impl.namespaces._add_loaded_lib,sci.impl.io.prn,cljs.core.drop_last,sci.impl.namespaces.with_bindings_STAR_,cljs.core.fnil,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22cond-\x3e\x3e\x22,\x22cond-\x3e\x3e\x22,348844960,null),sci.impl.namespaces.cond__GT__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22cond-\x3e\x3e\x22,\x22cond-\x3e\x3e\x22,348844960,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes an expression and a set of test/form pairs. Threads expr (via -\x3e\x3e)\\n  through each form for which the corresponding test expression\\n  is true.  Note that, unlike cond branching, cond-\x3e\x3e threading does not short circuit\\n  after the first true test expression.\x22], null)),sci.impl.vars.pop_thread_bindings,sci.impl.protocols.satisfies_QMARK_,cljs.core.next,cljs.core._PLUS_,sci.impl.load.load_string,cljs.core.name,cljs.core.unchecked_double,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),sci.impl.namespaces.when_let_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e binding-form test\\n\\n  When test is true, evaluates body with binding-form bound to the value of test\x22], null)),cljs.core.symbol_QMARK_,cljs.core.chunk_cons,cljs.core.disj_BANG_,cljs.core.__GT_Eduction,sci.impl.namespaces.sci_ns_imports,cljs.core.methods$,cljs.core.reset_meta_BANG_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22areduce\x22,\x22areduce\x22,-1873477878,null),sci.impl.namespaces.areduce_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22areduce\x22,\x22areduce\x22,-1873477878,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22a\x22,\x22a\x22,-482876059,null),new cljs.core.Symbol(null,\x22idx\x22,\x22idx\x22,-1600747296,null),new cljs.core.Symbol(null,\x22ret\x22,\x22ret\x22,1172308713,null),new cljs.core.Symbol(null,\x22init\x22,\x22init\x22,-234949907,null),new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Reduces an expression across an array a, using an index named idx,\\n  and return value named ret, initialized to init, setting ret to the\\n  evaluation of expr at each step, returning ret.\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),sci.impl.namespaces.ns_STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null)], null)),cljs.core.js__GT_clj,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),sci.impl.namespaces.dotimes_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e name n\\n\\n  Repeatedly executes body (presumably for side-effects) with name\\n  bound to integers from 0 through n-1.\x22], null)),cljs.core.rand_int,cljs.core.complement,cljs.core.list_QMARK_,cljs.core.aget,cljs.core.zipmap,sci.impl.namespaces.sci_find_var,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22for\x22,\x22for\x22,316745208,null),sci.impl.for_macro.expand_for,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22for\x22,\x22for\x22,316745208,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22seq-exprs\x22,\x22seq-exprs\x22,-637209651,null),new cljs.core.Symbol(null,\x22body-expr\x22,\x22body-expr\x22,-2125506601,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22List comprehension. Takes a vector of one or more\\n   binding-form/collection-expr pairs, each followed by zero or more\\n   modifiers, and yields a lazy sequence of evaluations of expr.\\n   Collections are iterated in a nested fashion, rightmost fastest,\\n   and nested coll-exprs can refer to bindings created in prior\\n   binding-forms.  Supported modifiers are: :let [binding-form expr ...],\\n   :while test, :when test.\\n\\n  (take 100 (for [x (range 100000000) y (range 1000000) :while (\x3c y x)]  [x y]))\x22], null)),cljs.core.run_BANG_,cljs.core._EQ__EQ_,cljs.core.chars,cljs.core.iterate,cljs.core.boolean$,cljs.core.hash_ordered_coll,cljs.core.hash_map,cljs.core.unchecked_inc,cljs.core.max_key,cljs.core.qualified_ident_QMARK_,cljs.core.dissoc_BANG_,cljs.core.coll_QMARK_,cljs.core.reversible_QMARK_,sci.impl.namespaces.sci_ns_unmap,cljs.core.apply,sci.impl.io.in$,cljs.core.subvec,sci.impl.hierarchies.isa_QMARK__STAR_,cljs.core.not_every_QMARK_,sci.impl.namespaces.ex_cause,cljs.core.keyword_QMARK_,cljs.core.ex_data,sci.impl.io.print_namespace_maps,cljs.core.compare,sci.impl.hierarchies.underive_STAR_,cljs.core.transduce,sci.impl.io.flush_on_newline,cljs.core.range,sci.impl.core_protocols.deref_protocol,cljs.core.sorted_QMARK_,cljs.core.frequencies,cljs.core.cycle,cljs.core.max,cljs.core.simple_symbol_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22reify\x22,\x22reify\x22,1885539699,null),sci.impl.reify.reify,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22reify\x22,\x22reify\x22,1885539699,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22impls\x22,\x22impls\x22,326516674,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22reify creates an object implementing a protocol.\\n  reify is a macro with the following structure:\\n\\n (reify options* specs*)\\n\\n  Currently there are no options.\\n\\n  Each spec consists of the protocol name followed by zero\\n  or more method bodies:\\n\\n  protocol\\n  (methodName [args+] body)*\\n\\n  Methods should be supplied for all methods of the desired\\n  protocol(s). You can also define overrides for Object methods. Note that\\n  the first parameter must be supplied to correspond to the target object\\n  (\x27this\x27 in JavaScript parlance). Note also that recur calls\\n  to the method head should *not* pass the target object, it will be supplied\\n  automatically and can not be substituted.\\n\\n  recur works to method heads The method bodies of reify are lexical\\n  closures, and can refer to the surrounding local scope:\\n\\n  (str (let [f \\\x22foo\\\x22]\\n       (reify Object\\n         (toString [this] f))))\\n  \x3d\x3d \\\x22foo\\\x22\\n\\n  (seq (let [f \\\x22foo\\\x22]\\n       (reify ISeqable\\n         (-seq [this] (seq f)))))\\n  \x3d\x3d (\\\x22f\\\x22 \\\x22o\\\x22 \\\x22o\\\x22))\\n\\n  reify always implements IMeta and IWithMeta and transfers meta\\n  data of the form to the created object.\\n\\n  (meta ^{:k :v} (reify Object (toString [this] \\\x22foo\\\x22)))\\n  \x3d\x3d {:k :v}\x22], null)),cljs.core.empty_QMARK_,cljs.core.into,cljs.core.integer_QMARK_,cljs.core._STAR_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22some-\x3e\x3e\x22,\x22some-\x3e\x3e\x22,-1499987794,null),sci.impl.namespaces.some__GT__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22some-\x3e\x3e\x22,\x22some-\x3e\x3e\x22,-1499987794,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When expr is not nil, threads it into the first form (via -\x3e\x3e),\\n  and when that result is not nil, through the next etc\x22], null)),cljs.core.unsigned_bit_shift_right,sci.impl.io.pr_str,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22some-\x3e\x22,\x22some-\x3e\x22,-1011172200,null),sci.impl.namespaces.some__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22some-\x3e\x22,\x22some-\x3e\x22,-1011172200,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When expr is not nil, threads it into the first form (via -\x3e),\\n  and when that result is not nil, through the next etc\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22bound-fn\x22,\x22bound-fn\x22,125411266,null),sci.impl.namespaces.sci_bound_fn,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22bound-fn\x22,\x22bound-fn\x22,125411266,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.aget,cljs.core.chunk,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),sci.impl.namespaces.cond_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes a set of test/expr pairs. It evaluates each test one at a\\n  time.  If a test returns logical true, cond evaluates and returns\\n  the value of the corresponding expr and doesn\x27t evaluate any of the\\n  other tests or exprs. (cond) returns nil.\x22], null)),cljs.core.distinct,cljs.core.ensure_reduced,cljs.core.object_array,cljs.core.juxt,cljs.core.some,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),sci.impl.namespaces.let_STAR__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22binding \x3d\x3e binding-form init-expr\\n  binding-form \x3d\x3e name, or destructuring-form\\n  destructuring-form \x3d\x3e map-destructure-form, or seq-destructure-form\\n\\n  Evaluates the exprs in a lexical context in which the symbols in\\n  the binding-forms are bound to their respective init-exprs or parts\\n  therein.\\n\\n  See https://clojure.org/reference/special_forms#binding-forms for\\n  more information about destructuring.\x22], null)),cljs.core.interpose,sci.impl.namespaces.sci_the_ns,sci.impl.protocols.instance_impl,sci.impl.hierarchies.descendants_STAR_,cljs.core.get_in,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),sci.impl.fns.fn_STAR__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22sigs\x22,\x22sigs\x22,-12588095,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22params \x3d\x3e positional-params* , or positional-params* \x26 next-param\\n  positional-param \x3d\x3e binding-form\\n  next-param \x3d\x3e binding-form\\n  name \x3d\x3e symbol\\n\\n  Defines a function\x22], null)),cljs.core.meta,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22reify*\x22,\x22reify*\x22,1646945123,null),sci.impl.reify.reify_STAR_,sci.impl.namespaces.clojure_core_ns),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defrecord\x22,\x22defrecord\x22,273038109,null),sci.impl.records.defrecord,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defrecord\x22,\x22defrecord\x22,273038109,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rsym\x22,\x22rsym\x22,204230332,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22impls\x22,\x22impls\x22,326516674,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22(defrecord name [fields*]  options* specs*)\\n\\n  Currently there are no options.\\n\\n  Each spec consists of a protocol or interface name followed by zero\\n  or more method bodies:\\n\\n  protocol-or-Object\\n  (methodName [args*] body)*\\n\\n  The record will have the (immutable) fields named by\\n  fields, which can have type hints. Protocols and methods\\n  are optional. The only methods that can be supplied are those\\n  declared in the protocols.  Note that method bodies are\\n  not closures, the local environment includes only the named fields,\\n  and those fields can be accessed directly.\\n\\n  Method definitions take the form:\\n\\n  (methodname [args*] body)\\n\\n  The argument and return types can be hinted on the arg and\\n  methodname symbols. If not supplied, they will be inferred, so type\\n  hints should be reserved for disambiguation.\\n\\n  Methods should be supplied for all methods of the desired\\n  protocol(s). You can also define overrides for\\n  methods of Object. Note that a parameter must be supplied to\\n  correspond to the target object (\x27this\x27 in JavaScript parlance). Note also\\n  that recur calls to the method head should *not* pass the target object, it\\n  will be supplied automatically and can not be substituted.\\n\\n  In the method bodies, the (unqualified) name can be used to name the\\n  class (for calls to new, instance? etc).\\n\\n  The type will have implementations of several ClojureScript\\n  protocol generated automatically: IMeta/IWithMeta (metadata support) and\\n  IMap, etc.\\n\\n  In addition, defrecord will define type-and-value-based \x3d,\\n  and will define ClojureScript IHash and IEquiv.\\n\\n  Two constructors will be defined, one taking the designated fields\\n  followed by a metadata map (nil for none) and an extension field\\n  map (nil for none), and one taking only the fields (using nil for\\n  meta and extension fields). Note that the field names __meta\\n  and __extmap are currently reserved and should not be used when\\n  defining your own records.\\n\\n  Given (defrecord TypeName ...), two factory functions will be\\n  defined: -\x3eTypeName, taking positional parameters for the fields,\\n  and map-\x3eTypeName, taking a map of keywords to field values.\x22], null)),cljs.core.val,sci.impl.read.read_string,cljs.core.aclone,cljs.core.assoc_in,cljs.core.zero_QMARK_,cljs.core.transient$,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22letfn\x22,\x22letfn\x22,-480490827,null),sci.impl.namespaces.letfn_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22letfn\x22,\x22letfn\x22,-480490827,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22fnspecs\x22,\x22fnspecs\x22,-958581686,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22fnspec \x3d\x3d\x3e (fname [params*] exprs) or (fname ([params*] exprs)+)\\n\\n  Takes a vector of function specs and a body, and generates a set of\\n  bindings of functions to their names. All of the names are available\\n  in all of the definitions of the functions, as well as the body.\x22], null)),cljs.core.realized_QMARK_,cljs.core.list_STAR_,sci.impl.namespaces.sci_ns_interns,cljs.core.memoize,cljs.core.subseq,cljs.core.delay_QMARK_,cljs.core.completing,cljs.core.unchecked_divide_int,cljs.core.shuffle,sci.impl.namespaces.sci_ns_map,sci.impl.io.prn_str,sci.impl.namespaces.sci_in_ns,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),sci.impl.namespaces.defn__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22decls\x22,\x22decls\x22,-1311111277,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22same as defn, yielding non-public def\x22], null)),cljs.core.compare_and_set_BANG_,sci.impl.namespaces.use,cljs.core.longs,sci.impl.namespaces.sci_remove_ns,cljs.core.unchecked_int,cljs.core.nthrest,sci.impl.namespaces.sci_thread_bound_QMARK_,sci.impl.parser.reader_resolver,cljs.core.doubles,cljs.core.force,cljs.core.remove_method,cljs.core.system_time,sci.impl.protocols.extend,cljs.core.nnext,cljs.core.dec,cljs.core.qualified_keyword_QMARK_,cljs.core.comparator,cljs.core.take_last,sci.impl.namespaces.sci_find_ns,cljs.core.string_QMARK_,sci.impl.io.print,sci.impl.namespaces.assert_var,cljs.core.bit_xor,cljs.core.map,cljs.core.float$,cljs.core.chunk_append,sci.impl.core_protocols.deref_STAR_,cljs.core.re_pattern,cljs.core.repeat,cljs.core.reduce,cljs.core.qualified_symbol_QMARK_,sci.impl.namespaces.eval_STAR_,cljs.core.vector,cljs.core.doall,(new sci.lang.Var(sci.impl.namespaces.exists_QMARK_,new cljs.core.Symbol(null,\x22exists?\x22,\x22exists?\x22,-1239962053,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22exists?\x22,\x22exists?\x22,-1239962053,null),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Return true if argument exists, analogous to usage of typeof operator\\n   in JavaScript.\x22,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null),false,null,null)),cljs.core.assoc_BANG_,cljs.core.not_EQ_,sci.impl.namespaces.alter_meta_BANG_,cljs.core.constantly,cljs.core.seq_QMARK_,cljs.core.js_keys,cljs.core.get,sci.impl.namespaces.require,cljs.core.key,cljs.core.bit_and_not,cljs.core.mapcat,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22cond-\x3e\x22,\x22cond-\x3e\x22,561741875,null),sci.impl.namespaces.cond__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22cond-\x3e\x22,\x22cond-\x3e\x22,561741875,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes an expression and a set of test/form pairs. Threads expr (via -\x3e)\\n  through each form for which the corresponding test\\n  expression is true. Note that, unlike cond branching, cond-\x3e threading does\\n  not short circuit after the first true test expression.\x22], null)),cljs.core.nat_int_QMARK_,cljs.core.demunge,cljs.core.get_method,sci.impl.io.out,cljs.core.str,cljs.core.empty,cljs.core.counted_QMARK_,cljs.core.set_QMARK_,cljs.core.alength,cljs.core.filterv,cljs.core.reductions,cljs.core.booleans,cljs.core._LT_,cljs.core.reduced,cljs.core.halt_when,cljs.core.namespace,cljs.core.keyword,sci.impl.namespaces.bound_fn_STAR_,cljs.core.record_QMARK_,cljs.core.tagged_literal_QMARK_,cljs.core._,cljs.core.bit_and,cljs.core.unreduced,cljs.core.assoc,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defmulti\x22,\x22defmulti\x22,1936112154,null),sci.impl.multimethods.defmulti,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defmulti\x22,\x22defmulti\x22,1936112154,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22docstring?\x22,\x22docstring?\x22,-180217883,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),new cljs.core.Symbol(null,\x22dispatch-fn\x22,\x22dispatch-fn\x22,-1401088155,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22options\x22,\x22options\x22,1740170016,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Creates a new multimethod with the associated dispatch function.\\n  The docstring and attribute-map are optional.\\n\\n  Options are key-value pairs and may be one of:\\n    :default    the default dispatch value, defaults to :default\\n    :hierarchy  the isa? hierarchy to use for dispatching\\n                defaults to the global hierarchy\x22], null)),cljs.core.partition_all,cljs.core.bit_not,cljs.core.some_QMARK_,cljs.core.pos_QMARK_,cljs.core.trampoline,cljs.core.rand,cljs.core.re_matches,cljs.core.boolean_QMARK_,cljs.core.every_pred,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),sci.impl.namespaces.locking_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.fn_QMARK_,cljs.core.sequential_QMARK_,cljs.core.list,cljs.core.sorted_set_by,cljs.core.nthnext,cljs.core.eduction,cljs.core.rand_nth,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),sci.impl.namespaces.delay_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes a body of expressions and yields a Delay object that will\\n  invoke the body only the first time it is forced (with force or deref/@), and\\n  will cache the result and return it on all subsequent force\\n  calls.\x22], null)),cljs.core.partial,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-bindings\x22,\x22with-bindings\x22,-1197589787,null),sci.impl.namespaces.sci_with_bindings,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-bindings\x22,\x22with-bindings\x22,-1197589787,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.rsubseq,cljs.core.contains_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),sci.impl.namespaces.__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Threads the expr through the forms. Inserts x as the\\n  second item in the first form, making a list of it if it is not a\\n  list already. If there are more forms, inserts the first form as the\\n  second item in second form, etc.\x22], null)),cljs.core.shorts,cljs.core.random_uuid,sci.impl.core_protocols.swap_protocol,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22as-\x3e\x22,\x22as-\x3e\x22,1430690540,null),sci.impl.namespaces.as__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22as-\x3e\x22,\x22as-\x3e\x22,1430690540,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Binds name to expr, evaluates the first form in the lexical context\\n  of that binding, then binds name to that result, repeating for each\\n  successive form, returning the result of the last form.\x22], null)),cljs.core.hash_set,cljs.core.take,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),sci.impl.namespaces.if_let_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null),new cljs.core.Symbol(null,\x22else\x22,\x22else\x22,132154381,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22oldform\x22,\x22oldform\x22,1995222417,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e binding-form test\\n\\n  If test is true, evaluates then with binding-form bound to the value of \\n  test, if not, yields else\x22], null)),sci.impl.namespaces.macroexpand_1_STAR_,cljs.core.split_with,sci.impl.namespaces.sci_refer,sci.impl.vars.binding_conveyor_fn,cljs.core.make_hierarchy,cljs.core.tagged_literal,sci.impl.namespaces.has_root_impl,sci.impl.hierarchies.parents_STAR_,cljs.core.test,cljs.core.vec,cljs.core.nth,sci.impl.namespaces.clojure_core_ns,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22lazy-cat\x22,\x22lazy-cat\x22,-89906116,null),sci.impl.namespaces.lazy_cat_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22lazy-cat\x22,\x22lazy-cat\x22,-89906116,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22colls\x22,\x22colls\x22,-397642425,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Expands to code which yields a lazy sequence of the concatenation\\n  of the supplied colls.  Each coll expr is not evaluated until it is\\n  needed.\\n\\n  (lazy-cat xs ys zs) \x3d\x3d\x3d (concat (lazy-seq xs) (lazy-seq ys) (lazy-seq zs))\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22if-some\x22,\x22if-some\x22,1960677609,null),sci.impl.namespaces.if_some_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22if-some\x22,\x22if-some\x22,1960677609,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null),new cljs.core.Symbol(null,\x22else\x22,\x22else\x22,132154381,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22oldform\x22,\x22oldform\x22,1995222417,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e binding-form test\\n\\n   If test is not nil, evaluates then with binding-form bound to the\\n   value of test, if not, yields else\x22], null)),cljs.core.subs,sci.impl.parser.default_data_reader_fn,cljs.core.to_array_2d,sci.impl.namespaces.symbol_STAR_,cljs.core.mod,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),sci.impl.namespaces.lazy_seq_STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes a body of expressions that returns an ISeq or nil, and yields\\n  a ISeqable object that will invoke the body only the first time seq\\n  is called, and will cache the result and return it on all subsequent\\n  seq calls.\x22,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null)], null)),cljs.core.number_QMARK_,cljs.core.reduced_QMARK_,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-new-dynamic-var\x22,\x22-new-dynamic-var\x22,-1029088918,null),(function (){\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(cljs.core.gensym.cljs$core$IFn$_invoke$arity$0(),null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true], null));\n})),cljs.core.object_QMARK_,cljs.core.conj,cljs.core.bytes,cljs.core.unchecked_float,cljs.core.LazySeq,cljs.core.bit_test,cljs.core.sorted_map_by,cljs.core.double_QMARK_,cljs.core.rseq,cljs.core.unchecked_long,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),sci.impl.namespaces.sci_binding,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22binding \x3d\x3e var-symbol init-expr\\n\\n  Creates new bindings for the (already-existing) vars, with the\\n  supplied initial values, executes the exprs in an implicit do, then\\n  re-establishes the bindings that existed before.  The new bindings\\n  are made in parallel (unlike let); all init-exprs are evaluated\\n  before the vars are bound to their new values.\x22], null)),cljs.core.double$,cljs.core.unchecked_dec,cljs.core.tree_seq,sci.impl.multimethods.multi_fn_add_method_impl,cljs.core.seqable_QMARK_,sci.impl.core_protocols.swap_BANG__STAR_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22vswap!\x22,\x22vswap!\x22,-574070781,null),sci.impl.namespaces.vswap_BANG_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22vswap!\x22,\x22vswap!\x22,-574070781,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vol\x22,\x22vol\x22,1137570949,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22args\x22,\x22args\x22,-1338879193,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Non-atomically swaps the value of the volatile as if:\\n   (apply f current-value-of-vol args). Returns the value that\\n   was swapped in.\x22], null)),cljs.core.array_map,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22reset-thread-binding-frame-impl\x22,\x22reset-thread-binding-frame-impl\x22,-826674194,null),sci.impl.vars.reset_thread_binding_frame),cljs.core.dedupe,cljs.core.short$,cljs.core.update,cljs.core.filter,cljs.core.unchecked_dec_int,sci.impl.namespaces._STAR_3,sci.impl.namespaces.sci_requiring_resolve,cljs.core.rem,cljs.core.pop,cljs.core.merge_with,cljs.core.long$,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22assert\x22,\x22assert\x22,677428501,null),sci.impl.namespaces.assert_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22assert\x22,\x22assert\x22,677428501,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22message\x22,\x22message\x22,1234475525,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates expr and throws an exception if it does not evaluate to\\n  logical true.\x22], null)),cljs.core.array,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22refer-clojure\x22,\x22refer-clojure\x22,-1840651329,null),sci.impl.namespaces.sci_refer_clojure,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22refer-clojure\x22,\x22refer-clojure\x22,-1840651329,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22args\x22,\x22args\x22,-1338879193,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Refers to all the public vars of `cljs.core`, subject to\\n  filters.\\n  Filters can include at most one each of:\\n\\n  :exclude list-of-symbols\\n  :rename map-of-fromsymbol-tosymbol\\n\\n  Filters can be used to select a subset, via exclusion, or to provide a mapping\\n  to a symbol different from the var\x27s name, in order to prevent clashes.\x22], null)),cljs.core.flatten,cljs.core.distinct_QMARK_,cljs.core.map_indexed,sci.impl.namespaces.sci_ns_publics,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22protocol-type-impl\x22,\x22protocol-type-impl\x22,561934718,null),sci.impl.types.type_impl),cljs.core.even_QMARK_,sci.impl.vars.var_get,sci.impl.multimethods.multi_fn_QMARK__impl,sci.impl.vars.alter_var_root,sci.impl.types.type_impl2,cljs.core.neg_QMARK_,cljs.core.gensym,sci.impl.namespaces.sci_resolve,cljs.core.add_watch,cljs.core.not_any_QMARK_,cljs.core.take_nth,cljs.core.dorun,cljs.core.remove_all_methods,cljs.core.not_empty,sci.impl.parser.suppress_read,sci.impl.namespaces.sci_ns_aliases,sci.impl.io.print_dup_var,sci.impl.namespaces.sci_ns_resolve,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22get-thread-binding-frame-impl\x22,\x22get-thread-binding-frame-impl\x22,-701667726,null),sci.impl.vars.get_thread_binding_frame),cljs.core.chunk_rest,cljs.core.remove_watch,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),sci.impl.namespaces.or_STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates exprs one at a time, from left to right. If a form\\n  returns a logical true value, or returns that value and doesn\x27t\\n  evaluate any of the other expressions, otherwise it returns the\\n  value of the last expression. (or) returns nil.\x22,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null)], null)),cljs.core.int_array,cljs.core.pos_int_QMARK_,cljs.core.undefined_QMARK_,cljs.core.ints,cljs.core.identical_QMARK_,cljs.core.persistent_BANG_,sci.impl.core_protocols.reset_protocol,cljs.core.indexed_QMARK_,cljs.core.min_key,cljs.core.repeatedly,cljs.core.set,cljs.core.remove,cljs.core.keyword_identical_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22while\x22,\x22while\x22,-1691317983,null),sci.impl.namespaces.while_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22while\x22,\x22while\x22,-1691317983,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Repeatedly executes body while test expression is true. Presumes\\n  some side-effect will cause test to become false/nil. Returns nil\x22], null)),cljs.core.re_find,cljs.core.PersistentQueue,cljs.core.seq_to_map_for_destructuring]);\n\nsci.impl.namespaces.dir_fn \x3d (function sci$impl$namespaces$dir_fn(ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar current_ns \x3d sci.impl.utils.current_ns_name();\nvar the_ns \x3d sci.impl.namespaces.sci_the_ns_STAR_(ctx,cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.namespaces.sci_ns_aliases_STAR_(ctx,current_ns),ns,ns));\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,sci.impl.namespaces.sci_ns_publics_STAR_(ctx,the_ns)));\n});\n\nsci.impl.namespaces.dir \x3d (function sci$impl$namespaces$dir(_,___$1,nsname){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22doseq\x22,\x22cljs.core/doseq\x22,-169320766,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22v__46023__auto__\x22,\x22v__46023__auto__\x22,582807379,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.repl\x22,\x22dir-fn\x22,\x22clojure.repl/dir-fn\x22,901908317,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,nsname,null,(1),null))))),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22println\x22,\x22cljs.core/println\x22,-331834442,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22v__46023__auto__\x22,\x22v__46023__auto__\x22,582807379,null),null,(1),null))))),null,(1),null))], 0))));\n});\n\nsci.impl.namespaces.print_doc \x3d (function sci$impl$namespaces$print_doc(m){\nvar arglists \x3d new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m);\nvar doc \x3d new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m);\nvar macro_QMARK_ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\nsci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22-------------------------\x22], 0));\n\nsci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns_STAR_ \x3d temp__5804__auto__;\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(ns_STAR_)),\x22/\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n\nif(cljs.core.truth_(arglists)){\nsci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arglists], 0));\n} else {\n}\n\nif(cljs.core.truth_(macro_QMARK_)){\nsci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Macro\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(doc)){\nreturn sci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc], 0));\n} else {\nreturn null;\n}\n});\n\nsci.impl.namespaces.doc \x3d (function sci$impl$namespaces$doc(_,___$1,sym){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var__46026__auto__\x22,\x22var__46026__auto__\x22,-124690440,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22resolve\x22,\x22cljs.core/resolve\x22,1796776582,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null))))),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22var?\x22,\x22cljs.core/var?\x22,1711182854,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var__46026__auto__\x22,\x22var__46026__auto__\x22,-124690440,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.repl\x22,\x22print-doc\x22,\x22clojure.repl/print-doc\x22,-375546711,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var__46026__auto__\x22,\x22var__46026__auto__\x22,-124690440,null),null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22ns__46027__auto__\x22,\x22ns__46027__auto__\x22,2044674998,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22find-ns\x22,\x22cljs.core/find-ns\x22,-486459417,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null))))),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.repl\x22,\x22print-doc\x22,\x22clojure.repl/print-doc\x22,-375546711,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assoc\x22,\x22cljs.core/assoc\x22,322326297,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ns__46027__auto__\x22,\x22ns__46027__auto__\x22,2044674998,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22ns-name\x22,\x22cljs.core/ns-name\x22,171430027,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ns__46027__auto__\x22,\x22ns__46027__auto__\x22,2044674998,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n});\n\n/**\n * Prints documentation for any var whose documentation or name\n * contains a match for re-string-or-pattern\n */\nsci.impl.namespaces.find_doc \x3d (function sci$impl$namespaces$find_doc(re_string_or_pattern){\nvar re \x3d cljs.core.re_pattern(re_string_or_pattern);\nvar ans \x3d sci.impl.namespaces.sci_all_ns();\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar ms \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__46029_SHARP_){\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.meta,cljs.core.vals(sci.impl.namespaces.sci_ns_interns_STAR_(ctx,p1__46029_SHARP_))));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ans], 0)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__46030_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(p1__46030_SHARP_),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),sci.impl.types.getName(p1__46030_SHARP_));\n}),ans));\nvar seq__46276 \x3d cljs.core.seq(ms);\nvar chunk__46278 \x3d null;\nvar count__46279 \x3d (0);\nvar i__46280 \x3d (0);\nwhile(true){\nif((i__46280 \x3c count__46279)){\nvar m \x3d chunk__46278.cljs$core$IIndexed$_nth$arity$2(null,i__46280);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(and__5023__auto__)){\nvar or__5025__auto__ \x3d cljs.core.re_find(re,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.re_find(re,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m)));\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.namespaces.print_doc(m);\n\n\nvar G__46858 \x3d seq__46276;\nvar G__46859 \x3d chunk__46278;\nvar G__46860 \x3d count__46279;\nvar G__46861 \x3d (i__46280 + (1));\nseq__46276 \x3d G__46858;\nchunk__46278 \x3d G__46859;\ncount__46279 \x3d G__46860;\ni__46280 \x3d G__46861;\ncontinue;\n} else {\nvar G__46864 \x3d seq__46276;\nvar G__46865 \x3d chunk__46278;\nvar G__46866 \x3d count__46279;\nvar G__46867 \x3d (i__46280 + (1));\nseq__46276 \x3d G__46864;\nchunk__46278 \x3d G__46865;\ncount__46279 \x3d G__46866;\ni__46280 \x3d G__46867;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__46276);\nif(temp__5804__auto__){\nvar seq__46276__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__46276__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__46276__$1);\nvar G__46872 \x3d cljs.core.chunk_rest(seq__46276__$1);\nvar G__46873 \x3d c__5548__auto__;\nvar G__46874 \x3d cljs.core.count(c__5548__auto__);\nvar G__46875 \x3d (0);\nseq__46276 \x3d G__46872;\nchunk__46278 \x3d G__46873;\ncount__46279 \x3d G__46874;\ni__46280 \x3d G__46875;\ncontinue;\n} else {\nvar m \x3d cljs.core.first(seq__46276__$1);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(and__5023__auto__)){\nvar or__5025__auto__ \x3d cljs.core.re_find(re,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.re_find(re,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m)));\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.namespaces.print_doc(m);\n\n\nvar G__46878 \x3d cljs.core.next(seq__46276__$1);\nvar G__46879 \x3d null;\nvar G__46880 \x3d (0);\nvar G__46881 \x3d (0);\nseq__46276 \x3d G__46878;\nchunk__46278 \x3d G__46879;\ncount__46279 \x3d G__46880;\ni__46280 \x3d G__46881;\ncontinue;\n} else {\nvar G__46882 \x3d cljs.core.next(seq__46276__$1);\nvar G__46884 \x3d null;\nvar G__46885 \x3d (0);\nvar G__46886 \x3d (0);\nseq__46276 \x3d G__46882;\nchunk__46278 \x3d G__46884;\ncount__46279 \x3d G__46885;\ni__46280 \x3d G__46886;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n\n/**\n * Given a regular expression or stringable thing, return a seq of all\n * public definitions in all currently-loaded namespaces that match the\n * str-or-pattern.\n */\nsci.impl.namespaces.apropos \x3d (function sci$impl$namespaces$apropos(str_or_pattern){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar matches_QMARK_ \x3d (((str_or_pattern instanceof RegExp))?(function (p1__46031_SHARP_){\nreturn cljs.core.re_find(str_or_pattern,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__46031_SHARP_));\n}):(function (p1__46032_SHARP_){\nreturn clojure.string.includes_QMARK_(cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__46032_SHARP_),cljs.core.str.cljs$core$IFn$_invoke$arity$1(str_or_pattern));\n}));\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (ns){\nvar ns_name \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__46033_SHARP_){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(ns_name,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__46033_SHARP_));\n}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(matches_QMARK_,cljs.core.keys(sci.impl.namespaces.sci_ns_publics_STAR_(ctx,ns))));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.namespaces.sci_all_ns()], 0)));\n});\n\n/**\n * Returns a string of the source code for the given symbol, if it can\n * find it.  This requires that the symbol resolve to a Var defined in\n * a namespace for which the .clj is in the classpath.  Returns nil if\n * it can\x27t find the source.  For most REPL usage, \x27source\x27 is more\n * convenient.\n * \n * Example: (source-fn \x27filter)\n */\nsci.impl.namespaces.source_fn \x3d (function sci$impl$namespaces$source_fn(x){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar temp__5804__auto__ \x3d sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(ctx,x);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nvar map__46304 \x3d cljs.core.meta(v);\nvar map__46304__$1 \x3d cljs.core.__destructure_map(map__46304);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46304__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46304__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d line;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ns;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar temp__5804__auto____$1 \x3d (function (){var temp__5804__auto____$1 \x3d new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)));\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar load_fn \x3d temp__5804__auto____$1;\nreturn new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539).cljs$core$IFn$_invoke$arity$1((function (){var G__46310 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372),sci.impl.types.getName(ns)], null);\nreturn (load_fn.cljs$core$IFn$_invoke$arity$1 ? load_fn.cljs$core$IFn$_invoke$arity$1(G__46310) : load_fn.call(null,G__46310));\n})());\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar source \x3d temp__5804__auto____$1;\nvar lines \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(source,/\\n/);\nvar line__$1 \x3d (line - (1));\nvar start \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(line__$1,lines));\nvar reader \x3d sci.impl.read.source_logging_reader(start);\nvar res \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),true], null));\nreturn new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(res));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n\n/**\n * Prints the source code for the given symbol, if it can find it.\n * This requires that the symbol resolve to a Var defined in a\n * namespace for which the .clj is in the classpath.\n * \n * Example: (source filter)\n */\nsci.impl.namespaces.source \x3d (function sci$impl$namespaces$source(_,___$1,n){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22println\x22,\x22cljs.core/println\x22,-331834442,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22or\x22,\x22cljs.core/or\x22,1201033885,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.repl\x22,\x22source-fn\x22,\x22clojure.repl/source-fn\x22,1877923323,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,n,null,(1),null))))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Source not found\x22,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))));\n});\n\nsci.impl.namespaces.clojure_repl_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.repl\x22,\x22clojure.repl\x22,570897595,null),null);\n\nsci.impl.namespaces.clojure_repl \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22find-doc\x22,\x22find-doc\x22,-1096800949,null),new cljs.core.Symbol(null,\x22dir\x22,\x22dir\x22,-919681108,null),new cljs.core.Symbol(null,\x22dir-fn\x22,\x22dir-fn\x22,187684626,null),new cljs.core.Symbol(null,\x22source-fn\x22,\x22source-fn\x22,-1114937984,null),new cljs.core.Symbol(null,\x22source\x22,\x22source\x22,1206599988,null),new cljs.core.Symbol(null,\x22doc\x22,\x22doc\x22,-741138878,null),new cljs.core.Symbol(null,\x22print-doc\x22,\x22print-doc\x22,528043232,null),new cljs.core.Symbol(null,\x22apropos\x22,\x22apropos\x22,-1511857537,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962)],[sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22find-doc\x22,\x22find-doc\x22,-1096800949,null),sci.impl.namespaces.find_doc,sci.impl.namespaces.clojure_repl_namespace),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22dir\x22,\x22dir\x22,-919681108,null),sci.impl.namespaces.dir,sci.impl.namespaces.clojure_repl_namespace,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22dir\x22,\x22dir\x22,-919681108,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22dir-fn\x22,\x22dir-fn\x22,187684626,null),sci.impl.namespaces.dir_fn,sci.impl.namespaces.clojure_repl_namespace),sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22source-fn\x22,\x22source-fn\x22,-1114937984,null),sci.impl.namespaces.source_fn,sci.impl.namespaces.clojure_repl_namespace),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22source\x22,\x22source\x22,1206599988,null),sci.impl.namespaces.source,sci.impl.namespaces.clojure_repl_namespace,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22source\x22,\x22source\x22,1206599988,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22doc\x22,\x22doc\x22,-741138878,null),sci.impl.namespaces.doc,sci.impl.namespaces.clojure_repl_namespace,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22doc\x22,\x22doc\x22,-741138878,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.with_meta(sci.impl.namespaces.print_doc,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true], null)),sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22apropos\x22,\x22apropos\x22,-1511857537,null),sci.impl.namespaces.apropos,sci.impl.namespaces.clojure_repl_namespace),sci.impl.namespaces.clojure_repl_namespace]);\n\nsci.impl.namespaces.apply_template \x3d (function sci$impl$namespaces$apply_template(argv,expr,values){\nif(cljs.core.vector_QMARK_(argv)){\n} else {\nthrow (new Error(\x22Assert failed: (vector? argv)\x22));\n}\n\nif(cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,argv)){\n} else {\nthrow (new Error(\x22Assert failed: (every? symbol? argv)\x22));\n}\n\nreturn clojure.walk.postwalk_replace(cljs.core.zipmap(argv,values),expr);\n});\n\nsci.impl.namespaces.do_template \x3d (function sci$impl$namespaces$do_template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46916 \x3d arguments.length;\nvar i__5750__auto___46917 \x3d (0);\nwhile(true){\nif((i__5750__auto___46917 \x3c len__5749__auto___46916)){\nargs__5755__auto__.push((arguments[i__5750__auto___46917]));\n\nvar G__46918 \x3d (i__5750__auto___46917 + (1));\ni__5750__auto___46917 \x3d G__46918;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.do_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.do_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,argv,expr,values){\nvar c \x3d cljs.core.count(argv);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (a){\nreturn sci.impl.namespaces.apply_template(argv,expr,a);\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2(c,values)))));\n}));\n\n(sci.impl.namespaces.do_template.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.namespaces.do_template.cljs$lang$applyTo \x3d (function (seq46330){\nvar G__46331 \x3d cljs.core.first(seq46330);\nvar seq46330__$1 \x3d cljs.core.next(seq46330);\nvar G__46332 \x3d cljs.core.first(seq46330__$1);\nvar seq46330__$2 \x3d cljs.core.next(seq46330__$1);\nvar G__46333 \x3d cljs.core.first(seq46330__$2);\nvar seq46330__$3 \x3d cljs.core.next(seq46330__$2);\nvar G__46334 \x3d cljs.core.first(seq46330__$3);\nvar seq46330__$4 \x3d cljs.core.next(seq46330__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__46331,G__46332,G__46333,G__46334,seq46330__$4);\n}));\n\n\nsci.impl.namespaces.clojure_template_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.template\x22,\x22clojure.template\x22,-1162325089,null),null);\n\nsci.impl.namespaces.clojure_template \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.impl.namespaces.clojure_template_namespace,new cljs.core.Symbol(null,\x22apply-template\x22,\x22apply-template\x22,1809601838,null),sci.impl.namespaces.apply_template,new cljs.core.Symbol(null,\x22do-template\x22,\x22do-template\x22,-1578627476,null),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22do-template\x22,\x22do-template\x22,-1578627476,null),sci.impl.namespaces.do_template,sci.impl.namespaces.clojure_template_namespace,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22do-template\x22,\x22do-template\x22,-1578627476,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null))], null);\n\nsci.impl.namespaces.clojure_string_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.string\x22,\x22clojure.string\x22,-1415552165,null),null);\n\nsci.impl.namespaces.clojure_set_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.set\x22,\x22clojure.set\x22,-630955632,null),null);\n\nsci.impl.namespaces.clojure_walk_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.walk\x22,\x22clojure.walk\x22,1625897340,null),null);\n\nsci.impl.namespaces.clojure_edn_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.edn\x22,\x22clojure.edn\x22,-302325352,null),null);\n\nsci.impl.namespaces.macroexpand_all \x3d (new sci.lang.Var((function (form){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn clojure.walk.prewalk((function (x){\nif(cljs.core.seq_QMARK_(x)){\nreturn sci.impl.macroexpand.macroexpand(ctx,x);\n} else {\nreturn x;\n}\n}),form);\n}),new cljs.core.Symbol(null,\x22macroexpand-all\x22,\x22macroexpand-all\x22,966103926,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_walk_namespace,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22macroexpand-all\x22,\x22macroexpand-all\x22,966103926,null),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Recursively performs all possible macroexpansions in form.\x22], null),false,null,null));\n\nsci.impl.namespaces.clojure_walk_ns \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,-1343651517,null),new cljs.core.Symbol(null,\x22postwalk\x22,\x22postwalk\x22,967039904,null),new cljs.core.Symbol(null,\x22postwalk-replace\x22,\x22postwalk-replace\x22,77744733,null),new cljs.core.Symbol(null,\x22walk\x22,\x22walk\x22,1673453164,null),new cljs.core.Symbol(null,\x22prewalk\x22,\x22prewalk\x22,1337993264,null),new cljs.core.Symbol(null,\x22prewalk-replace\x22,\x22prewalk-replace\x22,2117002030,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Symbol(null,\x22stringify-keys\x22,\x22stringify-keys\x22,1735215919,null),new cljs.core.Symbol(null,\x22macroexpand-all\x22,\x22macroexpand-all\x22,966103926,null)],[clojure.walk.keywordize_keys,clojure.walk.postwalk,clojure.walk.postwalk_replace,clojure.walk.walk,clojure.walk.prewalk,clojure.walk.prewalk_replace,sci.impl.namespaces.clojure_walk_namespace,clojure.walk.stringify_keys,sci.impl.namespaces.macroexpand_all]);\nsci.impl.namespaces.namespaces \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22clojure.string\x22,\x22clojure.string\x22,-1415552165,null),new cljs.core.Symbol(null,\x22clojure.template\x22,\x22clojure.template\x22,-1162325089,null),new cljs.core.Symbol(null,\x22sci.impl.protocols\x22,\x22sci.impl.protocols\x22,-697012432,null),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Symbol(null,\x22clojure.set\x22,\x22clojure.set\x22,-630955632,null),new cljs.core.Symbol(null,\x22sci.impl.deftype\x22,\x22sci.impl.deftype\x22,959784924,null),new cljs.core.Symbol(null,\x22clojure.walk\x22,\x22clojure.walk\x22,1625897340,null),new cljs.core.Symbol(null,\x22sci.impl.records\x22,\x22sci.impl.records\x22,-393424368,null),new cljs.core.Symbol(null,\x22clojure.edn\x22,\x22clojure.edn\x22,-302325352,null),new cljs.core.Symbol(null,\x22clojure.repl\x22,\x22clojure.repl\x22,570897595,null)],[cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22split\x22,\x22split\x22,1041096409,null),new cljs.core.Symbol(null,\x22index-of\x22,\x22index-of\x22,1275975485,null),new cljs.core.Symbol(null,\x22trimr\x22,\x22trimr\x22,-1739157155,null),new cljs.core.Symbol(null,\x22upper-case\x22,\x22upper-case\x22,1427515769,null),new cljs.core.Symbol(null,\x22lower-case\x22,\x22lower-case\x22,1428172944,null),new cljs.core.Symbol(null,\x22reverse\x22,\x22reverse\x22,752076261,null),new cljs.core.Symbol(null,\x22ends-with?\x22,\x22ends-with?\x22,-346570208,null),new cljs.core.Symbol(null,\x22split-lines\x22,\x22split-lines\x22,777513935,null),new cljs.core.Symbol(null,\x22last-index-of\x22,\x22last-index-of\x22,215608200,null),new cljs.core.Symbol(null,\x22trim-newline\x22,\x22trim-newline\x22,656815794,null),new cljs.core.Symbol(null,\x22blank?\x22,\x22blank?\x22,1891979743,null),new cljs.core.Symbol(null,\x22replace\x22,\x22replace\x22,853943757,null),new cljs.core.Symbol(null,\x22join\x22,\x22join\x22,881669637,null),new cljs.core.Symbol(null,\x22trim\x22,\x22trim\x22,-1880116002,null),new cljs.core.Symbol(null,\x22starts-with?\x22,\x22starts-with?\x22,1014173927,null),new cljs.core.Symbol(null,\x22triml\x22,\x22triml\x22,-286546306,null),new cljs.core.Symbol(null,\x22escape\x22,\x22escape\x22,648929575,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Symbol(null,\x22includes?\x22,\x22includes?\x22,-2049283381,null),new cljs.core.Symbol(null,\x22capitalize\x22,\x22capitalize\x22,-2143275164,null),new cljs.core.Symbol(null,\x22replace-first\x22,\x22replace-first\x22,-943534331,null)],[clojure.string.split,clojure.string.index_of,clojure.string.trimr,clojure.string.upper_case,clojure.string.lower_case,clojure.string.reverse,clojure.string.ends_with_QMARK_,clojure.string.split_lines,clojure.string.last_index_of,clojure.string.trim_newline,clojure.string.blank_QMARK_,clojure.string.replace,clojure.string.join,clojure.string.trim,clojure.string.starts_with_QMARK_,clojure.string.triml,clojure.string.escape,sci.impl.namespaces.clojure_string_namespace,clojure.string.includes_QMARK_,clojure.string.capitalize,clojure.string.replace_first]),sci.impl.namespaces.clojure_template,sci.impl.namespaces.sci_impl_protocols,sci.impl.namespaces.clojure_core,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22project\x22,\x22project\x22,-1530041190,null),new cljs.core.Symbol(null,\x22map-invert\x22,\x22map-invert\x22,1258886340,null),new cljs.core.Symbol(null,\x22select\x22,\x22select\x22,-1506602266,null),new cljs.core.Symbol(null,\x22superset?\x22,\x22superset?\x22,2074872204,null),new cljs.core.Symbol(null,\x22join\x22,\x22join\x22,881669637,null),new cljs.core.Symbol(null,\x22union\x22,\x22union\x22,-511498270,null),new cljs.core.Symbol(null,\x22rename\x22,\x22rename\x22,-1146278156,null),new cljs.core.Symbol(null,\x22subset?\x22,\x22subset?\x22,1551079215,null),new cljs.core.Symbol(null,\x22difference\x22,\x22difference\x22,-738334373,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Symbol(null,\x22intersection\x22,\x22intersection\x22,-650544759,null),new cljs.core.Symbol(null,\x22index\x22,\x22index\x22,108845612,null),new cljs.core.Symbol(null,\x22rename-keys\x22,\x22rename-keys\x22,355340888,null)],[clojure.set.project,clojure.set.map_invert,clojure.set.select,clojure.set.superset_QMARK_,clojure.set.join,clojure.set.union,clojure.set.rename,clojure.set.subset_QMARK_,clojure.set.difference,sci.impl.namespaces.clojure_set_namespace,clojure.set.intersection,clojure.set.index,clojure.set.rename_keys]),sci.impl.namespaces.sci_impl_deftype,sci.impl.namespaces.clojure_walk_ns,sci.impl.namespaces.sci_impl_records,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.impl.namespaces.clojure_edn_namespace,new cljs.core.Symbol(null,\x22read\x22,\x22read\x22,-1514377108,null),cljs.reader.read,new cljs.core.Symbol(null,\x22read-string\x22,\x22read-string\x22,-558384455,null),cljs.reader.read_string], null),sci.impl.namespaces.clojure_repl]);\n");
SHADOW_ENV.evalLoad("sci.impl.opts.js", true, "goog.provide(\x27sci.impl.opts\x27);\nsci.impl.opts.namespace_syms \x3d cljs.core.keys(sci.impl.namespaces.namespaces);\nsci.impl.opts.init_env_BANG_ \x3d (function sci$impl$opts$init_env_BANG_(env,aliases,namespaces,classes,raw_classes,imports,load_fn,async_load_fn,js_libs,ns_aliases){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env,(function (env__$1){\nvar env_nss \x3d new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(env__$1);\nvar namespaces__$1 \x3d cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5025__auto__ \x3d env_nss;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.namespaces.namespaces;\n}\n})(),namespaces], 0));\nvar aliases__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([aliases,cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env__$1,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714)], null))], 0));\nvar namespaces__$2 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update.cljs$core$IFn$_invoke$arity$5(namespaces__$1,new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),cljs.core.assoc,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),aliases__$1),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),cljs.core.assoc,new cljs.core.Symbol(null,\x22global-hierarchy\x22,\x22global-hierarchy\x22,-2014004345,null),sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22global-hierarchy\x22,\x22global-hierarchy\x22,-2014004345,null),cljs.core.make_hierarchy(),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null)),new cljs.core.Symbol(null,\x22*loaded-libs*\x22,\x22*loaded-libs*\x22,1951428860,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.namespaces.loaded_libs_STAR__STAR_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(env_nss),sci.impl.opts.namespace_syms))], 0));\nvar imports__$1 \x3d (function (){var temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(env__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar env_imports \x3d temp__5802__auto__;\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([env_imports,imports], 0));\n} else {\nreturn imports;\n}\n})();\nvar ns_aliases__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821).cljs$core$IFn$_invoke$arity$1(env__$1),ns_aliases], 0));\nvar js_libs__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721).cljs$core$IFn$_invoke$arity$1(env__$1),js_libs], 0));\nif(cljs.core.not(env__$1)){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),namespaces__$2,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),imports__$1,new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334),load_fn,new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029),async_load_fn], null);\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(env__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),namespaces__$2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),imports__$1,new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334),load_fn,new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029),async_load_fn,new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721),js_libs__$1,new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019),new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019).cljs$core$IFn$_invoke$arity$1(classes),new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(classes),new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511),raw_classes,new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821),ns_aliases__$1], 0));\n}\n}));\n});\nsci.impl.opts.process_permissions \x3d (function sci$impl$opts$process_permissions(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46951 \x3d arguments.length;\nvar i__5750__auto___46952 \x3d (0);\nwhile(true){\nif((i__5750__auto___46952 \x3c len__5749__auto___46951)){\nargs__5755__auto__.push((arguments[i__5750__auto___46952]));\n\nvar G__46953 \x3d (i__5750__auto___46952 + (1));\ni__5750__auto___46952 \x3d G__46953;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic \x3d (function (prev_perms,permissions){\nreturn cljs.core.not_empty(cljs.core.into.cljs$core$IFn$_invoke$arity$3(prev_perms,cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.cat,cljs.core.map.cljs$core$IFn$_invoke$arity$1(sci.impl.utils.strip_core_ns)),permissions));\n}));\n\n(sci.impl.opts.process_permissions.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.opts.process_permissions.cljs$lang$applyTo \x3d (function (seq46801){\nvar G__46802 \x3d cljs.core.first(seq46801);\nvar seq46801__$1 \x3d cljs.core.next(seq46801);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__46802,seq46801__$1);\n}));\n\nsci.impl.opts.default_classes \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22Error\x22,\x22Error\x22,-1692662047,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),Error,new cljs.core.Keyword(null,\x22constructor\x22,\x22constructor\x22,-1953928811),(function() {\nvar G__46960 \x3d null;\nvar G__46960__1 \x3d (function (msg){\nreturn (new Error(msg));\n});\nvar G__46960__2 \x3d (function (msg,filename){\nreturn (new Error(msg,filename));\n});\nvar G__46960__3 \x3d (function (msg,filename,line){\nreturn (new Error(msg,filename,line));\n});\nG__46960 \x3d function(msg,filename,line){\nswitch(arguments.length){\ncase 1:\nreturn G__46960__1.call(this,msg);\ncase 2:\nreturn G__46960__2.call(this,msg,filename);\ncase 3:\nreturn G__46960__3.call(this,msg,filename,line);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__46960.cljs$core$IFn$_invoke$arity$1 \x3d G__46960__1;\nG__46960.cljs$core$IFn$_invoke$arity$2 \x3d G__46960__2;\nG__46960.cljs$core$IFn$_invoke$arity$3 \x3d G__46960__3;\nreturn G__46960;\n})()\n], null),new cljs.core.Symbol(null,\x22cljs.core.PersistentQueue.EMPTY\x22,\x22cljs.core.PersistentQueue.EMPTY\x22,399917828,null),cljs.core.PersistentQueue.EMPTY,new cljs.core.Symbol(null,\x22goog.string.StringBuffer\x22,\x22goog.string.StringBuffer\x22,-1220229842,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),goog.string.StringBuffer,new cljs.core.Keyword(null,\x22constructor\x22,\x22constructor\x22,-1953928811),(function (p1__46818_SHARP_){\nreturn (new goog.string.StringBuffer(p1__46818_SHARP_));\n})], null),new cljs.core.Symbol(null,\x22sci.lang.Type\x22,\x22sci.lang.Type\x22,-534180168,null),sci.lang.Type], null);\nsci.impl.opts.default_imports \x3d cljs.core.PersistentArrayMap.EMPTY;\nsci.impl.opts.stringify_keys \x3d (function sci$impl$opts$stringify_keys(m){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (m__$1,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m__$1,cljs.core.name(k),v);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\n});\nsci.impl.opts.normalize_classes \x3d (function sci$impl$opts$normalize_classes(classes){\nvar class__GT_opts \x3d cljs.core.transient$(cljs.core.select_keys(classes,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745)], null)));\nvar kvs \x3d classes;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(kvs);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__46837 \x3d temp__5802__auto__;\nvar sym \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46837,(0),null);\nvar class_opts \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46837,(1),null);\nvar G__46964 \x3d ((cljs.core.map_QMARK_(class_opts))?(function (){var temp__5802__auto____$1 \x3d new cljs.core.Keyword(null,\x22static-methods\x22,\x22static-methods\x22,-599124455).cljs$core$IFn$_invoke$arity$1(class_opts);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar sm \x3d temp__5802__auto____$1;\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(class__GT_opts,sym,class_opts),new cljs.core.Keyword(null,\x22static-methods\x22,\x22static-methods\x22,-599124455),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22static-methods\x22,\x22static-methods\x22,-599124455).cljs$core$IFn$_invoke$arity$1(class__GT_opts),sym,sm));\n} else {\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(class__GT_opts,sym,class_opts);\n}\n})():cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(class__GT_opts,sym,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),class_opts], null)));\nvar G__46965 \x3d cljs.core.rest(kvs);\nclass__GT_opts \x3d G__46964;\nkvs \x3d G__46965;\ncontinue;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019),new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019).cljs$core$IFn$_invoke$arity$1(classes),new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),cljs.core.persistent_BANG_(class__GT_opts)], null);\n}\nbreak;\n}\n});\nsci.impl.opts.default_reify_fn \x3d (function sci$impl$opts$default_reify_fn(_,___$1,___$2){\nreturn null;\n});\nsci.impl.opts.__GT_ctx \x3d (function sci$impl$opts$__GT_ctx(bindings,env,features,readers,check_permissions_QMARK_){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),bindings,new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235),env,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),features,new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),readers,new cljs.core.Keyword(null,\x22check-permissions\x22,\x22check-permissions\x22,669054317),check_permissions_QMARK_], null);\n});\nsci.impl.opts.default_ns_aliases \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)], null);\n/**\n * Initializes options\n */\nsci.impl.opts.init \x3d (function sci$impl$opts$init(p__46868){\nvar map__46871 \x3d p__46868;\nvar map__46871__$1 \x3d cljs.core.__destructure_map(map__46871);\nvar aliases \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714));\nvar deny \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523));\nvar classes \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22classes\x22,\x22classes\x22,2037804510));\nvar proxy_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22proxy-fn\x22,\x22proxy-fn\x22,1116677438));\nvar features \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336));\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar ns_aliases \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821));\nvar js_libs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721));\nvar bindings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192));\nvar readers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030));\nvar reify_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22reify-fn\x22,\x22reify-fn\x22,-1360983316));\nvar env \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235));\nvar imports \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394));\nvar allow \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745));\nvar load_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334));\nvar async_load_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46871__$1,new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029));\nvar env__$1 \x3d (function (){var or__5025__auto__ \x3d env;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\n})();\nvar imports__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.opts.default_imports,imports], 0));\nvar ns_aliases__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.opts.default_ns_aliases,ns_aliases], 0));\nvar raw_classes \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.opts.default_classes,classes], 0));\nvar classes__$1 \x3d sci.impl.opts.normalize_classes(raw_classes);\nvar namespaces__$1 \x3d (function (){var G__46900 \x3d namespaces;\nif(cljs.core.truth_(bindings)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__46900,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(bindings,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.impl.utils.user_ns)], null)], 0));\n} else {\nreturn G__46900;\n}\n})();\nvar _ \x3d sci.impl.opts.init_env_BANG_(env__$1,aliases,namespaces__$1,classes__$1,raw_classes,imports__$1,load_fn,async_load_fn,js_libs,ns_aliases__$1);\nvar ctx \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sci.impl.opts.__GT_ctx(cljs.core.PersistentArrayMap.EMPTY,env__$1,features,readers,(function (){var or__5025__auto__ \x3d allow;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn deny;\n}\n})()),new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),(cljs.core.truth_(allow)?sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic(cljs.core.PersistentHashSet.EMPTY,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([allow], 0)):null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523),(cljs.core.truth_(deny)?sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic(cljs.core.PersistentHashSet.EMPTY,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([deny], 0)):null),new cljs.core.Keyword(null,\x22reify-fn\x22,\x22reify-fn\x22,-1360983316),(function (){var or__5025__auto__ \x3d reify_fn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.opts.default_reify_fn;\n}\n})(),new cljs.core.Keyword(null,\x22proxy-fn\x22,\x22proxy-fn\x22,1116677438),proxy_fn], 0));\nreturn ctx;\n});\nsci.impl.opts.merge_opts \x3d (function sci$impl$opts$merge_opts(ctx,opts){\nvar _BANG_env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar env \x3d cljs.core.deref(_BANG_env);\nvar map__46907 \x3d opts;\nvar map__46907__$1 \x3d cljs.core.__destructure_map(map__46907);\nvar aliases \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714));\nvar deny \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523));\nvar classes \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22classes\x22,\x22classes\x22,2037804510));\nvar features \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__46907__$1,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336).cljs$core$IFn$_invoke$arity$1(ctx));\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar ns_aliases \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821));\nvar js_libs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721));\nvar bindings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192));\nvar readers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030));\nvar reify_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22reify-fn\x22,\x22reify-fn\x22,-1360983316));\nvar imports \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394));\nvar allow \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46907__$1,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745));\nvar load_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__46907__$1,new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334),new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334).cljs$core$IFn$_invoke$arity$1(env));\nvar async_load_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__46907__$1,new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029),new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029).cljs$core$IFn$_invoke$arity$1(env));\nvar raw_classes \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(_BANG_env)),classes], 0));\nvar classes__$1 \x3d sci.impl.opts.normalize_classes(raw_classes);\nvar namespaces__$1 \x3d (function (){var G__46919 \x3d namespaces;\nif(cljs.core.truth_(bindings)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__46919,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(bindings,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.impl.utils.user_ns)], null)], 0));\n} else {\nreturn G__46919;\n}\n})();\nvar _ \x3d sci.impl.opts.init_env_BANG_(_BANG_env,aliases,namespaces__$1,classes__$1,raw_classes,imports,load_fn,async_load_fn,js_libs,ns_aliases);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sci.impl.opts.__GT_ctx(cljs.core.PersistentArrayMap.EMPTY,_BANG_env,features,readers,(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22check-permissions\x22,\x22check-permissions\x22,669054317).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d allow;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn deny;\n}\n}\n})()),new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),(cljs.core.truth_(allow)?sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([allow], 0)):null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523),(cljs.core.truth_(deny)?sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([deny], 0)):null),new cljs.core.Keyword(null,\x22reify-fn\x22,\x22reify-fn\x22,-1360983316),reify_fn,new cljs.core.Keyword(null,\x22main-thread-id\x22,\x22main-thread-id\x22,1264618959),new cljs.core.Keyword(null,\x22main-thread-id\x22,\x22main-thread-id\x22,1264618959).cljs$core$IFn$_invoke$arity$1(ctx)], 0));\nreturn ctx__$1;\n});\n");
SHADOW_ENV.evalLoad("sci.impl.interpreter.js", true, "goog.provide(\x27sci.impl.interpreter\x27);\nsci.impl.interpreter.eval_form_STAR_ \x3d (function sci$impl$interpreter$eval_form_STAR_(ctx,form){\nvar eval_file \x3d new cljs.core.Keyword(\x22clojure.core\x22,\x22eval-file\x22,\x22clojure.core/eval-file\x22,801420726).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(form));\nif(cljs.core.truth_(eval_file)){\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_file,eval_file]));\n} else {\n}\n\ntry{if(cljs.core.seq_QMARK_(form)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),cljs.core.first(form))){\nvar m__46658__auto__ \x3d cljs.core.meta(form);\nvar loc__46659__auto__ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d true;\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d m__46658__auto__;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(m__46658__auto__);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(m__46658__auto__),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(m__46658__auto__)], null):null);\nif(cljs.core.truth_(loc__46659__auto__)){\n(sci.impl.utils._STAR_top_level_location_STAR_ \x3d loc__46659__auto__);\n} else {\n}\n\ntry{var exprs \x3d cljs.core.rest(form);\nvar ret \x3d null;\nwhile(true){\nif(cljs.core.seq(exprs)){\nvar G__48619 \x3d cljs.core.rest(exprs);\nvar G__48620 \x3d (function (){var G__48560 \x3d ctx;\nvar G__48561 \x3d cljs.core.first(exprs);\nreturn (sci.impl.interpreter.eval_form_STAR_.cljs$core$IFn$_invoke$arity$2 ? sci.impl.interpreter.eval_form_STAR_.cljs$core$IFn$_invoke$arity$2(G__48560,G__48561) : sci.impl.interpreter.eval_form_STAR_.call(null,G__48560,G__48561));\n})();\nexprs \x3d G__48619;\nret \x3d G__48620;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}finally {if(cljs.core.truth_(loc__46659__auto__)){\n(sci.impl.utils._STAR_top_level_location_STAR_ \x3d null);\n} else {\n}\n}} else {\nvar upper_sym \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar cb \x3d cljs.core.volatile_BANG_(cljs.core.PersistentArrayMap.createAsIfByAssoc([upper_sym,new cljs.core.PersistentArrayMap(null, 1, [(0),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.PersistentArrayMap.EMPTY], null)], null)]));\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(ctx,new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [upper_sym,(0)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037),cb], 0));\nvar _ \x3d (sci.ctx_store._STAR_ctx_STAR_ \x3d ctx__$1);\nvar analyzed \x3d sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3(ctx__$1,form,true);\nvar binding_array_size \x3d cljs.core.count(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cb),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [upper_sym,(0),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)], null)));\nvar bindings \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(binding_array_size);\nif((analyzed instanceof sci.impl.types.EvalForm)){\nvar G__48569 \x3d ctx__$1;\nvar G__48570 \x3d analyzed.sci$impl$types$IBox$getVal$arity$1(null);\nreturn (sci.impl.interpreter.eval_form_STAR_.cljs$core$IFn$_invoke$arity$2 ? sci.impl.interpreter.eval_form_STAR_.cljs$core$IFn$_invoke$arity$2(G__48569,G__48570) : sci.impl.interpreter.eval_form_STAR_.call(null,G__48569,G__48570));\n} else {\ntry{return sci.impl.types.eval(analyzed,ctx__$1,bindings);\n}catch (e48573){if((e48573 instanceof Error)){\nvar e \x3d e48573;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx__$1,bindings,e,analyzed);\n} else {\nthrow e48573;\n\n}\n}}\n}\n} else {\nvar upper_sym \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar cb \x3d cljs.core.volatile_BANG_(cljs.core.PersistentArrayMap.createAsIfByAssoc([upper_sym,new cljs.core.PersistentArrayMap(null, 1, [(0),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.PersistentArrayMap.EMPTY], null)], null)]));\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(ctx,new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [upper_sym,(0)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037),cb], 0));\nvar analyzed \x3d sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,form);\nvar binding_array_size \x3d cljs.core.count(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cb),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [upper_sym,(0),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)], null)));\nvar bindings \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(binding_array_size);\ntry{return sci.impl.types.eval(analyzed,ctx__$1,bindings);\n}catch (e48582){if((e48582 instanceof Error)){\nvar e \x3d e48582;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx__$1,bindings,e,analyzed);\n} else {\nthrow e48582;\n\n}\n}}\n}finally {if(cljs.core.truth_(eval_file)){\nsci.impl.vars.pop_thread_bindings();\n} else {\n}\n}});\nsci.impl.interpreter.eval_form \x3d (function sci$impl$interpreter$eval_form(ctx,form){\nvar _STAR_ctx_STAR__orig_val__48587 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__48588 \x3d ctx;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__48588);\n\ntry{return sci.impl.interpreter.eval_form_STAR_(ctx,form);\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__48587);\n}});\ncljs.core.vreset_BANG_(sci.impl.utils.eval_form_state,sci.impl.interpreter.eval_form);\nsci.impl.interpreter.eval_string_STAR_ \x3d (function sci$impl$interpreter$eval_string_STAR_(var_args){\nvar G__48595 \x3d arguments.length;\nswitch (G__48595) {\ncase 2:\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,s){\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$3(ctx,s,null);\n}));\n\n(sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,s,opts){\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,(function (){var or__5025__auto__ \x3d (cljs.core.truth_(opts)?new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(opts):null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.deref(sci.impl.utils.current_ns);\n}\n})(),sci.impl.parser.data_readers,cljs.core.deref(sci.impl.parser.data_readers)]));\n\ntry{var reader \x3d cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\nvar eval_string_PLUS__QMARK_ \x3d (cljs.core.truth_(opts)?new cljs.core.Keyword(\x22sci.impl\x22,\x22eval-string+\x22,\x22sci.impl/eval-string+\x22,-178784582).cljs$core$IFn$_invoke$arity$1(opts):null);\nvar ret \x3d null;\nwhile(true){\nvar expr \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader);\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),expr)){\nif(cljs.core.truth_(eval_string_PLUS__QMARK_)){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),ret,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns)], null);\n} else {\nreturn ret;\n}\n} else {\nvar ret__$1 \x3d sci.impl.interpreter.eval_form(ctx,expr);\nvar G__48623 \x3d ret__$1;\nret \x3d G__48623;\ncontinue;\n}\nbreak;\n}\n}finally {sci.impl.vars.pop_thread_bindings();\n}}));\n\n(sci.impl.interpreter.eval_string_STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.interpreter.eval_string \x3d (function sci$impl$interpreter$eval_string(var_args){\nvar G__48612 \x3d arguments.length;\nswitch (G__48612) {\ncase 1:\nreturn sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$2(s,null);\n}));\n\n(sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,opts){\nvar init_ctx \x3d sci.impl.opts.init(opts);\nvar ret \x3d sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$2(init_ctx,s);\nreturn ret;\n}));\n\n(sci.impl.interpreter.eval_string.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("sci.core.js", true, "goog.provide(\x27sci.core\x27);\n/**\n * Returns a new sci var.\n */\nsci.core.new_var \x3d (function sci$core$new_var(var_args){\nvar G__49759 \x3d arguments.length;\nswitch (G__49759) {\ncase 1:\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.new_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nvar G__49761 \x3d sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name,null,null);\nsci.impl.vars.unbind(G__49761);\n\nreturn G__49761;\n}));\n\n(sci.core.new_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.core.new_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nreturn (new sci.lang.Var(init_val,name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(meta,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))),false,false,null));\n}));\n\n(sci.core.new_var.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Same as new-var but adds :dynamic true to meta.\n */\nsci.core.new_dynamic_var \x3d (function sci$core$new_dynamic_var(var_args){\nvar G__49766 \x3d arguments.length;\nswitch (G__49766) {\ncase 1:\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nvar G__49767 \x3d sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name,null,null);\nsci.impl.vars.unbind(G__49767);\n\nreturn G__49767;\n}));\n\n(sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nreturn (new sci.lang.Var(init_val,name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(meta,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))], 0)),false,false,null));\n}));\n\n(sci.core.new_dynamic_var.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Establish thread local binding of dynamic var\n */\nsci.core.set_BANG_ \x3d (function sci$core$set_BANG_(dynamic_var,v){\nreturn sci.impl.types.setVal(dynamic_var,v);\n});\n/**\n * Same as new-var but adds :macro true to meta as well\n *   as :sci/macro true to meta of the fn itself.\n */\nsci.core.new_macro_var \x3d (function sci$core$new_macro_var(var_args){\nvar G__49771 \x3d arguments.length;\nswitch (G__49771) {\ncase 2:\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nreturn (new sci.lang.Var(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(init_val,cljs.core.assoc,new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),true),name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(meta,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))], 0)),false,false,null));\n}));\n\n(sci.core.new_macro_var.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Copies Clojure var to SCI var. Runtime analog of compile time `copy-var`.\n */\nsci.core.copy_var_STAR_ \x3d (function sci$core$copy_var_STAR_(clojure_var,sci_ns){\nvar m \x3d cljs.core.meta(clojure_var);\nvar nm \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m);\nvar doc \x3d new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m);\nvar arglists \x3d new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m);\nvar dynamic \x3d new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m);\nvar macro \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\nvar new_m \x3d (function (){var G__49780 \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci_ns,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),nm], null);\nvar G__49780__$1 \x3d (cljs.core.truth_(macro)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49780,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true):G__49780);\nvar G__49780__$2 \x3d (cljs.core.truth_(doc)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49780__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),doc):G__49780__$1);\nvar G__49780__$3 \x3d (cljs.core.truth_(arglists)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49780__$2,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),arglists):G__49780__$2);\nif(cljs.core.truth_(dynamic)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49780__$3,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),dynamic);\n} else {\nreturn G__49780__$3;\n}\n})();\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(nm,cljs.core.deref(clojure_var),new_m);\n});\n/**\n * SCI var that represents SCI\x27s `clojure.core/*in*`\n */\nsci.core.in$ \x3d sci.impl.io.in$;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*out*`\n */\nsci.core.out \x3d sci.impl.io.out;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*err*`\n */\nsci.core.err \x3d sci.impl.io.err;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*ns*`\n */\nsci.core.ns \x3d sci.impl.utils.current_ns;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*file*`\n */\nsci.core.file \x3d sci.impl.utils.current_file;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*read-eval*`\n */\nsci.core.read_eval \x3d sci.impl.parser.read_eval;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-length*`\n */\nsci.core.print_length \x3d sci.impl.io.print_length;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-level*`\n */\nsci.core.print_level \x3d sci.impl.io.print_level;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-meta*`\n */\nsci.core.print_meta \x3d sci.impl.io.print_meta;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-readably*`\n */\nsci.core.print_readably \x3d sci.impl.io.print_readably;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-dup*`\n */\nsci.core.print_dup \x3d sci.impl.io.print_dup_var;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-namespace-maps*`\n */\nsci.core.print_namespace_maps \x3d sci.impl.io.print_namespace_maps;\n/**\n * SCI var that represents SCI\x27s `cljs.core/*print-fn*`\n */\nsci.core.print_fn \x3d sci.impl.io.print_fn;\n/**\n * SCI var that represents SCI\x27s `cljs.core/*print-err-fn*`\n */\nsci.core.print_err_fn \x3d sci.impl.io.print_err_fn;\n/**\n * SCI var that represents SCI\x27s `cljs.core/*print-newline*`\n */\nsci.core.print_newline \x3d sci.impl.io.print_newline;\n/**\n * SCI var that represents SCI\x27s clojure.core/*assert*\n */\nsci.core.assert \x3d sci.impl.namespaces.assert_var;\nsci.core._STAR_1 \x3d sci.impl.namespaces._STAR_1;\nsci.core._STAR_2 \x3d sci.impl.namespaces._STAR_2;\nsci.core._STAR_3 \x3d sci.impl.namespaces._STAR_3;\nsci.core._STAR_e \x3d sci.impl.namespaces._STAR_e;\n/**\n * Atomically alters the root binding of sci var v by applying f to its\n *   current value plus any args.\n */\nsci.core.alter_var_root \x3d (function sci$core$alter_var_root(var_args){\nvar G__49798 \x3d arguments.length;\nswitch (G__49798) {\ncase 2:\nreturn sci.core.alter_var_root.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___49901 \x3d arguments.length;\nvar i__5750__auto___49902 \x3d (0);\nwhile(true){\nif((i__5750__auto___49902 \x3c len__5749__auto___49901)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___49902]));\n\nvar G__49903 \x3d (i__5750__auto___49902 + (1));\ni__5750__auto___49902 \x3d G__49903;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn sci.core.alter_var_root.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.core.alter_var_root.cljs$core$IFn$_invoke$arity$2 \x3d (function (v,f){\nvar _STAR_unrestricted_STAR__orig_val__49800 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__49801 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__49801);\n\ntry{return sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2(v,f);\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__49800);\n}}));\n\n(sci.core.alter_var_root.cljs$core$IFn$_invoke$arity$variadic \x3d (function (v,f,args){\nvar _STAR_unrestricted_STAR__orig_val__49802 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__49803 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__49803);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.vars.alter_var_root,v,f,args);\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__49802);\n}}));\n\n/** @this {Function} */\n(sci.core.alter_var_root.cljs$lang$applyTo \x3d (function (seq49795){\nvar G__49796 \x3d cljs.core.first(seq49795);\nvar seq49795__$1 \x3d cljs.core.next(seq49795);\nvar G__49797 \x3d cljs.core.first(seq49795__$1);\nvar seq49795__$2 \x3d cljs.core.next(seq49795__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__49796,G__49797,seq49795__$2);\n}));\n\n(sci.core.alter_var_root.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Finds or creates a sci var named by the symbol name in the namespace\n *   ns (which can be a symbol or a sci namespace), setting its root\n *   binding to val if supplied. The namespace must exist in the ctx. The\n *   sci var will adopt any metadata from the name symbol.  Returns the\n *   sci var.\n */\nsci.core.intern \x3d (function sci$core$intern(var_args){\nvar G__49806 \x3d arguments.length;\nswitch (G__49806) {\ncase 3:\nreturn sci.core.intern.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.core.intern.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.intern.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,sci_ns,name){\nvar _STAR_ctx_STAR__orig_val__49807 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__49808 \x3d ctx;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__49808);\n\ntry{return sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$2(sci_ns,name);\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__49807);\n}}));\n\n(sci.core.intern.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,sci_ns,name,val){\nvar _STAR_ctx_STAR__orig_val__49810 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__49811 \x3d ctx;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__49811);\n\ntry{return sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$3(sci_ns,name,val);\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__49810);\n}}));\n\n(sci.core.intern.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Evaluates string `s` as one or multiple Clojure expressions using the Small Clojure Interpreter.\n * \n *   The map `opts` may contain the following:\n * \n *   - `:namespaces`: a map of symbols to namespaces, where a namespace\n *   is a map with symbols to values, e.g.: `{\x27foo.bar {\x27x 1}}`. These\n *   namespaces can be used with `require`.\n * \n *   - `:allow`: a seqable of allowed symbols. All symbols, even those\n *   brought in via `:namespaces` have to be explicitly\n *   enumerated.\n * \n *   - `:deny`: a seqable of disallowed symbols, e.g.: `[loop quote\n *   recur]`.\n * \n *   - `:features`: when provided a non-empty set of keywords, sci will process reader conditionals using these features (e.g. #{:bb}).\n * \n *   - `:ns-aliases`: a map of aliases to namespaces that are globally valid, e.g. `{\x27clojure.test \x27cljs.test}`\n * \n *   - `:bindings`: DEPRECATED - `:bindings x` is the same as `:namespaces {\x27user x}`.\n */\nsci.core.eval_string \x3d (function sci$core$eval_string(var_args){\nvar G__49813 \x3d arguments.length;\nswitch (G__49813) {\ncase 1:\nreturn sci.core.eval_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.core.eval_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.eval_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn sci.core.eval_string.cljs$core$IFn$_invoke$arity$2(s,null);\n}));\n\n(sci.core.eval_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,opts){\nreturn sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$2(s,opts);\n}));\n\n(sci.core.eval_string.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an initial sci context from given options `opts`. The context\n *   can be used with `eval-string*`. See `eval-string` for available\n *   options. The internal organization of the context is implementation\n *   detail and may change in the future.\n */\nsci.core.init \x3d (function sci$core$init(opts){\nreturn sci.impl.opts.init(opts);\n});\n/**\n * Updates a context with opts merged in and returns it.\n */\nsci.core.merge_opts \x3d (function sci$core$merge_opts(ctx,opts){\nreturn sci.impl.opts.merge_opts(ctx,opts);\n});\n/**\n * Forks a context (as produced with `init`) into a new context. Any new\n *   vars created in the new context won\x27t be visible in the original\n *   context.\n */\nsci.core.fork \x3d (function sci$core$fork(ctx){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235),(function (env){\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(env));\n}));\n});\n/**\n * Evaluates string `s` in the context of `ctx` (as produced with\n *   `init`).\n */\nsci.core.eval_string_STAR_ \x3d (function sci$core$eval_string_STAR_(ctx,s){\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$2(ctx,s);\n});\n/**\n * Evaluates string `s` in the context of `ctx` (as produced with\n *   `init`).\n * \n *   Options:\n *   *`:ns` - the namespace to start evaluation in (defaults to the value of `sci/ns`)\n * \n *   Returns map with:\n *   * `:val` - the evaluated value\n *   * `:ns` - the namespace object\n */\nsci.core.eval_string_PLUS_ \x3d (function sci$core$eval_string_PLUS_(var_args){\nvar G__49818 \x3d arguments.length;\nswitch (G__49818) {\ncase 2:\nreturn sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,s){\nreturn sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$3(ctx,s,null);\n}));\n\n(sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,s,opts){\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$3(ctx,s,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(\x22sci.impl\x22,\x22eval-string+\x22,\x22sci.impl/eval-string+\x22,-178784582),true));\n}));\n\n(sci.core.eval_string_PLUS_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates namespace object. Can be used in var metadata.\n */\nsci.core.create_ns \x3d (function sci$core$create_ns(var_args){\nvar G__49820 \x3d arguments.length;\nswitch (G__49820) {\ncase 1:\nreturn sci.core.create_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.core.create_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.create_ns.cljs$core$IFn$_invoke$arity$1 \x3d (function (sym){\nreturn sci.core.create_ns.cljs$core$IFn$_invoke$arity$2(sym,null);\n}));\n\n(sci.core.create_ns.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,meta){\nreturn sci.lang.__GT_Namespace(sym,meta);\n}));\n\n(sci.core.create_ns.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Parses string `s` in the context of `ctx` (as produced with\n *   `init`).\n */\nsci.core.parse_string \x3d (function sci$core$parse_string(ctx,s){\nreturn sci.impl.parser.parse_string(ctx,s);\n});\n/**\n * Coerces x into indexing pushback-reader to be used with\n *   parse-next. Accepts: string or java.io.Reader.\n */\nsci.core.reader \x3d (function sci$core$reader(x){\nreturn sci.impl.parser.reader(x);\n});\nsci.core.source_reader \x3d (function sci$core$source_reader(x){\nreturn edamame.core.source_reader(x);\n});\nsci.core.get_line_number \x3d (function sci$core$get_line_number(reader){\nreturn sci.impl.parser.get_line_number(reader);\n});\nsci.core.get_column_number \x3d (function sci$core$get_column_number(reader){\nreturn sci.impl.parser.get_column_number(reader);\n});\n/**\n * Parses next form from reader\n */\nsci.core.parse_next \x3d (function sci$core$parse_next(var_args){\nvar G__49828 \x3d arguments.length;\nswitch (G__49828) {\ncase 2:\nreturn sci.core.parse_next.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.parse_next.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.parse_next.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reader){\nreturn sci.core.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(sci.core.parse_next.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,opts){\nvar v \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,opts);\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),v)){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci.core\x22,\x22eof\x22,\x22sci.core/eof\x22,-808584945);\n}\n} else {\nreturn v;\n}\n}));\n\n(sci.core.parse_next.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Parses next form from reader\n */\nsci.core.parse_next_PLUS_string \x3d (function sci$core$parse_next_PLUS_string(var_args){\nvar G__49834 \x3d arguments.length;\nswitch (G__49834) {\ncase 2:\nreturn sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reader){\nreturn sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$3(ctx,reader,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,opts){\nif(cljs.tools.reader.reader_types.source_logging_reader_QMARK_(reader)){\nvar v \x3d sci.core.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,opts);\nvar s \x3d clojure.string.trim(cljs.core.str.cljs$core$IFn$_invoke$arity$1(edamame.impl.parser.buf(reader)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,s], null);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22parse-next+string must be called with source-reader\x22,cljs.core.PersistentArrayMap.EMPTY);\n}\n}));\n\n(sci.core.parse_next_PLUS_string.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Evaluates form (as produced by `parse-string` or `parse-next`) in the\n *   context of `ctx` (as produced with `init`). To allow namespace\n *   switches, establish root binding of `sci/ns` with `sci/binding` or\n *   `sci/with-bindings.`\n */\nsci.core.eval_form \x3d (function sci$core$eval_form(ctx,form){\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\n}\n})());\nreturn sci.impl.interpreter.eval_form(ctx__$1,form);\n});\n/**\n * Returns list of stacktrace element maps from exception, if available.\n */\nsci.core.stacktrace \x3d (function sci$core$stacktrace(ex){\nvar G__49836 \x3d ex;\nvar G__49836__$1 \x3d (((G__49836 \x3d\x3d null))?null:cljs.core.ex_data(G__49836));\nvar G__49836__$2 \x3d (((G__49836__$1 \x3d\x3d null))?null:new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557).cljs$core$IFn$_invoke$arity$1(G__49836__$1));\nif((G__49836__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn sci.impl.callstack.stacktrace(G__49836__$2);\n}\n});\n/**\n * Returns a list of formatted stack trace elements as strings from stacktrace.\n */\nsci.core.format_stacktrace \x3d (function sci$core$format_stacktrace(stacktrace){\nreturn sci.impl.callstack.format_stacktrace(stacktrace);\n});\n/**\n * Returns name of SCI ns as symbol.\n */\nsci.core.ns_name \x3d (function sci$core$ns_name(sci_ns){\nreturn sci.impl.types.getName(sci_ns);\n});\nsci.core._copy_ns \x3d (function sci$core$_copy_ns(ns_publics_map,sci_ns){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns_map,p__49841){\nvar vec__49842 \x3d p__49841;\nvar var_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49842,(0),null);\nvar var$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49842,(1),null);\nvar m \x3d new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964).cljs$core$IFn$_invoke$arity$1(var$);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns_map,var_name,sci.core.new_var.cljs$core$IFn$_invoke$arity$3(var_name,(function (){var temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(var$);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar var$__$1 \x3d temp__5802__auto__;\nreturn cljs.core.deref(var$__$1);\n} else {\nreturn new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612).cljs$core$IFn$_invoke$arity$1(var$);\n}\n})(),cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci_ns,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),var_name], 0))));\n}),cljs.core.PersistentArrayMap.EMPTY,ns_publics_map);\n});\nsci.core.process_publics \x3d (function sci$core$process_publics(publics,p__49847){\nvar map__49848 \x3d p__49847;\nvar map__49848__$1 \x3d cljs.core.__destructure_map(map__49848);\nvar exclude \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49848__$1,new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334));\nvar publics__$1 \x3d (cljs.core.truth_(exclude)?cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,publics,exclude):publics);\nreturn publics__$1;\n});\nsci.core.exclude_when_meta \x3d (function sci$core$exclude_when_meta(publics_map,meta_fn,key_fn,val_fn,skip_keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns_map,p__49853){\nvar vec__49854 \x3d p__49853;\nvar var_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49854,(0),null);\nvar var$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49854,(1),null);\nvar temp__5802__auto__ \x3d (meta_fn.cljs$core$IFn$_invoke$arity$1 ? meta_fn.cljs$core$IFn$_invoke$arity$1(var$) : meta_fn.call(null,var$));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar m \x3d temp__5802__auto__;\nif(cljs.core.truth_(cljs.core.some(m,skip_keys))){\nreturn ns_map;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns_map,(key_fn.cljs$core$IFn$_invoke$arity$1 ? key_fn.cljs$core$IFn$_invoke$arity$1(var_name) : key_fn.call(null,var_name)),(val_fn.cljs$core$IFn$_invoke$arity$2 ? val_fn.cljs$core$IFn$_invoke$arity$2(var$,m) : val_fn.call(null,var$,m)));\n}\n} else {\nreturn ns_map;\n}\n}),cljs.core.PersistentArrayMap.EMPTY,publics_map);\n});\nsci.core.normalize_meta \x3d (function sci$core$normalize_meta(m){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar sci_macro \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),sci_macro);\n} else {\nreturn m;\n}\n});\nsci.core.meta_fn \x3d (function sci$core$meta_fn(opts){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),opts)){\nreturn sci.core.normalize_meta;\n} else {\nif(cljs.core.truth_(opts)){\nreturn (function (p1__49865_SHARP_){\nreturn sci.core.normalize_meta(cljs.core.select_keys(p1__49865_SHARP_,opts));\n});\n} else {\nreturn (function (p1__49866_SHARP_){\nreturn sci.core.normalize_meta(cljs.core.select_keys(p1__49866_SHARP_,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22no-doc\x22,\x22no-doc\x22,1559921891),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571)], null)));\n});\n\n}\n}\n});\n/**\n * Adds import of class named by `class-name` (a symbol) to namespace named by `ns-name` (a symbol) under alias `alias` (a symbol). Returns mutated context.\n */\nsci.core.add_import_BANG_ \x3d (function sci$core$add_import_BANG_(ctx,ns_name,class_name,alias){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),(function (env){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),alias], null),class_name),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),alias);\n}));\n\nreturn ctx;\n});\n/**\n * Adds class (JVM class or JS object) to `ctx` as `class-name` (a\n *   symbol). Returns mutated context.\n */\nsci.core.add_class_BANG_ \x3d (function sci$core$add_class_BANG_(ctx,class_name,class$){\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env,(function (env__$1){\nreturn cljs.core.assoc_in(cljs.core.assoc_in(env__$1,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),class_name,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)], null),class$),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511),class_name], null),class$);\n}));\n\nreturn ctx;\n});\n/**\n * Adds namespace map `ns-map` named by the symbol `ns-name` to\n *   `ctx`. Returns mutated context.\n */\nsci.core.add_namespace_BANG_ \x3d (function sci$core$add_namespace_BANG_(ctx,ns_name,ns_map){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.update_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name], null),cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ns_map], 0));\n\nreturn ctx;\n});\n/**\n * Returns SCI ns object as created with `sci/create-ns` from `ctx` found by `ns-sym`.\n */\nsci.core.find_ns \x3d (function sci$core$find_ns(ctx,ns_sym){\nreturn sci.impl.namespaces.sci_find_ns_STAR_(ctx,ns_sym);\n});\n/**\n * Returns all SCI ns objects in the `ctx`\n */\nsci.core.all_ns \x3d (function sci$core$all_ns(ctx){\nvar _STAR_ctx_STAR__orig_val__49877 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__49878 \x3d ctx;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__49878);\n\ntry{return sci.impl.namespaces.sci_all_ns();\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__49877);\n}});\n/**\n * Calling this will enable\n *   - Altering core vars using `alter-var-root`\n *   - In CLJS: `set!` is able to set the value of any var.\n *   - In CLJS: instance method calls are not restricted to only `:classes`\n * \n *   In the future, more unrestricted access may be added, so only use this when you\x27re not using SCI as a sandbox.\n */\nsci.core.enable_unrestricted_access_BANG_ \x3d (function sci$core$enable_unrestricted_access_BANG_(){\nreturn (sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d true);\n});\n/**\n * Returns a fully qualified symbol from a `sci.lang.Var`\n */\nsci.core.var__GT_symbol \x3d (function sci$core$var__GT_symbol(sci_var){\nvar m \x3d cljs.core.meta(sci_var);\nvar sci_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nvar n \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m);\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci_ns),cljs.core.str.cljs$core$IFn$_invoke$arity$1(n));\n});\nsci.core.resolve \x3d (function sci$core$resolve(ctx,sym){\nvar G__49883 \x3d ctx;\nvar G__49884 \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar G__49885 \x3d sym;\nvar fexpr__49882 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__49882.cljs$core$IFn$_invoke$arity$3 ? fexpr__49882.cljs$core$IFn$_invoke$arity$3(G__49883,G__49884,G__49885) : fexpr__49882.call(null,G__49883,G__49884,G__49885));\n});\n/**\n * Add js library to context, so it can be used with `require`.\n */\nsci.core.add_js_lib_BANG_ \x3d (function sci$core$add_js_lib_BANG_(ctx,name_str,js_lib){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721),name_str], null),js_lib);\n\nreturn ctx;\n});\n");
SHADOW_ENV.evalLoad("scittle.impl.common.js", true, "goog.provide(\x27scittle.impl.common\x27);\nscittle.impl.common.cljns \x3d sci.core.create_ns.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),null);\n");
SHADOW_ENV.evalLoad("scittle.impl.error.js", true, "goog.provide(\x27scittle.impl.error\x27);\nscittle.impl.error.println \x3d (function scittle$impl$error$println(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___49965 \x3d arguments.length;\nvar i__5750__auto___49966 \x3d (0);\nwhile(true){\nif((i__5750__auto___49966 \x3c len__5749__auto___49965)){\nargs__5755__auto__.push((arguments[i__5750__auto___49966]));\n\nvar G__49967 \x3d (i__5750__auto___49966 + (1));\ni__5750__auto___49966 \x3d G__49967;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn scittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(scittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (strs){\nreturn console.error(clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22 \x22,strs));\n}));\n\n(scittle.impl.error.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(scittle.impl.error.println.cljs$lang$applyTo \x3d (function (seq49899){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq49899));\n}));\n\nscittle.impl.error.ruler \x3d (function scittle$impl$error$ruler(title){\nreturn scittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,\x22----- \x22,title,\x22 \x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((((50) - (7)) - cljs.core.count(title)),\x22-\x22))], 0));\n});\nscittle.impl.error.split_stacktrace \x3d (function scittle$impl$error$split_stacktrace(stacktrace,verbose_QMARK_){\nif(cljs.core.truth_(verbose_QMARK_)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [stacktrace], null);\n} else {\nvar stack_count \x3d cljs.core.count(stacktrace);\nif((stack_count \x3c\x3d (10))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [stacktrace], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take.cljs$core$IFn$_invoke$arity$2((5),stacktrace),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((stack_count - (5)),stacktrace)], null);\n}\n}\n});\nscittle.impl.error.print_stacktrace \x3d (function scittle$impl$error$print_stacktrace(stacktrace,p__49913){\nvar map__49914 \x3d p__49913;\nvar map__49914__$1 \x3d cljs.core.__destructure_map(map__49914);\nvar verbose_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49914__$1,new cljs.core.Keyword(null,\x22verbose?\x22,\x22verbose?\x22,1244836832));\nvar stacktrace__$1 \x3d sci.core.format_stacktrace(stacktrace);\nvar segments \x3d scittle.impl.error.split_stacktrace(stacktrace__$1,verbose_QMARK_);\nvar vec__49915 \x3d segments;\nvar fst \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49915,(0),null);\nvar snd \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49915,(1),null);\ncljs.core.run_BANG_((function (p1__49910_SHARP_){\nreturn cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1__49910_SHARP_,\x22\\n\x22], 0));\n}),fst);\n\nif(cljs.core.truth_(snd)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22...\\n\x22], 0));\n\nreturn cljs.core.run_BANG_((function (p1__49911_SHARP_){\nreturn cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1__49911_SHARP_,\x22\\n\x22], 0));\n}),snd);\n} else {\nreturn null;\n}\n});\nscittle.impl.error.error_context \x3d (function scittle$impl$error$error_context(ex,src_map){\nvar map__49928 \x3d cljs.core.ex_data(ex);\nvar map__49928__$1 \x3d cljs.core.__destructure_map(map__49928);\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49928__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49928__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49928__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d file;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn line;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(src_map,file);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar content \x3d temp__5804__auto__;\nvar matching_line \x3d (line - (1));\nvar start_line \x3d (function (){var x__5110__auto__ \x3d (matching_line - (4));\nvar y__5111__auto__ \x3d (0);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar end_line \x3d (matching_line + (6));\nvar vec__49930 \x3d cljs.core.split_at(((matching_line - start_line) + (1)),cljs.core.take.cljs$core$IFn$_invoke$arity$2((end_line - start_line),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(start_line,cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.list,clojure.string.split_lines(content)))));\nvar before \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49930,(0),null);\nvar after \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49930,(1),null);\nvar snippet_lines \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(before,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,[clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((column - (1)),\x22 \x22)),[\x22^--- \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ex_message(ex))].join(\x27\x27)].join(\x27\x27)], null)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([after], 0));\nvar indices \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,snippet_lines);\nvar max_size \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(0),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.count,cljs.core.str),indices));\nvar snippet_lines__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__49940){\nvar vec__49942 \x3d p__49940;\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49942,(0),null);\nvar line__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49942,(1),null);\nif(cljs.core.truth_(idx)){\nvar line_number \x3d (idx + (1));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_number).padStart(max_size,\x220\x22)),\x22  \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line__$1)].join(\x27\x27);\n} else {\nreturn [clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((2) + max_size),\x22 \x22)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(line__$1)].join(\x27\x27);\n}\n}),snippet_lines);\nreturn [\x22\\n\x22,clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,snippet_lines__$1)].join(\x27\x27);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nscittle.impl.error.right_pad \x3d (function scittle$impl$error$right_pad(s,n){\nvar n__$1 \x3d (n - cljs.core.count(s));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n__$1,\x22 \x22))].join(\x27\x27);\n});\nscittle.impl.error.error_handler \x3d (function scittle$impl$error$error_handler(e,src_map){\nvar d \x3d cljs.core.ex_data(e);\nvar sci_error_QMARK_ \x3d cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(d),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803));\nvar stacktrace \x3d sci.core.stacktrace(e);\nscittle.impl.error.ruler(\x22Scittle error\x22);\n\nvar temp__5804__auto___49975 \x3d e.name;\nif(cljs.core.truth_(temp__5804__auto___49975)){\nvar name_49976 \x3d temp__5804__auto___49975;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22Error\x22,name_49976)){\n} else {\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Type:    \x22,name_49976], 0));\n}\n} else {\n}\n\nvar temp__5804__auto___49978 \x3d e.message;\nif(cljs.core.truth_(temp__5804__auto___49978)){\nvar m_49979 \x3d temp__5804__auto___49978;\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22Message:  \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m_49979)].join(\x27\x27)], 0));\n} else {\n}\n\nvar temp__5804__auto___49980 \x3d cljs.core.ex_data(cljs.core.ex_cause(e));\nif(cljs.core.truth_(temp__5804__auto___49980)){\nvar d_49981__$1 \x3d temp__5804__auto___49980;\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Data:     \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([d_49981__$1], 0))], 0));\n} else {\n}\n\nvar map__49953_49982 \x3d d;\nvar map__49953_49983__$1 \x3d cljs.core.__destructure_map(map__49953_49982);\nvar file_49984 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49953_49983__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line_49985 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49953_49983__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_49986 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49953_49983__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nif(cljs.core.truth_(line_49985)){\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22Location: \x22,(cljs.core.truth_(file_49984)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_49984),\x22:\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_49985),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_49986),\x22\x22].join(\x27\x27)], 0));\n} else {\n}\n\nvar temp__5804__auto___49987 \x3d new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892).cljs$core$IFn$_invoke$arity$1(d);\nif(cljs.core.truth_(temp__5804__auto___49987)){\nvar phase_49988 \x3d temp__5804__auto___49987;\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Phase:   \x22,phase_49988], 0));\n} else {\n}\n\nvar temp__5804__auto___49989 \x3d ((sci_error_QMARK_)?scittle.impl.error.error_context(e,src_map):null);\nif(cljs.core.truth_(temp__5804__auto___49989)){\nvar ec_49991 \x3d temp__5804__auto___49989;\nscittle.impl.error.ruler(\x22Context\x22);\n\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ec_49991], 0));\n} else {\n}\n\nif(sci_error_QMARK_){\nvar temp__5804__auto__ \x3d (function (){var st \x3d (function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__49956_49995 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__49957_49996 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__49958_49997 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__49959_49998 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__49958_49997);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__49959_49998);\n\ntry{if(cljs.core.truth_(stacktrace)){\nscittle.impl.error.print_stacktrace(stacktrace,src_map);\n} else {\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__49957_49996);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__49956_49995);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})();\nif(clojure.string.blank_QMARK_(st)){\nreturn null;\n} else {\nreturn st;\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar st \x3d temp__5804__auto__;\nscittle.impl.error.ruler(\x22Stack trace\x22);\n\nreturn scittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([st], 0));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("scittle.core.js", true, "goog.provide(\x27scittle.core\x27);\ngoog.scope(function(){\n  scittle.core.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d true);\nscittle.core.doc \x3d globalThis.document;\nvar ret__5804__auto___50129 \x3d /**\n * Evaluates expr and prints the time it took. Returns the value of expr.\n */\nscittle.core.time \x3d (function scittle$core$time(_AMPERSAND_form,_AMPERSAND_env,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22start__50007__auto__\x22,\x22start__50007__auto__\x22,-54258801,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ret__50008__auto__\x22,\x22ret__50008__auto__\x22,-1800328036,null),null,(1),null)),(new cljs.core.List(null,expr,null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22prn\x22,\x22cljs.core/prn\x22,1725204552,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Elapsed time: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.toFixed\x22,\x22.toFixed\x22,-895046938,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x22,\x22cljs.core/-\x22,187040141,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22start__50007__auto__\x22,\x22start__50007__auto__\x22,-54258801,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,(6),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,\x22 msecs\x22,null,(1),null))], 0)))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ret__50008__auto__\x22,\x22ret__50008__auto__\x22,-1800328036,null),null,(1),null))], 0))));\n});\n(scittle.core.time.cljs$lang$macro \x3d true);\n\nscittle.core.stns \x3d sci.core.create_ns.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22sci.script-tag\x22,\x22sci.script-tag\x22,922462701,null),null);\nscittle.core.rns \x3d sci.core.create_ns.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22cljs.reader\x22,\x22cljs.reader\x22,1327473948,null),null);\nscittle.core.namespaces \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22NaN?\x22,\x22NaN?\x22,-277236124,null),new cljs.core.Symbol(null,\x22parse-boolean\x22,\x22parse-boolean\x22,1597835260,null),new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),new cljs.core.Symbol(null,\x22update-keys\x22,\x22update-keys\x22,1989413883,null),new cljs.core.Symbol(null,\x22abs\x22,\x22abs\x22,1394505050,null),new cljs.core.Symbol(null,\x22parse-double\x22,\x22parse-double\x22,539629745,null),new cljs.core.Symbol(null,\x22parse-long\x22,\x22parse-long\x22,-331085761,null),new cljs.core.Symbol(null,\x22parse-uuid\x22,\x22parse-uuid\x22,-1353654565,null),new cljs.core.Symbol(null,\x22infinite?\x22,\x22infinite?\x22,-377355081,null),new cljs.core.Symbol(null,\x22read-string\x22,\x22read-string\x22,-558384455,null),new cljs.core.Symbol(null,\x22system-time\x22,\x22system-time\x22,1690633727,null),new cljs.core.Symbol(null,\x22iteration\x22,\x22iteration\x22,551579478,null),new cljs.core.Symbol(null,\x22random-uuid\x22,\x22random-uuid\x22,-1574409597,null),new cljs.core.Symbol(null,\x22update-vals\x22,\x22update-vals\x22,767480843,null)],[(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.NaN_QMARK_;},new cljs.core.Symbol(\x22cljs.core\x22,\x22NaN?\x22,\x22cljs.core/NaN?\x22,-683978047,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22NaN?\x22,\x22NaN?\x22,-277236124,null),\x22cljs/core.cljs\x22,20,1,12230,12230,new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null)),\x22Returns true if num is NaN, else false\x22,((cljs.core.NaN_QMARK_)?cljs.core.NaN_QMARK_.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.parse_boolean;},new cljs.core.Symbol(\x22cljs.core\x22,\x22parse-boolean\x22,\x22cljs.core/parse-boolean\x22,1744747289,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22parse-boolean\x22,\x22parse-boolean\x22,1597835260,null),\x22cljs/core.cljs\x22,20,1,12279,12279,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Parse strings \\\x22true\\\x22 or \\\x22false\\\x22 and return a boolean, or nil if invalid. Note that this explicitly\\n  excludes strings with different cases, or space characters.\x22,(cljs.core.truth_(cljs.core.parse_boolean)?cljs.core.parse_boolean.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return scittle.core.time;},new cljs.core.Symbol(\x22scittle.core\x22,\x22time\x22,\x22scittle.core/time\x22,835259980,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22scittle.core\x22,\x22scittle.core\x22,-2069969035,null),new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),\x22scittle/core.cljs\x22,28,1,19,true,19,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null)], null)),\x22Evaluates expr and prints the time it took. Returns the value of expr.\x22,(cljs.core.truth_(scittle.core.time)?scittle.core.time.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.update_keys;},new cljs.core.Symbol(\x22cljs.core\x22,\x22update-keys\x22,\x22cljs.core/update-keys\x22,1297524294,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22added\x22,\x22added\x22,2057651688),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[\x221.11\x22,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22update-keys\x22,\x22update-keys\x22,1989413883,null),\x22cljs/core.cljs\x22,18,1,12086,12086,cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22m\x22,\x22m\x22,-1021758608,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null)], null)),\x22m f \x3d\x3e {(f k) v ...}\\n  Given a map m and a function f of 1-argument, returns a new map whose\\n  keys are the result of applying f to the keys of m, mapped to the\\n  corresponding values of m.\\n  f must return a unique key for each key of m, else the behavior is undefined.\x22,(cljs.core.truth_(cljs.core.update_keys)?cljs.core.update_keys.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.abs;},new cljs.core.Symbol(\x22cljs.core\x22,\x22abs\x22,\x22cljs.core/abs\x22,-1949230943,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22added\x22,\x22added\x22,2057651688),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[\x221.11.10\x22,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22abs\x22,\x22abs\x22,1394505050,null),\x22cljs/core.cljs\x22,18,1,2766,2766,new cljs.core.Symbol(null,\x22number\x22,\x22number\x22,-1084057331,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22a\x22,\x22a\x22,-482876059,null)], null)),\x22Returns the absolute value of a.\x22,(cljs.core.truth_(cljs.core.abs)?cljs.core.abs.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.parse_double;},new cljs.core.Symbol(\x22cljs.core\x22,\x22parse-double\x22,\x22cljs.core/parse-double\x22,141344022,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22parse-double\x22,\x22parse-double\x22,539629745,null),\x22cljs/core.cljs\x22,27,1,12252,12252,new cljs.core.Symbol(null,\x22number\x22,\x22number\x22,-1084057331,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Parse string with floating point components and return a floating point value,\\n  or nil if parse fails.\\n  Grammar: https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String-\x22,(cljs.core.truth_(cljs.core.parse_double)?cljs.core.parse_double.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.parse_long;},new cljs.core.Symbol(\x22cljs.core\x22,\x22parse-long\x22,\x22cljs.core/parse-long\x22,-738007718,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22parse-long\x22,\x22parse-long\x22,-331085761,null),\x22cljs/core.cljs\x22,25,1,12240,12240,new cljs.core.Symbol(null,\x22number\x22,\x22number\x22,-1084057331,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Parse string of decimal digits with optional leading -/+ and return an\\n  integer value, or nil if parse fails\x22,(cljs.core.truth_(cljs.core.parse_long)?cljs.core.parse_long.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.parse_uuid;},new cljs.core.Symbol(\x22cljs.core\x22,\x22parse-uuid\x22,\x22cljs.core/parse-uuid\x22,-140527072,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22parse-uuid\x22,\x22parse-uuid\x22,-1353654565,null),\x22cljs/core.cljs\x22,17,1,12269,12269,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Parse a string representing a UUID and return a UUID instance,\\n  or nil if parse fails.\\n  Grammar: https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#toString--\x22,(cljs.core.truth_(cljs.core.parse_uuid)?cljs.core.parse_uuid.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.infinite_QMARK_;},new cljs.core.Symbol(\x22cljs.core\x22,\x22infinite?\x22,\x22cljs.core/infinite?\x22,-1069503726,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22infinite?\x22,\x22infinite?\x22,-377355081,null),\x22cljs/core.cljs\x22,16,1,2404,2404,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null)),\x22Returns true for Infinity and -Infinity values.\x22,(cljs.core.truth_(cljs.core.infinite_QMARK_)?cljs.core.infinite_QMARK_.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.reader.read_string;},new cljs.core.Symbol(\x22cljs.reader\x22,\x22read-string\x22,\x22cljs.reader/read-string\x22,589673466,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22top-fn\x22,\x22top-fn\x22,-2056129173),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.reader\x22,\x22cljs.reader\x22,1327473948,null),new cljs.core.Symbol(null,\x22read-string\x22,\x22read-string\x22,-558384455,null),\x22cljs/reader.cljs\x22,18,new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22variadic?\x22,\x22variadic?\x22,584179762),false,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),2,new cljs.core.Keyword(null,\x22max-fixed-arity\x22,\x22max-fixed-arity\x22,-690205543),2,new cljs.core.Keyword(null,\x22method-params\x22,\x22method-params\x22,-980792179),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)], null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),new cljs.core.Keyword(null,\x22arglists-meta\x22,\x22arglists-meta\x22,1944829838),cljs.core.list(null,null)], null),1,174,174,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Reads one object from the string s.\\n   Returns nil when s is nil or empty.\\n\\n   Reads data in the edn format (subset of Clojure data):\\n   http://edn-format.org\\n\\n   opts is a map as per cljs.tools.reader.edn/read\x22,(cljs.core.truth_(cljs.reader.read_string)?cljs.reader.read_string.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.system_time;},new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22system-time\x22,\x22system-time\x22,1690633727,null),\x22cljs/core.cljs\x22,18,1,403,403,cljs.core.list(cljs.core.PersistentVector.EMPTY),\x22Returns highest resolution time offered by host in milliseconds.\x22,(cljs.core.truth_(cljs.core.system_time)?cljs.core.system_time.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.iteration;},new cljs.core.Symbol(\x22cljs.core\x22,\x22iteration\x22,\x22cljs.core/iteration\x22,405209769,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22added\x22,\x22added\x22,2057651688),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22top-fn\x22,\x22top-fn\x22,-2056129173),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[\x221.11\x22,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22iteration\x22,\x22iteration\x22,551579478,null),\x22cljs/core.cljs\x22,16,new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22variadic?\x22,\x22variadic?\x22,584179762),true,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),(1),new cljs.core.Keyword(null,\x22max-fixed-arity\x22,\x22max-fixed-arity\x22,-690205543),(1),new cljs.core.Keyword(null,\x22method-params\x22,\x22method-params\x22,-980792179),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22keys\x22,\x22keys\x22,1068423698),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null)], null),new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22some?\x22,\x22some?\x22,234752293,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),null], null)], null))], null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22keys\x22,\x22keys\x22,1068423698),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null)], null),new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22some?\x22,\x22some?\x22,234752293,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),null], null)], null)], null)),new cljs.core.Keyword(null,\x22arglists-meta\x22,\x22arglists-meta\x22,1944829838),cljs.core.list(null)], null),1,11113,11113,cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22keys\x22,\x22keys\x22,1068423698),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null)], null),new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22some?\x22,\x22some?\x22,234752293,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),null], null)], null)], null)),\x22Creates a seqable/reducible via repeated calls to step,\\n  a function of some (continuation token) \x27k\x27. The first call to step\\n  will be passed initk, returning \x27ret\x27. Iff (somef ret) is true,\\n  (vf ret) will be included in the iteration, else iteration will\\n  terminate and vf/kf will not be called. If (kf ret) is non-nil it\\n  will be passed to the next step call, else iteration will terminate.\\n  This can be used e.g. to consume APIs that return paginated or batched data.\\n   step - (possibly impure) fn of \x27k\x27 -\x3e \x27ret\x27\\n   :somef - fn of \x27ret\x27 -\x3e logical true/false, default \x27some?\x27\\n   :vf - fn of \x27ret\x27 -\x3e \x27v\x27, a value produced by the iteration, default \x27identity\x27\\n   :kf - fn of \x27ret\x27 -\x3e \x27next-k\x27 or nil (signaling \x27do not continue\x27), default \x27identity\x27\\n   :initk - the first value passed to step, default \x27nil\x27\\n  It is presumed that step with non-initk is unreproducible/non-idempotent.\\n  If step with initk is unreproducible it is on the consumer to not consume twice.\x22,(cljs.core.truth_(cljs.core.iteration)?cljs.core.iteration.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.random_uuid;},new cljs.core.Symbol(\x22cljs.core\x22,\x22random-uuid\x22,\x22cljs.core/random-uuid\x22,1256838686,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22random-uuid\x22,\x22random-uuid\x22,-1574409597,null),\x22cljs/core.cljs\x22,18,1,11745,11745,cljs.core.list(cljs.core.PersistentVector.EMPTY),\x22Returns a pseudo-randomly generated UUID instance (i.e. type 4).\x22,(cljs.core.truth_(cljs.core.random_uuid)?cljs.core.random_uuid.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})(),(function (){var ns__49611__auto__ \x3d scittle.impl.common.cljns;\nvar var__49612__auto__ \x3d new cljs.core.Var(function(){return cljs.core.update_vals;},new cljs.core.Symbol(\x22cljs.core\x22,\x22update-vals\x22,\x22cljs.core/update-vals\x22,-713262704,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22added\x22,\x22added\x22,2057651688),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[\x221.11\x22,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22update-vals\x22,\x22update-vals\x22,767480843,null),\x22cljs/core.cljs\x22,18,1,12071,12071,cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22m\x22,\x22m\x22,-1021758608,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null)], null)),\x22m f \x3d\x3e {k (f v) ...}\\n  Given a map m and a function f of 1-argument, returns a new map where the keys of m\\n  are mapped to result of applying f to the corresponding values of m.\x22,(cljs.core.truth_(cljs.core.update_vals)?cljs.core.update_vals.cljs$lang$test:null)]));\nvar val__49613__auto__ \x3d cljs.core.deref(var__49612__auto__);\nvar m__49614__auto__ \x3d cljs.core.meta(var__49612__auto__);\nvar name__49615__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})();\nvar new_m__49616__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49611__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49615__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49614__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49614__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49614__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49614__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49615__auto__,val__49613__auto__,new_m__49616__auto__);\n\n}\n}\n})()]),new cljs.core.Symbol(null,\x22goog.object\x22,\x22goog.object\x22,678593132,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Symbol(null,\x22set\x22,\x22set\x22,1945134081,null),scittle.core.goog$module$goog$object.set,new cljs.core.Symbol(null,\x22get\x22,\x22get\x22,-971253014,null),scittle.core.goog$module$goog$object.get], null),new cljs.core.Symbol(null,\x22goog.string\x22,\x22goog.string\x22,-2055533048,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Symbol(null,\x22format\x22,\x22format\x22,333606761,null),goog.string.format,new cljs.core.Symbol(null,\x22htmlEscape\x22,\x22htmlEscape\x22,-713788536,null),goog.string.htmlEscape], null),new cljs.core.Symbol(null,\x22goog.string.format\x22,\x22goog.string.format\x22,1243526036,null),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Symbol(null,\x22sci.core\x22,\x22sci.core\x22,-5619460,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Symbol(null,\x22stacktrace\x22,\x22stacktrace\x22,1544943133,null),sci.core.stacktrace,new cljs.core.Symbol(null,\x22format-stacktrace\x22,\x22format-stacktrace\x22,-1807675175,null),sci.core.format_stacktrace], null)], null);\nscittle.core.load_fn \x3d (function scittle$core$load_fn(p__50065){\nvar map__50067 \x3d p__50065;\nvar map__50067__$1 \x3d cljs.core.__destructure_map(map__50067);\nvar opts \x3d map__50067__$1;\nvar ctx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50067__$1,new cljs.core.Keyword(null,\x22ctx\x22,\x22ctx\x22,-493610118));\nvar temp__5804__auto__ \x3d (function (){var and__5023__auto__ \x3d typeof new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372).cljs$core$IFn$_invoke$arity$1(opts) \x3d\x3d\x3d \x27string\x27;\nif(and__5023__auto__){\nreturn scittle.core.goog$module$goog$object.get(globalThis,new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372).cljs$core$IFn$_invoke$arity$1(opts));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar lib \x3d temp__5804__auto__;\nreturn sci.core.add_js_lib_BANG_(ctx,new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372).cljs$core$IFn$_invoke$arity$1(opts),lib);\n} else {\nreturn null;\n}\n});\nsci.ctx_store.reset_ctx_BANG_(sci.core.init(new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),scittle.core.namespaces,new cljs.core.Keyword(null,\x22classes\x22,\x22classes\x22,2037804510),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Symbol(null,\x22js\x22,\x22js\x22,-886355190,null),globalThis,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),new cljs.core.Symbol(null,\x22Math\x22,\x22Math\x22,2033287572,null),Math], null),new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22clojure.pprint\x22,\x22clojure.pprint\x22,-547379114,null),new cljs.core.Symbol(null,\x22cljs.pprint\x22,\x22cljs.pprint\x22,-966900911,null)], null),new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22scittle\x22,\x22scittle\x22,-323967863),null,new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),null], null), null),new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334),scittle.core.load_fn], null)));\n(globalThis[\x22import\x22] \x3d eval(\x22(x) \x3d\x3e import(x)\x22));\nscittle.core._BANG_last_ns \x3d cljs.core.volatile_BANG_(cljs.core.deref(sci.core.ns));\nscittle.core._eval_string \x3d (function scittle$core$_eval_string(s){\nvar bm__49624__auto__ \x3d cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.core.ns,cljs.core.deref(scittle.core._BANG_last_ns)]);\nif(cljs.core.map_QMARK_(bm__49624__auto__)){\n} else {\nthrow (new Error(\x22Assert failed: (clojure.core/map? bm__49624__auto__)\x22));\n}\n\nsci.impl.vars.push_thread_bindings(bm__49624__auto__);\n\ntry{var rdr \x3d sci.core.reader(s);\nvar res \x3d null;\nwhile(true){\nvar form \x3d sci.core.parse_next.cljs$core$IFn$_invoke$arity$2(sci.ctx_store.get_ctx(),rdr);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.core\x22,\x22eof\x22,\x22sci.core/eof\x22,-808584945),form)){\ncljs.core.vreset_BANG_(scittle.core._BANG_last_ns,cljs.core.deref(sci.core.ns));\n\nreturn res;\n} else {\nvar G__50188 \x3d sci.core.eval_form(sci.ctx_store.get_ctx(),form);\nres \x3d G__50188;\ncontinue;\n}\nbreak;\n}\n}finally {sci.impl.vars.pop_thread_bindings();\n}});\nscittle.core.eval_string \x3d (function scittle$core$eval_string(s){\ntry{return scittle.core._eval_string(s);\n}catch (e50080){var e \x3d e50080;\nscittle.impl.error.error_handler(e,new cljs.core.Keyword(null,\x22src\x22,\x22src\x22,-1651076051).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\n\nthrow e;\n}});\ngoog.exportSymbol(\x27scittle.core.eval_string\x27, scittle.core.eval_string);\nscittle.core.register_plugin_BANG_ \x3d (function scittle$core$register_plugin_BANG_(_plug_in_name,sci_opts){\nreturn sci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic(sci.core.merge_opts,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci_opts], 0));\n});\nscittle.core.eval_script_tags_STAR_ \x3d (function scittle$core$eval_script_tags_STAR_(script_tags){\nvar temp__5804__auto__ \x3d cljs.core.first(script_tags);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar tag \x3d temp__5804__auto__;\nvar temp__5802__auto__ \x3d tag.getAttribute(\x22src\x22);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar src \x3d temp__5802__auto__;\nvar req \x3d (new XMLHttpRequest());\nvar _ \x3d req.open(\x22GET\x22,src,true);\nvar ___$1 \x3d scittle.core.goog$module$goog$object.set(req,\x22onload\x22,(function (){\nvar this$ \x3d this;\nvar response_50193 \x3d scittle.core.goog$module$goog$object.get(this$,\x22response\x22);\nscittle.core.goog$module$goog$object.set(tag,\x22scittle_id\x22,src);\n\nsci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22src\x22,\x22src\x22,-1651076051),src], null),response_50193], 0));\n\nvar bm__49624__auto___50194 \x3d cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.core.file,src]);\nif(cljs.core.map_QMARK_(bm__49624__auto___50194)){\n} else {\nthrow (new Error(\x22Assert failed: (clojure.core/map? bm__49624__auto__)\x22));\n}\n\nsci.impl.vars.push_thread_bindings(bm__49624__auto___50194);\n\ntry{scittle.core.eval_string(response_50193);\n}finally {sci.impl.vars.pop_thread_bindings();\n}\nvar G__50094 \x3d cljs.core.rest(script_tags);\nreturn (scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1 ? scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1(G__50094) : scittle.core.eval_script_tags_STAR_.call(null,G__50094));\n}));\nreturn req.send();\n} else {\nvar temp__5802__auto____$1 \x3d cljs.core.not_empty(clojure.string.trim(scittle.core.goog$module$goog$object.get(tag,\x22textContent\x22)));\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar text \x3d temp__5802__auto____$1;\nvar scittle_id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22scittle-tag-\x22));\nscittle.core.goog$module$goog$object.set(tag,\x22scittle_id\x22,scittle_id);\n\nsci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22src\x22,\x22src\x22,-1651076051),scittle_id], null),text], 0));\n\nvar bm__49624__auto___50196 \x3d cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.core.file,scittle_id]);\nif(cljs.core.map_QMARK_(bm__49624__auto___50196)){\n} else {\nthrow (new Error(\x22Assert failed: (clojure.core/map? bm__49624__auto__)\x22));\n}\n\nsci.impl.vars.push_thread_bindings(bm__49624__auto___50196);\n\ntry{scittle.core.eval_string(text);\n}finally {sci.impl.vars.pop_thread_bindings();\n}\nvar G__50101 \x3d cljs.core.rest(script_tags);\nreturn (scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1 ? scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1(G__50101) : scittle.core.eval_script_tags_STAR_.call(null,G__50101));\n} else {\nvar G__50102 \x3d cljs.core.rest(script_tags);\nreturn (scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1 ? scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1(G__50102) : scittle.core.eval_script_tags_STAR_.call(null,G__50102));\n}\n}\n} else {\nreturn null;\n}\n});\nscittle.core.eval_script_tags \x3d (function scittle$core$eval_script_tags(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___50197 \x3d arguments.length;\nvar i__5750__auto___50199 \x3d (0);\nwhile(true){\nif((i__5750__auto___50199 \x3c len__5749__auto___50197)){\nargs__5755__auto__.push((arguments[i__5750__auto___50199]));\n\nvar G__50200 \x3d (i__5750__auto___50199 + (1));\ni__5750__auto___50199 \x3d G__50200;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn scittle.core.eval_script_tags.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\ngoog.exportSymbol(\x27scittle.core.eval_script_tags\x27, scittle.core.eval_script_tags);\n\n(scittle.core.eval_script_tags.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__50117){\nvar vec__50118 \x3d p__50117;\nvar script_tags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50118,(0),null);\nvar script_tags__$1 \x3d (function (){var or__5025__auto__ \x3d script_tags;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn scittle.core.doc.querySelectorAll(\x22script[type\x3d\x27application/x-scittle\x27]\x22);\n}\n})();\nvar script_tags__$2 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.coll_QMARK_(script_tags__$1);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn (script_tags__$1[\x22length\x22]);\n}\n})())?script_tags__$1:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [script_tags__$1], null));\nreturn scittle.core.eval_script_tags_STAR_(script_tags__$2);\n}));\n\n(scittle.core.eval_script_tags.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(scittle.core.eval_script_tags.cljs$lang$applyTo \x3d (function (seq50107){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq50107));\n}));\n\nscittle.core.auto_load_disabled_QMARK_ \x3d cljs.core.volatile_BANG_(false);\n/**\n * By default, scittle evaluates script nodes on the DOMContentLoaded\n *   event using the eval-script-tags function. This function disables\n *   that behavior.\n */\nscittle.core.disable_auto_eval \x3d (function scittle$core$disable_auto_eval(){\nreturn cljs.core.vreset_BANG_(scittle.core.auto_load_disabled_QMARK_,true);\n});\ngoog.exportSymbol(\x27scittle.core.disable_auto_eval\x27, scittle.core.disable_auto_eval);\nif(cljs.core.truth_(scittle.core.doc)){\nscittle.core.doc.addEventListener(\x22DOMContentLoaded\x22,(function (){\nif(cljs.core.truth_(cljs.core.deref(scittle.core.auto_load_disabled_QMARK_))){\nreturn null;\n} else {\nreturn scittle.core.eval_script_tags();\n}\n}),false);\n} else {\n}\ncljs.core.enable_console_print_BANG_();\nsci.core.alter_var_root.cljs$core$IFn$_invoke$arity$2(sci.core.print_fn,cljs.core.constantly(cljs.core._STAR_print_fn_STAR_));\n");
SHADOW_ENV.evalLoad("goog.disposable.idisposable.js", true, "goog.provide(\x22goog.disposable.IDisposable\x22);\ngoog.disposable.IDisposable \x3d function() {\n};\ngoog.disposable.IDisposable.prototype.dispose \x3d goog.abstractMethod;\ngoog.disposable.IDisposable.prototype.isDisposed \x3d goog.abstractMethod;\n");
SHADOW_ENV.evalLoad("goog.disposable.dispose.js", true, "goog.loadModule(function(exports) {\n  function dispose(obj) {\n    if (obj \x26\x26 typeof obj.dispose \x3d\x3d \x22function\x22) {\n      obj.dispose();\n    }\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.dispose\x22);\n  goog.module.declareLegacyNamespace();\n  exports \x3d dispose;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.disposable.disposeall.js", true, "goog.loadModule(function(exports) {\n  function disposeAll(var_args) {\n    for (let i \x3d 0, len \x3d arguments.length; i \x3c len; ++i) {\n      const disposable \x3d arguments[i];\n      if (goog.isArrayLike(disposable)) {\n        disposeAll.apply(null, disposable);\n      } else {\n        dispose(disposable);\n      }\n    }\n  }\n  \x22use strict\x22;\n  goog.module(\x22goog.disposeAll\x22);\n  goog.module.declareLegacyNamespace();\n  const dispose \x3d goog.require(\x22goog.dispose\x22);\n  exports \x3d disposeAll;\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.disposable.disposable.js", true, "goog.provide(\x22goog.Disposable\x22);\ngoog.require(\x22goog.disposable.IDisposable\x22);\ngoog.require(\x22goog.dispose\x22);\ngoog.require(\x22goog.disposeAll\x22);\ngoog.Disposable \x3d function() {\n  this.creationStack;\n  if (goog.Disposable.MONITORING_MODE !\x3d goog.Disposable.MonitoringMode.OFF) {\n    if (goog.Disposable.INCLUDE_STACK_ON_CREATION) {\n      this.creationStack \x3d (new Error()).stack;\n    }\n    goog.Disposable.instances_[goog.getUid(this)] \x3d this;\n  }\n  this.disposed_ \x3d this.disposed_;\n  this.onDisposeCallbacks_ \x3d this.onDisposeCallbacks_;\n};\ngoog.Disposable.MonitoringMode \x3d {OFF:0, PERMANENT:1, INTERACTIVE:2};\ngoog.Disposable.MONITORING_MODE \x3d goog.define(\x22goog.Disposable.MONITORING_MODE\x22, 0);\ngoog.Disposable.INCLUDE_STACK_ON_CREATION \x3d goog.define(\x22goog.Disposable.INCLUDE_STACK_ON_CREATION\x22, true);\ngoog.Disposable.instances_ \x3d {};\ngoog.Disposable.getUndisposedObjects \x3d function() {\n  var ret \x3d [];\n  var id;\n  for (id in goog.Disposable.instances_) {\n    if (goog.Disposable.instances_.hasOwnProperty(id)) {\n      ret.push(goog.Disposable.instances_[Number(id)]);\n    }\n  }\n  return ret;\n};\ngoog.Disposable.clearUndisposedObjects \x3d function() {\n  goog.Disposable.instances_ \x3d {};\n};\ngoog.Disposable.prototype.disposed_ \x3d false;\ngoog.Disposable.prototype.onDisposeCallbacks_;\ngoog.Disposable.prototype.isDisposed \x3d function() {\n  return this.disposed_;\n};\ngoog.Disposable.prototype.getDisposed \x3d goog.Disposable.prototype.isDisposed;\ngoog.Disposable.prototype.dispose \x3d function() {\n  if (!this.disposed_) {\n    this.disposed_ \x3d true;\n    this.disposeInternal();\n    if (goog.Disposable.MONITORING_MODE !\x3d goog.Disposable.MonitoringMode.OFF) {\n      var uid \x3d goog.getUid(this);\n      if (goog.Disposable.MONITORING_MODE \x3d\x3d goog.Disposable.MonitoringMode.PERMANENT \x26\x26 !goog.Disposable.instances_.hasOwnProperty(uid)) {\n        throw new Error(this + \x22 did not call the goog.Disposable base \x22 + \x22constructor or was disposed of after a clearUndisposedObjects \x22 + \x22call\x22);\n      }\n      if (goog.Disposable.MONITORING_MODE !\x3d goog.Disposable.MonitoringMode.OFF \x26\x26 this.onDisposeCallbacks_ \x26\x26 this.onDisposeCallbacks_.length \x3e 0) {\n        throw new Error(this + \x22 did not empty its onDisposeCallbacks queue. This \x22 + \x22probably means it overrode dispose() or disposeInternal() \x22 + \x22without calling the superclass\x27 method.\x22);\n      }\n      delete goog.Disposable.instances_[uid];\n    }\n  }\n};\ngoog.Disposable.prototype.registerDisposable \x3d function(disposable) {\n  this.addOnDisposeCallback(goog.partial(goog.dispose, disposable));\n};\ngoog.Disposable.prototype.addOnDisposeCallback \x3d function(callback, opt_scope) {\n  if (this.disposed_) {\n    opt_scope !\x3d\x3d undefined ? callback.call(opt_scope) : callback();\n    return;\n  }\n  if (!this.onDisposeCallbacks_) {\n    this.onDisposeCallbacks_ \x3d [];\n  }\n  this.onDisposeCallbacks_.push(opt_scope !\x3d\x3d undefined ? goog.bind(callback, opt_scope) : callback);\n};\ngoog.Disposable.prototype.disposeInternal \x3d function() {\n  if (this.onDisposeCallbacks_) {\n    for (; this.onDisposeCallbacks_.length;) {\n      this.onDisposeCallbacks_.shift()();\n    }\n  }\n};\ngoog.Disposable.isDisposed \x3d function(obj) {\n  if (obj \x26\x26 typeof obj.isDisposed \x3d\x3d \x22function\x22) {\n    return obj.isDisposed();\n  }\n  return false;\n};\n");
SHADOW_ENV.evalLoad("goog.events.eventid.js", true, "goog.provide(\x22goog.events.EventId\x22);\ngoog.events.EventId \x3d function(eventId) {\n  this.id \x3d eventId;\n};\ngoog.events.EventId.prototype.toString \x3d function() {\n  return this.id;\n};\n");
SHADOW_ENV.evalLoad("goog.events.event.js", true, "goog.provide(\x22goog.events.Event\x22);\ngoog.require(\x22goog.Disposable\x22);\ngoog.require(\x22goog.events.EventId\x22);\ngoog.events.Event \x3d function(type, opt_target) {\n  this.type \x3d type instanceof goog.events.EventId ? String(type) : type;\n  this.target \x3d opt_target;\n  this.currentTarget \x3d this.target;\n  this.propagationStopped_ \x3d false;\n  this.defaultPrevented \x3d false;\n};\ngoog.events.Event.prototype.hasPropagationStopped \x3d function() {\n  return this.propagationStopped_;\n};\ngoog.events.Event.prototype.stopPropagation \x3d function() {\n  this.propagationStopped_ \x3d true;\n};\ngoog.events.Event.prototype.preventDefault \x3d function() {\n  this.defaultPrevented \x3d true;\n};\ngoog.events.Event.stopPropagation \x3d function(e) {\n  e.stopPropagation();\n};\ngoog.events.Event.preventDefault \x3d function(e) {\n  e.preventDefault();\n};\n");
SHADOW_ENV.evalLoad("goog.events.browserfeature.js", true, "goog.loadModule(function(exports) {\n  \x22use strict\x22;\n  goog.module(\x22goog.events.BrowserFeature\x22);\n  goog.module.declareLegacyNamespace();\n  const purify \x3d fn \x3d\x3e {\n    return {valueOf:fn}.valueOf();\n  };\n  exports \x3d {TOUCH_ENABLED:\x22ontouchstart\x22 in goog.global || !!(goog.global[\x22document\x22] \x26\x26 document.documentElement \x26\x26 \x22ontouchstart\x22 in document.documentElement) || !!(goog.global[\x22navigator\x22] \x26\x26 (goog.global[\x22navigator\x22][\x22maxTouchPoints\x22] || goog.global[\x22navigator\x22][\x22msMaxTouchPoints\x22])), POINTER_EVENTS:\x22PointerEvent\x22 in goog.global, MSPOINTER_EVENTS:false, PASSIVE_EVENTS:purify(function() {\n    if (!goog.global.addEventListener || !Object.defineProperty) {\n      return false;\n    }\n    var passive \x3d false;\n    var options \x3d Object.defineProperty({}, \x22passive\x22, {get:function() {\n      passive \x3d true;\n    }});\n    try {\n      const nullFunction \x3d () \x3d\x3e {\n      };\n      goog.global.addEventListener(\x22test\x22, nullFunction, options);\n      goog.global.removeEventListener(\x22test\x22, nullFunction, options);\n    } catch (e) {\n    }\n    return passive;\n  })};\n  return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.events.eventtypehelpers.js", true, "goog.provide(\x22goog.events.eventTypeHelpers\x22);\ngoog.require(\x22goog.events.BrowserFeature\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.events.eventTypeHelpers.getVendorPrefixedName \x3d function(eventName) {\n  return goog.userAgent.WEBKIT ? \x22webkit\x22 + eventName : eventName.toLowerCase();\n};\ngoog.events.eventTypeHelpers.getPointerFallbackEventName \x3d function(pointerEventName, msPointerEventName, fallbackEventName) {\n  if (goog.events.BrowserFeature.POINTER_EVENTS) {\n    return pointerEventName;\n  }\n  if (goog.events.BrowserFeature.MSPOINTER_EVENTS) {\n    return msPointerEventName;\n  }\n  return fallbackEventName;\n};\n");
SHADOW_ENV.evalLoad("goog.events.eventtype.js", true, "goog.provide(\x22goog.events.EventType\x22);\ngoog.require(\x22goog.events.eventTypeHelpers\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.events.EventType \x3d {CLICK:\x22click\x22, RIGHTCLICK:\x22rightclick\x22, DBLCLICK:\x22dblclick\x22, AUXCLICK:\x22auxclick\x22, MOUSEDOWN:\x22mousedown\x22, MOUSEUP:\x22mouseup\x22, MOUSEOVER:\x22mouseover\x22, MOUSEOUT:\x22mouseout\x22, MOUSEMOVE:\x22mousemove\x22, MOUSEENTER:\x22mouseenter\x22, MOUSELEAVE:\x22mouseleave\x22, MOUSECANCEL:\x22mousecancel\x22, SELECTIONCHANGE:\x22selectionchange\x22, SELECTSTART:\x22selectstart\x22, WHEEL:\x22wheel\x22, KEYPRESS:\x22keypress\x22, KEYDOWN:\x22keydown\x22, KEYUP:\x22keyup\x22, BLUR:\x22blur\x22, FOCUS:\x22focus\x22, DEACTIVATE:\x22deactivate\x22, FOCUSIN:\x22focusin\x22, FOCUSOUT:\x22focusout\x22, \nCHANGE:\x22change\x22, RESET:\x22reset\x22, SELECT:\x22select\x22, SUBMIT:\x22submit\x22, INPUT:\x22input\x22, PROPERTYCHANGE:\x22propertychange\x22, DRAGSTART:\x22dragstart\x22, DRAG:\x22drag\x22, DRAGENTER:\x22dragenter\x22, DRAGOVER:\x22dragover\x22, DRAGLEAVE:\x22dragleave\x22, DROP:\x22drop\x22, DRAGEND:\x22dragend\x22, TOUCHSTART:\x22touchstart\x22, TOUCHMOVE:\x22touchmove\x22, TOUCHEND:\x22touchend\x22, TOUCHCANCEL:\x22touchcancel\x22, BEFOREUNLOAD:\x22beforeunload\x22, CONSOLEMESSAGE:\x22consolemessage\x22, CONTEXTMENU:\x22contextmenu\x22, DEVICECHANGE:\x22devicechange\x22, DEVICEMOTION:\x22devicemotion\x22, DEVICEORIENTATION:\x22deviceorientation\x22, \nDOMCONTENTLOADED:\x22DOMContentLoaded\x22, ERROR:\x22error\x22, HELP:\x22help\x22, LOAD:\x22load\x22, LOSECAPTURE:\x22losecapture\x22, ORIENTATIONCHANGE:\x22orientationchange\x22, READYSTATECHANGE:\x22readystatechange\x22, RESIZE:\x22resize\x22, SCROLL:\x22scroll\x22, UNLOAD:\x22unload\x22, CANPLAY:\x22canplay\x22, CANPLAYTHROUGH:\x22canplaythrough\x22, DURATIONCHANGE:\x22durationchange\x22, EMPTIED:\x22emptied\x22, ENDED:\x22ended\x22, LOADEDDATA:\x22loadeddata\x22, LOADEDMETADATA:\x22loadedmetadata\x22, PAUSE:\x22pause\x22, PLAY:\x22play\x22, PLAYING:\x22playing\x22, PROGRESS:\x22progress\x22, RATECHANGE:\x22ratechange\x22, \nSEEKED:\x22seeked\x22, SEEKING:\x22seeking\x22, STALLED:\x22stalled\x22, SUSPEND:\x22suspend\x22, TIMEUPDATE:\x22timeupdate\x22, VOLUMECHANGE:\x22volumechange\x22, WAITING:\x22waiting\x22, SOURCEOPEN:\x22sourceopen\x22, SOURCEENDED:\x22sourceended\x22, SOURCECLOSED:\x22sourceclosed\x22, ABORT:\x22abort\x22, UPDATE:\x22update\x22, UPDATESTART:\x22updatestart\x22, UPDATEEND:\x22updateend\x22, HASHCHANGE:\x22hashchange\x22, PAGEHIDE:\x22pagehide\x22, PAGESHOW:\x22pageshow\x22, POPSTATE:\x22popstate\x22, COPY:\x22copy\x22, PASTE:\x22paste\x22, CUT:\x22cut\x22, BEFORECOPY:\x22beforecopy\x22, BEFORECUT:\x22beforecut\x22, BEFOREPASTE:\x22beforepaste\x22, \nONLINE:\x22online\x22, OFFLINE:\x22offline\x22, MESSAGE:\x22message\x22, CONNECT:\x22connect\x22, INSTALL:\x22install\x22, ACTIVATE:\x22activate\x22, FETCH:\x22fetch\x22, FOREIGNFETCH:\x22foreignfetch\x22, MESSAGEERROR:\x22messageerror\x22, STATECHANGE:\x22statechange\x22, UPDATEFOUND:\x22updatefound\x22, CONTROLLERCHANGE:\x22controllerchange\x22, ANIMATIONSTART:goog.events.eventTypeHelpers.getVendorPrefixedName(\x22AnimationStart\x22), ANIMATIONEND:goog.events.eventTypeHelpers.getVendorPrefixedName(\x22AnimationEnd\x22), ANIMATIONITERATION:goog.events.eventTypeHelpers.getVendorPrefixedName(\x22AnimationIteration\x22), \nTRANSITIONEND:goog.events.eventTypeHelpers.getVendorPrefixedName(\x22TransitionEnd\x22), POINTERDOWN:\x22pointerdown\x22, POINTERUP:\x22pointerup\x22, POINTERCANCEL:\x22pointercancel\x22, POINTERMOVE:\x22pointermove\x22, POINTEROVER:\x22pointerover\x22, POINTEROUT:\x22pointerout\x22, POINTERENTER:\x22pointerenter\x22, POINTERLEAVE:\x22pointerleave\x22, GOTPOINTERCAPTURE:\x22gotpointercapture\x22, LOSTPOINTERCAPTURE:\x22lostpointercapture\x22, MSGESTURECHANGE:\x22MSGestureChange\x22, MSGESTUREEND:\x22MSGestureEnd\x22, MSGESTUREHOLD:\x22MSGestureHold\x22, MSGESTURESTART:\x22MSGestureStart\x22, \nMSGESTURETAP:\x22MSGestureTap\x22, MSGOTPOINTERCAPTURE:\x22MSGotPointerCapture\x22, MSINERTIASTART:\x22MSInertiaStart\x22, MSLOSTPOINTERCAPTURE:\x22MSLostPointerCapture\x22, MSPOINTERCANCEL:\x22MSPointerCancel\x22, MSPOINTERDOWN:\x22MSPointerDown\x22, MSPOINTERENTER:\x22MSPointerEnter\x22, MSPOINTERHOVER:\x22MSPointerHover\x22, MSPOINTERLEAVE:\x22MSPointerLeave\x22, MSPOINTERMOVE:\x22MSPointerMove\x22, MSPOINTEROUT:\x22MSPointerOut\x22, MSPOINTEROVER:\x22MSPointerOver\x22, MSPOINTERUP:\x22MSPointerUp\x22, TEXT:\x22text\x22, TEXTINPUT:goog.userAgent.IE ? \x22textinput\x22 : \x22textInput\x22, \nCOMPOSITIONSTART:\x22compositionstart\x22, COMPOSITIONUPDATE:\x22compositionupdate\x22, COMPOSITIONEND:\x22compositionend\x22, BEFOREINPUT:\x22beforeinput\x22, FULLSCREENCHANGE:\x22fullscreenchange\x22, WEBKITBEGINFULLSCREEN:\x22webkitbeginfullscreen\x22, WEBKITENDFULLSCREEN:\x22webkitendfullscreen\x22, EXIT:\x22exit\x22, LOADABORT:\x22loadabort\x22, LOADCOMMIT:\x22loadcommit\x22, LOADREDIRECT:\x22loadredirect\x22, LOADSTART:\x22loadstart\x22, LOADSTOP:\x22loadstop\x22, RESPONSIVE:\x22responsive\x22, SIZECHANGED:\x22sizechanged\x22, UNRESPONSIVE:\x22unresponsive\x22, VISIBILITYCHANGE:\x22visibilitychange\x22, \nSTORAGE:\x22storage\x22, BEFOREPRINT:\x22beforeprint\x22, AFTERPRINT:\x22afterprint\x22, BEFOREINSTALLPROMPT:\x22beforeinstallprompt\x22, APPINSTALLED:\x22appinstalled\x22, CANCEL:\x22cancel\x22, FINISH:\x22finish\x22, REMOVE:\x22remove\x22};\n");
SHADOW_ENV.evalLoad("goog.events.browserevent.js", true, "goog.provide(\x22goog.events.BrowserEvent\x22);\ngoog.provide(\x22goog.events.BrowserEvent.MouseButton\x22);\ngoog.provide(\x22goog.events.BrowserEvent.PointerType\x22);\ngoog.require(\x22goog.debug\x22);\ngoog.require(\x22goog.events.Event\x22);\ngoog.require(\x22goog.events.EventType\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.events.BrowserEvent \x3d function(opt_e, opt_currentTarget) {\n  goog.events.BrowserEvent.base(this, \x22constructor\x22, opt_e ? opt_e.type : \x22\x22);\n  this.target \x3d null;\n  this.currentTarget \x3d null;\n  this.relatedTarget \x3d null;\n  this.offsetX \x3d 0;\n  this.offsetY \x3d 0;\n  this.clientX \x3d 0;\n  this.clientY \x3d 0;\n  this.screenX \x3d 0;\n  this.screenY \x3d 0;\n  this.button \x3d 0;\n  this.key \x3d \x22\x22;\n  this.keyCode \x3d 0;\n  this.charCode \x3d 0;\n  this.ctrlKey \x3d false;\n  this.altKey \x3d false;\n  this.shiftKey \x3d false;\n  this.metaKey \x3d false;\n  this.state \x3d null;\n  this.platformModifierKey \x3d false;\n  this.pointerId \x3d 0;\n  this.pointerType \x3d \x22\x22;\n  this.event_ \x3d null;\n  if (opt_e) {\n    this.init(opt_e, opt_currentTarget);\n  }\n};\ngoog.inherits(goog.events.BrowserEvent, goog.events.Event);\ngoog.events.BrowserEvent.USE_LAYER_XY_AS_OFFSET_XY \x3d goog.define(\x22goog.events.BrowserEvent.USE_LAYER_XY_AS_OFFSET_XY\x22, false);\ngoog.events.BrowserEvent.MouseButton \x3d {LEFT:0, MIDDLE:1, RIGHT:2, BACK:3, FORWARD:4};\ngoog.events.BrowserEvent.PointerType \x3d {MOUSE:\x22mouse\x22, PEN:\x22pen\x22, TOUCH:\x22touch\x22};\ngoog.events.BrowserEvent.IEButtonMap \x3d goog.debug.freeze([1, 4, 2]);\ngoog.events.BrowserEvent.IE_BUTTON_MAP \x3d goog.events.BrowserEvent.IEButtonMap;\ngoog.events.BrowserEvent.IE_POINTER_TYPE_MAP \x3d goog.debug.freeze({2:goog.events.BrowserEvent.PointerType.TOUCH, 3:goog.events.BrowserEvent.PointerType.PEN, 4:goog.events.BrowserEvent.PointerType.MOUSE});\ngoog.events.BrowserEvent.prototype.init \x3d function(e, opt_currentTarget) {\n  var type \x3d this.type \x3d e.type;\n  var relevantTouch \x3d e.changedTouches \x26\x26 e.changedTouches.length ? e.changedTouches[0] : null;\n  this.target \x3d e.target || e.srcElement;\n  this.currentTarget \x3d opt_currentTarget;\n  var relatedTarget \x3d e.relatedTarget;\n  if (relatedTarget) {\n    if (goog.userAgent.GECKO) {\n      if (!goog.reflect.canAccessProperty(relatedTarget, \x22nodeName\x22)) {\n        relatedTarget \x3d null;\n      }\n    }\n  } else if (type \x3d\x3d goog.events.EventType.MOUSEOVER) {\n    relatedTarget \x3d e.fromElement;\n  } else if (type \x3d\x3d goog.events.EventType.MOUSEOUT) {\n    relatedTarget \x3d e.toElement;\n  }\n  this.relatedTarget \x3d relatedTarget;\n  if (relevantTouch) {\n    this.clientX \x3d relevantTouch.clientX !\x3d\x3d undefined ? relevantTouch.clientX : relevantTouch.pageX;\n    this.clientY \x3d relevantTouch.clientY !\x3d\x3d undefined ? relevantTouch.clientY : relevantTouch.pageY;\n    this.screenX \x3d relevantTouch.screenX || 0;\n    this.screenY \x3d relevantTouch.screenY || 0;\n  } else {\n    if (goog.events.BrowserEvent.USE_LAYER_XY_AS_OFFSET_XY) {\n      this.offsetX \x3d e.layerX !\x3d\x3d undefined ? e.layerX : e.offsetX;\n      this.offsetY \x3d e.layerY !\x3d\x3d undefined ? e.layerY : e.offsetY;\n    } else {\n      this.offsetX \x3d goog.userAgent.WEBKIT || e.offsetX !\x3d\x3d undefined ? e.offsetX : e.layerX;\n      this.offsetY \x3d goog.userAgent.WEBKIT || e.offsetY !\x3d\x3d undefined ? e.offsetY : e.layerY;\n    }\n    this.clientX \x3d e.clientX !\x3d\x3d undefined ? e.clientX : e.pageX;\n    this.clientY \x3d e.clientY !\x3d\x3d undefined ? e.clientY : e.pageY;\n    this.screenX \x3d e.screenX || 0;\n    this.screenY \x3d e.screenY || 0;\n  }\n  this.button \x3d e.button;\n  this.keyCode \x3d e.keyCode || 0;\n  this.key \x3d e.key || \x22\x22;\n  this.charCode \x3d e.charCode || (type \x3d\x3d \x22keypress\x22 ? e.keyCode : 0);\n  this.ctrlKey \x3d e.ctrlKey;\n  this.altKey \x3d e.altKey;\n  this.shiftKey \x3d e.shiftKey;\n  this.metaKey \x3d e.metaKey;\n  this.platformModifierKey \x3d goog.userAgent.MAC ? e.metaKey : e.ctrlKey;\n  this.pointerId \x3d e.pointerId || 0;\n  this.pointerType \x3d goog.events.BrowserEvent.getPointerType_(e);\n  this.state \x3d e.state;\n  this.event_ \x3d e;\n  if (e.defaultPrevented) {\n    goog.events.BrowserEvent.superClass_.preventDefault.call(this);\n  }\n};\ngoog.events.BrowserEvent.prototype.isButton \x3d function(button) {\n  return this.event_.button \x3d\x3d button;\n};\ngoog.events.BrowserEvent.prototype.isMouseActionButton \x3d function() {\n  return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT) \x26\x26 !(goog.userAgent.MAC \x26\x26 this.ctrlKey);\n};\ngoog.events.BrowserEvent.prototype.stopPropagation \x3d function() {\n  goog.events.BrowserEvent.superClass_.stopPropagation.call(this);\n  if (this.event_.stopPropagation) {\n    this.event_.stopPropagation();\n  } else {\n    this.event_.cancelBubble \x3d true;\n  }\n};\ngoog.events.BrowserEvent.prototype.preventDefault \x3d function() {\n  goog.events.BrowserEvent.superClass_.preventDefault.call(this);\n  var be \x3d this.event_;\n  if (!be.preventDefault) {\n    be.returnValue \x3d false;\n  } else {\n    be.preventDefault();\n  }\n};\ngoog.events.BrowserEvent.prototype.getBrowserEvent \x3d function() {\n  return this.event_;\n};\ngoog.events.BrowserEvent.getPointerType_ \x3d function(e) {\n  if (typeof e.pointerType \x3d\x3d\x3d \x22string\x22) {\n    return e.pointerType;\n  }\n  return goog.events.BrowserEvent.IE_POINTER_TYPE_MAP[e.pointerType] || \x22\x22;\n};\n");
SHADOW_ENV.evalLoad("goog.events.listenable.js", true, "goog.provide(\x22goog.events.Listenable\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.EventLike\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.events.Listenable \x3d function() {\n};\ngoog.events.Listenable.IMPLEMENTED_BY_PROP \x3d \x22closure_listenable_\x22 + (Math.random() * 1e6 | 0);\ngoog.events.Listenable.addImplementation \x3d function(cls) {\n  cls.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP] \x3d true;\n};\ngoog.events.Listenable.isImplementedBy \x3d function(obj) {\n  return !!(obj \x26\x26 obj[goog.events.Listenable.IMPLEMENTED_BY_PROP]);\n};\ngoog.events.Listenable.prototype.listen \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.listenOnce \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.unlisten \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.unlistenByKey \x3d function(key) {\n};\ngoog.events.Listenable.prototype.dispatchEvent \x3d function(e) {\n};\ngoog.events.Listenable.prototype.removeAllListeners \x3d function(opt_type) {\n};\ngoog.events.Listenable.prototype.getParentEventTarget \x3d function() {\n};\ngoog.events.Listenable.prototype.fireListeners \x3d function(type, capture, eventObject) {\n};\ngoog.events.Listenable.prototype.getListeners \x3d function(type, capture) {\n};\ngoog.events.Listenable.prototype.getListener \x3d function(type, listener, capture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.hasListener \x3d function(opt_type, opt_capture) {\n};\n");
SHADOW_ENV.evalLoad("goog.events.listenablekey.js", true, "goog.provide(\x22goog.events.ListenableKey\x22);\ngoog.requireType(\x22goog.events.Listenable\x22);\ngoog.events.ListenableKey \x3d function() {\n};\ngoog.events.ListenableKey.counter_ \x3d 0;\ngoog.events.ListenableKey.reserveKey \x3d function() {\n  return ++goog.events.ListenableKey.counter_;\n};\ngoog.events.ListenableKey.prototype.src;\ngoog.events.ListenableKey.prototype.type;\ngoog.events.ListenableKey.prototype.listener;\ngoog.events.ListenableKey.prototype.capture;\ngoog.events.ListenableKey.prototype.handler;\ngoog.events.ListenableKey.prototype.key;\n");
SHADOW_ENV.evalLoad("goog.events.listener.js", true, "goog.provide(\x22goog.events.Listener\x22);\ngoog.require(\x22goog.events.ListenableKey\x22);\ngoog.requireType(\x22goog.events.Listenable\x22);\ngoog.events.Listener \x3d function(listener, proxy, src, type, capture, opt_handler) {\n  if (goog.events.Listener.ENABLE_MONITORING) {\n    this.creationStack \x3d (new Error()).stack;\n  }\n  this.listener \x3d listener;\n  this.proxy \x3d proxy;\n  this.src \x3d src;\n  this.type \x3d type;\n  this.capture \x3d !!capture;\n  this.handler \x3d opt_handler;\n  this.key \x3d goog.events.ListenableKey.reserveKey();\n  this.callOnce \x3d false;\n  this.removed \x3d false;\n};\ngoog.events.Listener.ENABLE_MONITORING \x3d goog.define(\x22goog.events.Listener.ENABLE_MONITORING\x22, false);\ngoog.events.Listener.prototype.creationStack;\ngoog.events.Listener.prototype.markAsRemoved \x3d function() {\n  this.removed \x3d true;\n  this.listener \x3d null;\n  this.proxy \x3d null;\n  this.src \x3d null;\n  this.handler \x3d null;\n};\n");
SHADOW_ENV.evalLoad("goog.events.listenermap.js", true, "goog.provide(\x22goog.events.ListenerMap\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.events.Listener\x22);\ngoog.require(\x22goog.object\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.Listenable\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.events.ListenerMap \x3d function(src) {\n  this.src \x3d src;\n  this.listeners \x3d {};\n  this.typeCount_ \x3d 0;\n};\ngoog.events.ListenerMap.prototype.getTypeCount \x3d function() {\n  return this.typeCount_;\n};\ngoog.events.ListenerMap.prototype.getListenerCount \x3d function() {\n  var count \x3d 0;\n  var type;\n  for (type in this.listeners) {\n    count \x3d count + this.listeners[type].length;\n  }\n  return count;\n};\ngoog.events.ListenerMap.prototype.add \x3d function(type, listener, callOnce, opt_useCapture, opt_listenerScope) {\n  var typeStr \x3d type.toString();\n  var listenerArray \x3d this.listeners[typeStr];\n  if (!listenerArray) {\n    listenerArray \x3d this.listeners[typeStr] \x3d [];\n    this.typeCount_++;\n  }\n  var listenerObj;\n  var index \x3d goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, opt_useCapture, opt_listenerScope);\n  if (index \x3e -1) {\n    listenerObj \x3d listenerArray[index];\n    if (!callOnce) {\n      listenerObj.callOnce \x3d false;\n    }\n  } else {\n    listenerObj \x3d new goog.events.Listener(listener, null, this.src, typeStr, !!opt_useCapture, opt_listenerScope);\n    listenerObj.callOnce \x3d callOnce;\n    listenerArray.push(listenerObj);\n  }\n  return listenerObj;\n};\ngoog.events.ListenerMap.prototype.remove \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n  var typeStr \x3d type.toString();\n  if (!(typeStr in this.listeners)) {\n    return false;\n  }\n  var listenerArray \x3d this.listeners[typeStr];\n  var index \x3d goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, opt_useCapture, opt_listenerScope);\n  if (index \x3e -1) {\n    var listenerObj \x3d listenerArray[index];\n    listenerObj.markAsRemoved();\n    goog.array.removeAt(listenerArray, index);\n    if (listenerArray.length \x3d\x3d 0) {\n      delete this.listeners[typeStr];\n      this.typeCount_--;\n    }\n    return true;\n  }\n  return false;\n};\ngoog.events.ListenerMap.prototype.removeByKey \x3d function(listener) {\n  var type \x3d listener.type;\n  if (!(type in this.listeners)) {\n    return false;\n  }\n  var removed \x3d goog.array.remove(this.listeners[type], listener);\n  if (removed) {\n    listener.markAsRemoved();\n    if (this.listeners[type].length \x3d\x3d 0) {\n      delete this.listeners[type];\n      this.typeCount_--;\n    }\n  }\n  return removed;\n};\ngoog.events.ListenerMap.prototype.removeAll \x3d function(opt_type) {\n  var typeStr \x3d opt_type \x26\x26 opt_type.toString();\n  var count \x3d 0;\n  var type;\n  for (type in this.listeners) {\n    if (!typeStr || type \x3d\x3d typeStr) {\n      var listenerArray \x3d this.listeners[type];\n      var i \x3d 0;\n      for (; i \x3c listenerArray.length; i++) {\n        ++count;\n        listenerArray[i].markAsRemoved();\n      }\n      delete this.listeners[type];\n      this.typeCount_--;\n    }\n  }\n  return count;\n};\ngoog.events.ListenerMap.prototype.getListeners \x3d function(type, capture) {\n  var listenerArray \x3d this.listeners[type.toString()];\n  var rv \x3d [];\n  if (listenerArray) {\n    var i \x3d 0;\n    for (; i \x3c listenerArray.length; ++i) {\n      var listenerObj \x3d listenerArray[i];\n      if (listenerObj.capture \x3d\x3d capture) {\n        rv.push(listenerObj);\n      }\n    }\n  }\n  return rv;\n};\ngoog.events.ListenerMap.prototype.getListener \x3d function(type, listener, capture, opt_listenerScope) {\n  var listenerArray \x3d this.listeners[type.toString()];\n  var i \x3d -1;\n  if (listenerArray) {\n    i \x3d goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, capture, opt_listenerScope);\n  }\n  return i \x3e -1 ? listenerArray[i] : null;\n};\ngoog.events.ListenerMap.prototype.hasListener \x3d function(opt_type, opt_capture) {\n  var hasType \x3d opt_type !\x3d\x3d undefined;\n  var typeStr \x3d hasType ? opt_type.toString() : \x22\x22;\n  var hasCapture \x3d opt_capture !\x3d\x3d undefined;\n  return goog.object.some(this.listeners, function(listenerArray, type) {\n    var i \x3d 0;\n    for (; i \x3c listenerArray.length; ++i) {\n      if ((!hasType || listenerArray[i].type \x3d\x3d typeStr) \x26\x26 (!hasCapture || listenerArray[i].capture \x3d\x3d opt_capture)) {\n        return true;\n      }\n    }\n    return false;\n  });\n};\ngoog.events.ListenerMap.findListenerIndex_ \x3d function(listenerArray, listener, opt_useCapture, opt_listenerScope) {\n  var i \x3d 0;\n  for (; i \x3c listenerArray.length; ++i) {\n    var listenerObj \x3d listenerArray[i];\n    if (!listenerObj.removed \x26\x26 listenerObj.listener \x3d\x3d listener \x26\x26 listenerObj.capture \x3d\x3d !!opt_useCapture \x26\x26 listenerObj.handler \x3d\x3d opt_listenerScope) {\n      return i;\n    }\n  }\n  return -1;\n};\n");
SHADOW_ENV.evalLoad("goog.events.events.js", true, "goog.provide(\x22goog.events\x22);\ngoog.provide(\x22goog.events.CaptureSimulationMode\x22);\ngoog.provide(\x22goog.events.Key\x22);\ngoog.provide(\x22goog.events.ListenableType\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.events.BrowserEvent\x22);\ngoog.require(\x22goog.events.BrowserFeature\x22);\ngoog.require(\x22goog.events.Listenable\x22);\ngoog.require(\x22goog.events.ListenerMap\x22);\ngoog.requireType(\x22goog.debug.ErrorHandler\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.EventLike\x22);\ngoog.requireType(\x22goog.events.EventWrapper\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.requireType(\x22goog.events.Listener\x22);\ngoog.events.Key;\ngoog.events.ListenableType;\ngoog.events.LISTENER_MAP_PROP_ \x3d \x22closure_lm_\x22 + (Math.random() * 1e6 | 0);\ngoog.events.onString_ \x3d \x22on\x22;\ngoog.events.onStringMap_ \x3d {};\ngoog.events.CaptureSimulationMode \x3d {OFF_AND_FAIL:0, OFF_AND_SILENT:1, ON:2};\ngoog.events.CAPTURE_SIMULATION_MODE \x3d goog.define(\x22goog.events.CAPTURE_SIMULATION_MODE\x22, 2);\ngoog.events.listenerCountEstimate_ \x3d 0;\ngoog.events.listen \x3d function(src, type, listener, opt_options, opt_handler) {\n  if (opt_options \x26\x26 opt_options.once) {\n    return goog.events.listenOnce(src, type, listener, opt_options, opt_handler);\n  }\n  if (Array.isArray(type)) {\n    var i \x3d 0;\n    for (; i \x3c type.length; i++) {\n      goog.events.listen(src, type[i], listener, opt_options, opt_handler);\n    }\n    return null;\n  }\n  listener \x3d goog.events.wrapListener(listener);\n  if (goog.events.Listenable.isImplementedBy(src)) {\n    var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n    return src.listen(type, listener, capture, opt_handler);\n  } else {\n    return goog.events.listen_(src, type, listener, false, opt_options, opt_handler);\n  }\n};\ngoog.events.listen_ \x3d function(src, type, listener, callOnce, opt_options, opt_handler) {\n  if (!type) {\n    throw new Error(\x22Invalid event type\x22);\n  }\n  var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n  var listenerMap \x3d goog.events.getListenerMap_(src);\n  if (!listenerMap) {\n    src[goog.events.LISTENER_MAP_PROP_] \x3d listenerMap \x3d new goog.events.ListenerMap(src);\n  }\n  var listenerObj \x3d listenerMap.add(type, listener, callOnce, capture, opt_handler);\n  if (listenerObj.proxy) {\n    return listenerObj;\n  }\n  var proxy \x3d goog.events.getProxy();\n  listenerObj.proxy \x3d proxy;\n  proxy.src \x3d src;\n  proxy.listener \x3d listenerObj;\n  if (src.addEventListener) {\n    if (!goog.events.BrowserFeature.PASSIVE_EVENTS) {\n      opt_options \x3d capture;\n    }\n    if (opt_options \x3d\x3d\x3d undefined) {\n      opt_options \x3d false;\n    }\n    src.addEventListener(type.toString(), proxy, opt_options);\n  } else if (src.attachEvent) {\n    src.attachEvent(goog.events.getOnString_(type.toString()), proxy);\n  } else if (src.addListener \x26\x26 src.removeListener) {\n    goog.asserts.assert(type \x3d\x3d\x3d \x22change\x22, \x22MediaQueryList only has a change event\x22);\n    src.addListener(proxy);\n  } else {\n    throw new Error(\x22addEventListener and attachEvent are unavailable.\x22);\n  }\n  goog.events.listenerCountEstimate_++;\n  return listenerObj;\n};\ngoog.events.getProxy \x3d function() {\n  const proxyCallbackFunction \x3d goog.events.handleBrowserEvent_;\n  const f \x3d function(eventObject) {\n    return proxyCallbackFunction.call(f.src, f.listener, eventObject);\n  };\n  return f;\n};\ngoog.events.listenOnce \x3d function(src, type, listener, opt_options, opt_handler) {\n  if (Array.isArray(type)) {\n    var i \x3d 0;\n    for (; i \x3c type.length; i++) {\n      goog.events.listenOnce(src, type[i], listener, opt_options, opt_handler);\n    }\n    return null;\n  }\n  listener \x3d goog.events.wrapListener(listener);\n  if (goog.events.Listenable.isImplementedBy(src)) {\n    var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n    return src.listenOnce(type, listener, capture, opt_handler);\n  } else {\n    return goog.events.listen_(src, type, listener, true, opt_options, opt_handler);\n  }\n};\ngoog.events.listenWithWrapper \x3d function(src, wrapper, listener, opt_capt, opt_handler) {\n  wrapper.listen(src, listener, opt_capt, opt_handler);\n};\ngoog.events.unlisten \x3d function(src, type, listener, opt_options, opt_handler) {\n  if (Array.isArray(type)) {\n    var i \x3d 0;\n    for (; i \x3c type.length; i++) {\n      goog.events.unlisten(src, type[i], listener, opt_options, opt_handler);\n    }\n    return null;\n  }\n  var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n  listener \x3d goog.events.wrapListener(listener);\n  if (goog.events.Listenable.isImplementedBy(src)) {\n    return src.unlisten(type, listener, capture, opt_handler);\n  }\n  if (!src) {\n    return false;\n  }\n  var listenerMap \x3d goog.events.getListenerMap_(src);\n  if (listenerMap) {\n    var listenerObj \x3d listenerMap.getListener(type, listener, capture, opt_handler);\n    if (listenerObj) {\n      return goog.events.unlistenByKey(listenerObj);\n    }\n  }\n  return false;\n};\ngoog.events.unlistenByKey \x3d function(key) {\n  if (typeof key \x3d\x3d\x3d \x22number\x22) {\n    return false;\n  }\n  var listener \x3d key;\n  if (!listener || listener.removed) {\n    return false;\n  }\n  var src \x3d listener.src;\n  if (goog.events.Listenable.isImplementedBy(src)) {\n    return src.unlistenByKey(listener);\n  }\n  var type \x3d listener.type;\n  var proxy \x3d listener.proxy;\n  if (src.removeEventListener) {\n    src.removeEventListener(type, proxy, listener.capture);\n  } else if (src.detachEvent) {\n    src.detachEvent(goog.events.getOnString_(type), proxy);\n  } else if (src.addListener \x26\x26 src.removeListener) {\n    src.removeListener(proxy);\n  }\n  goog.events.listenerCountEstimate_--;\n  var listenerMap \x3d goog.events.getListenerMap_(src);\n  if (listenerMap) {\n    listenerMap.removeByKey(listener);\n    if (listenerMap.getTypeCount() \x3d\x3d 0) {\n      listenerMap.src \x3d null;\n      src[goog.events.LISTENER_MAP_PROP_] \x3d null;\n    }\n  } else {\n    listener.markAsRemoved();\n  }\n  return true;\n};\ngoog.events.unlistenWithWrapper \x3d function(src, wrapper, listener, opt_capt, opt_handler) {\n  wrapper.unlisten(src, listener, opt_capt, opt_handler);\n};\ngoog.events.removeAll \x3d function(obj, opt_type) {\n  if (!obj) {\n    return 0;\n  }\n  if (goog.events.Listenable.isImplementedBy(obj)) {\n    return obj.removeAllListeners(opt_type);\n  }\n  var listenerMap \x3d goog.events.getListenerMap_(obj);\n  if (!listenerMap) {\n    return 0;\n  }\n  var count \x3d 0;\n  var typeStr \x3d opt_type \x26\x26 opt_type.toString();\n  var type;\n  for (type in listenerMap.listeners) {\n    if (!typeStr || type \x3d\x3d typeStr) {\n      var listeners \x3d listenerMap.listeners[type].concat();\n      var i \x3d 0;\n      for (; i \x3c listeners.length; ++i) {\n        if (goog.events.unlistenByKey(listeners[i])) {\n          ++count;\n        }\n      }\n    }\n  }\n  return count;\n};\ngoog.events.getListeners \x3d function(obj, type, capture) {\n  if (goog.events.Listenable.isImplementedBy(obj)) {\n    return obj.getListeners(type, capture);\n  } else {\n    if (!obj) {\n      return [];\n    }\n    var listenerMap \x3d goog.events.getListenerMap_(obj);\n    return listenerMap ? listenerMap.getListeners(type, capture) : [];\n  }\n};\ngoog.events.getListener \x3d function(src, type, listener, opt_capt, opt_handler) {\n  type \x3d type;\n  listener \x3d goog.events.wrapListener(listener);\n  var capture \x3d !!opt_capt;\n  if (goog.events.Listenable.isImplementedBy(src)) {\n    return src.getListener(type, listener, capture, opt_handler);\n  }\n  if (!src) {\n    return null;\n  }\n  var listenerMap \x3d goog.events.getListenerMap_(src);\n  if (listenerMap) {\n    return listenerMap.getListener(type, listener, capture, opt_handler);\n  }\n  return null;\n};\ngoog.events.hasListener \x3d function(obj, opt_type, opt_capture) {\n  if (goog.events.Listenable.isImplementedBy(obj)) {\n    return obj.hasListener(opt_type, opt_capture);\n  }\n  var listenerMap \x3d goog.events.getListenerMap_(obj);\n  return !!listenerMap \x26\x26 listenerMap.hasListener(opt_type, opt_capture);\n};\ngoog.events.expose \x3d function(e) {\n  var str \x3d [];\n  var key;\n  for (key in e) {\n    if (e[key] \x26\x26 e[key].id) {\n      str.push(key + \x22 \\x3d \x22 + e[key] + \x22 (\x22 + e[key].id + \x22)\x22);\n    } else {\n      str.push(key + \x22 \\x3d \x22 + e[key]);\n    }\n  }\n  return str.join(\x22\\n\x22);\n};\ngoog.events.getOnString_ \x3d function(type) {\n  if (type in goog.events.onStringMap_) {\n    return goog.events.onStringMap_[type];\n  }\n  return goog.events.onStringMap_[type] \x3d goog.events.onString_ + type;\n};\ngoog.events.fireListeners \x3d function(obj, type, capture, eventObject) {\n  if (goog.events.Listenable.isImplementedBy(obj)) {\n    return obj.fireListeners(type, capture, eventObject);\n  }\n  return goog.events.fireListeners_(obj, type, capture, eventObject);\n};\ngoog.events.fireListeners_ \x3d function(obj, type, capture, eventObject) {\n  var retval \x3d true;\n  var listenerMap \x3d goog.events.getListenerMap_(obj);\n  if (listenerMap) {\n    var listenerArray \x3d listenerMap.listeners[type.toString()];\n    if (listenerArray) {\n      listenerArray \x3d listenerArray.concat();\n      var i \x3d 0;\n      for (; i \x3c listenerArray.length; i++) {\n        var listener \x3d listenerArray[i];\n        if (listener \x26\x26 listener.capture \x3d\x3d capture \x26\x26 !listener.removed) {\n          var result \x3d goog.events.fireListener(listener, eventObject);\n          retval \x3d retval \x26\x26 result !\x3d\x3d false;\n        }\n      }\n    }\n  }\n  return retval;\n};\ngoog.events.fireListener \x3d function(listener, eventObject) {\n  var listenerFn \x3d listener.listener;\n  var listenerHandler \x3d listener.handler || listener.src;\n  if (listener.callOnce) {\n    goog.events.unlistenByKey(listener);\n  }\n  return listenerFn.call(listenerHandler, eventObject);\n};\ngoog.events.getTotalListenerCount \x3d function() {\n  return goog.events.listenerCountEstimate_;\n};\ngoog.events.dispatchEvent \x3d function(src, e) {\n  goog.asserts.assert(goog.events.Listenable.isImplementedBy(src), \x22Can not use goog.events.dispatchEvent with \x22 + \x22non-goog.events.Listenable instance.\x22);\n  return src.dispatchEvent(e);\n};\ngoog.events.protectBrowserEventEntryPoint \x3d function(errorHandler) {\n  goog.events.handleBrowserEvent_ \x3d errorHandler.protectEntryPoint(goog.events.handleBrowserEvent_);\n};\ngoog.events.handleBrowserEvent_ \x3d function(listener, opt_evt) {\n  if (listener.removed) {\n    return true;\n  }\n  return goog.events.fireListener(listener, new goog.events.BrowserEvent(opt_evt, this));\n};\ngoog.events.markIeEvent_ \x3d function(e) {\n  var useReturnValue \x3d false;\n  if (e.keyCode \x3d\x3d 0) {\n    try {\n      e.keyCode \x3d -1;\n      return;\n    } catch (ex) {\n      useReturnValue \x3d true;\n    }\n  }\n  if (useReturnValue || e.returnValue \x3d\x3d undefined) {\n    e.returnValue \x3d true;\n  }\n};\ngoog.events.isMarkedIeEvent_ \x3d function(e) {\n  return e.keyCode \x3c 0 || e.returnValue !\x3d undefined;\n};\ngoog.events.uniqueIdCounter_ \x3d 0;\ngoog.events.getUniqueId \x3d function(identifier) {\n  return identifier + \x22_\x22 + goog.events.uniqueIdCounter_++;\n};\ngoog.events.getListenerMap_ \x3d function(src) {\n  var listenerMap \x3d src[goog.events.LISTENER_MAP_PROP_];\n  return listenerMap instanceof goog.events.ListenerMap ? listenerMap : null;\n};\ngoog.events.LISTENER_WRAPPER_PROP_ \x3d \x22__closure_events_fn_\x22 + (Math.random() * 1e9 \x3e\x3e\x3e 0);\ngoog.events.wrapListener \x3d function(listener) {\n  goog.asserts.assert(listener, \x22Listener can not be null.\x22);\n  if (typeof listener \x3d\x3d\x3d \x22function\x22) {\n    return listener;\n  }\n  goog.asserts.assert(listener.handleEvent, \x22An object listener must have handleEvent method.\x22);\n  if (!listener[goog.events.LISTENER_WRAPPER_PROP_]) {\n    listener[goog.events.LISTENER_WRAPPER_PROP_] \x3d function(e) {\n      return listener.handleEvent(e);\n    };\n  }\n  return listener[goog.events.LISTENER_WRAPPER_PROP_];\n};\ngoog.debug.entryPointRegistry.register(function(transformer) {\n  goog.events.handleBrowserEvent_ \x3d transformer(goog.events.handleBrowserEvent_);\n});\n");
SHADOW_ENV.evalLoad("shadow.module.scittle.append.js", false, "\nshadow.cljs.devtools.client.env.module_loaded(\x27scittle\x27);\n;\nSHADOW_ENV.setLoaded(\x22goog.base.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.debug.error.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.nodetype.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.asserts.asserts.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.reflect.reflect.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.long.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.integer.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.htmlelement.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.tagname.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.element.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.asserts.dom.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.asserts.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.functions.functions.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.typedstring.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.const.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.trustedtypes.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safescript.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.fs.url.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.fs.blob.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.trustedresourceurl.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.internal.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safeurl.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safestyle.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.object.object.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safestylesheet.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.flags.flags.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.useragent.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.util.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.highentropy.highentropyvalue.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.chromium_rebrands.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.highentropy.highentropydata.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.browser.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.array.array.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.tags.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safehtml.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.uncheckedconversions.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.safe.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.string.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.collections.maps.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.structs.structs.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.uri.utils.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.uri.uri.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.stringbuffer.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.defaults.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.prefs.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.context.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.string.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.stacktrace.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.hints.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.engine.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.platform.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.useragent.useragent.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.set.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.data.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.version.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.pprint.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.util.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.format.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.reporter.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.walk.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.munging.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.helpers.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.state.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.templating.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.printing.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.markup.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.budgeting.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.core.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.debug.entrypointregistry.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.browserfeature.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.math.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.coordinate.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.size.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.dom.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.async.nexttick.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.async.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.toolbox.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.core.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.preload.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.useragent.product.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.json.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.env.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.console.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.inputtype.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.collections.iters.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.debug.errorcontext.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.debug.debug.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.iter.iter.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.iter.es6.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.structs.map.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.window.window.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.forms.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.classlist.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.vendor.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.box.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.irect.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.rect.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.style.style.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.dom.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.buffers.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.dispatch.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.channels.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.timers.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.ioc_helpers.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.util.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.object.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.animate.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.util.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.delimiters.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.caching.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.eq.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.types.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.impl.decoder.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.impl.reader.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.handlers.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.impl.writer.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.js\x22);\nSHADOW_ENV.setLoaded(\x22cognitect.transit.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.api.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.shared.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.core.protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.cljs.js_builtins.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.datafy.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.spec.gen.alpha.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.spec.alpha.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.writer.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.stringformat.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.repl.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.obj_support.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.tap_support.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.eval_support.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.shared.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.hud.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.websocket.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.browser.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.impl.utils.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.reader_types.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.impl.inspect.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.impl.errors.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.impl.commons.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.edn.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.reader.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.ns_parser.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tagged_literals.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.macros.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.read_fn.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.syntax_quote.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.parser.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.core.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.ctx_store.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.types.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.macros.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.unrestrict.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.vars.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.lang.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.callstack.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.utils.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.deftype.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.interop.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.hierarchies.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.multimethods.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.records.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.faster.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.resolve.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.evaluator.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.fns.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.parser.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.load.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.analyzer.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.cljs.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.copy_vars.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.core_protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.destructure.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.doseq_macro.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.for_macro.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.io.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.macroexpand.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.read.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.reify.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.namespaces.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.opts.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.interpreter.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.core.js\x22);\nSHADOW_ENV.setLoaded(\x22scittle.impl.common.js\x22);\nSHADOW_ENV.setLoaded(\x22scittle.impl.error.js\x22);\nSHADOW_ENV.setLoaded(\x22scittle.core.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.disposable.idisposable.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.disposable.dispose.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.disposable.disposeall.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.disposable.disposable.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.eventid.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.event.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.browserfeature.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.eventtypehelpers.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.eventtype.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.browserevent.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.listenable.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.listenablekey.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.listener.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.listenermap.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.events.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.module.scittle.append.js\x22);");